라이브러리
[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 서명이나 암호화된 메시지를 검증할 때 더 세부적인 제어가 가능합니다.
-
- 나우호스팅 @pcs8404
-
호스팅포럼 화이팅!
댓글목록
등록된 댓글이 없습니다.