라이브러리

[PHP] openssl_cms_verify - CMS 서명 확인




openssl_cms_verify란?

`openssl_cms_verify`는 PHP의 OpenSSL 확장에서 제공하는 함수로, CMS (Content-Encryption Message Syntax) 서명이나 암호화된 메시지를 검증하는 데 사용됩니다. CMS는 PKCS#7 (Public-Key Cryptography Standard #7)에서 정의된 메시지 형식입니다.

openssl_cms_verify 함수의 사용법

`openssl_cms_verify` 함수는 다음과 같은 형식으로 사용됩니다.

#hostingforum.kr
php

openssl_cms_verify($cms_data, $cert_file, $cert_pass, $chain_file, $policy_file, $inhibit_any_policy, $inhibit_map, $extra_certs, $extra_crls, $extra_options)



* `$cms_data`: CMS 서명이나 암호화된 메시지 데이터
* `$cert_file`: 검증할 인증서 파일 경로
* `$cert_pass`: 인증서 비밀번호 (선택 사항)
* `$chain_file`: 인증서 체인 파일 경로 (선택 사항)
* `$policy_file`: 정책 파일 경로 (선택 사항)
* `$inhibit_any_policy`: 정책 거부 목록 (선택 사항)
* `$inhibit_map`: 정책 거부 맵 (선택 사항)
* `$extra_certs`: 추가 인증서 목록 (선택 사항)
* `$extra_crls`: 추가 CRL 목록 (선택 사항)
* `$extra_options`: 추가 옵션 (선택 사항)

예제

다음 예제는 `openssl_cms_verify` 함수를 사용하여 CMS 서명된 메시지를 검증하는 방법을 보여줍니다.

#hostingforum.kr
php

<?php



// CMS 서명된 메시지 데이터

$cms_data = file_get_contents('example.cms');



// 검증할 인증서 파일 경로

$cert_file = 'example.crt';



// 인증서 비밀번호 (선택 사항)

$cert_pass = 'password';



// 검증 결과

$result = openssl_cms_verify($cms_data, $cert_file, $cert_pass);



// 검증 결과를 출력

if ($result) {

    echo '서명이 유효합니다.';

} else {

    echo '서명이 유효하지 않습니다.';

}



?>



추가 옵션

`openssl_cms_verify` 함수에 추가 옵션을 전달할 수 있습니다. 예를 들어, 정책 거부 목록을 전달할 수 있습니다.

#hostingforum.kr
php

$policy_id = '1.3.6.1.4.1.311.10.3.5';

$inhibit_any_policy = array($policy_id);



$result = openssl_cms_verify($cms_data, $cert_file, $cert_pass, null, null, $inhibit_any_policy);



이러한 옵션을 사용하여 CMS 서명이나 암호화된 메시지를 검증할 때 더 세부적인 제어가 가능합니다.
  • profile_image
    나우호스팅 @pcs8404 

    호스팅포럼 화이팅!

    댓글목록

    등록된 댓글이 없습니다.

  • 전체 10,077건 / 351 페이지

검색

게시물 검색