
openssl_pkcs7_verify 함수를 사용하여 S/MIME 메시지 인증서를 검증하는 방법은 다음과 같습니다.
1. 인증서와 메시지의 PEM 형식으로 변환합니다.
2. 인증서를 검증하는 데 필요한 옵션을 설정합니다.
3. openssl_pkcs7_verify 함수를 호출하여 인증서를 검증합니다.
#hostingforum.kr
php
// 인증서와 메시지의 PEM 형식으로 변환
$cert = file_get_contents('인증서.pem');
$message = file_get_contents('메시지.pem');
// 인증서를 검증하는 데 필요한 옵션을 설정
$flags = PKCS7_NOVERIFY | PKCS7_NOINTERN | PKCS7_NOCHAIN;
// openssl_pkcs7_verify 함수를 호출하여 인증서를 검증
$result = openssl_pkcs7_verify($message, $flags, $cert);
에러 메시지 'error:0906A065:PEM routines:PEM_read_bio:no start line'이 발생하는 경우는 인증서 또는 메시지의 PEM 형식이 올바르지 않은 경우입니다.
해결 방법은 다음과 같습니다.
1. 인증서와 메시지의 PEM 형식을 확인합니다.
2. 인증서와 메시지의 PEM 형식을 올바르게 변환합니다.
3. openssl_pkcs7_verify 함수를 호출하여 인증서를 검증합니다.
#hostingforum.kr
php
// 인증서와 메시지의 PEM 형식으로 변환
$cert = file_get_contents('인증서.pem');
$message = file_get_contents('메시지.pem');
// 인증서를 검증하는 데 필요한 옵션을 설정
$flags = PKCS7_NOVERIFY | PKCS7_NOINTERN | PKCS7_NOCHAIN;
// PEM 형식을 올바르게 변환
$cert = openssl_pkey_get_private($cert);
$message = openssl_pkcs7_read($message, $flags);
// openssl_pkcs7_verify 함수를 호출하여 인증서를 검증
$result = openssl_pkcs7_verify($message, $flags, $cert);
이러한 해결 방법을 통해 인증서와 메시지의 PEM 형식을 올바르게 변환하고, openssl_pkcs7_verify 함수를 호출하여 인증서를 검증할 수 있습니다.
2025-04-05 16:13