라이브러리
[PHP] openssl_pkcs7_verify - S/MIME 서명 메시지의 서명을 확인합니다.
openssl_pkcs7_verify 함수
`openssl_pkcs7_verify` 함수는 PKCS#7 형식의 디지털 서명이 포함된 메시지를 검증하는 데 사용됩니다. 이 함수는 메시지의 유효성을 검증하고, 서명이 유효한지 확인합니다.
함수 구조
`openssl_pkcs7_verify` 함수의 구조는 다음과 같습니다.
#hostingforum.kr
php
bool openssl_pkcs7_verify(string $signed_data, string $cert_file, string $cert_chain_file, string $untrusted_cert_file, string $mdalgo, string $purpose)
* `$signed_data`: 서명된 메시지의 내용을 포함하는 문자열입니다.
* `$cert_file`: 서명된 메시지에 포함된 서명의 공개 키를 포함하는 인증서 파일의 경로입니다.
* `$cert_chain_file`: 서명된 메시지에 포함된 서명의 공개 키를 포함하는 인증서 체인 파일의 경로입니다.
* `$untrusted_cert_file`: 서명된 메시지에 포함된 서명의 공개 키를 포함하는 인증서 체인 파일의 경로입니다. (선택 사항)
* `$mdalgo`: 사용할 해시 알고리즘을 지정하는 문자열입니다. (예: 'sha256')
* `$purpose`: 검증할 목적을 지정하는 문자열입니다. (예: 'verify')
예제
다음 예제에서는 `openssl_pkcs7_verify` 함수를 사용하여 서명된 메시지를 검증하는 방법을 보여줍니다.
#hostingforum.kr
php
<?php
// 서명된 메시지의 내용
$signed_data = "Hello, World!";
// 서명된 메시지에 포함된 서명의 공개 키를 포함하는 인증서 파일의 경로
$cert_file = "path/to/cert.pem";
// 서명된 메시지에 포함된 서명의 공개 키를 포함하는 인증서 체인 파일의 경로
$cert_chain_file = "path/to/cert_chain.pem";
// 사용할 해시 알고리즘
$mdalgo = 'sha256';
// 검증할 목적
$purpose = 'verify';
// 서명된 메시지를 검증합니다.
$result = openssl_pkcs7_verify($signed_data, $cert_file, $cert_chain_file, null, $mdalgo, $purpose);
if ($result === true) {
echo "서명된 메시지는 유효합니다.";
} elseif ($result === false) {
echo "서명된 메시지는 유효하지 않습니다.";
} else {
echo "서명된 메시지는 유효하지 않습니다.";
}
?>
이 예제에서는 `openssl_pkcs7_verify` 함수를 사용하여 서명된 메시지를 검증합니다. `$result` 변수는 함수의 반환 값을 저장합니다. `$result` 변수의 값이 `true`이면 서명된 메시지는 유효합니다. `$result` 변수의 값이 `false`이면 서명된 메시지는 유효하지 않습니다. `$result` 변수의 값이 `null`이면 서명된 메시지는 유효하지 않습니다.
참고
`openssl_pkcs7_verify` 함수는 PKCS#7 형식의 디지털 서명이 포함된 메시지를 검증하는 데 사용됩니다. 이 함수는 메시지의 유효성을 검증하고, 서명이 유효한지 확인합니다. 이 함수는 서명된 메시지의 내용, 서명된 메시지에 포함된 서명의 공개 키를 포함하는 인증서 파일의 경로, 서명된 메시지에 포함된 서명의 공개 키를 포함하는 인증서 체인 파일의 경로, 사용할 해시 알고리즘, 검증할 목적을 지정해야 합니다.
-
- 나우호스팅 @pcs8404
-
호스팅포럼 화이팅!
댓글목록
등록된 댓글이 없습니다.