
openssl_x509_checkpurpose 함수는 SSL/TLS 인증서의 목적을 확인하는 함수로, 반환값은 다음과 같습니다.
- 1 : 인증서의 목적이 일치합니다.
- 0 : 인증서의 목적이 일치하지 않습니다.
- -1 : 인증서가 유효하지 않습니다.
- -2 : 인증서의 목적을 확인하는 데 실패했습니다.
이 함수를 사용할 때 필요한 인자와 옵션은 다음과 같습니다.
- x509 : 인증서의 구조체 포인터
- purpose : 인증서의 목적을 확인할 목적 (예: SSL_CLIENT_AUTH, SSL_SERVER_AUTH 등)
- flags : 옵션 (예: no_alt_chains, no_check_crl 등)
- certinfo : 인증서 정보를 저장할 구조체 포인터 (옵션)
예를 들어, SSL_CLIENT_AUTH 인증서의 목적을 확인하는 코드는 다음과 같습니다.
#hostingforum.kr
php
$x509 = openssl_x509_read("인증서 파일 경로");
$purpose = X509_PURPOSE_SSL_CLIENT_AUTH;
$flags = 0;
$certinfo = null;
$result = openssl_x509_checkpurpose($x509, $purpose, $flags, $certinfo);
if ($result == 1) {
echo "인증서의 목적이 일치합니다.";
} elseif ($result == 0) {
echo "인증서의 목적이 일치하지 않습니다.";
} elseif ($result == -1) {
echo "인증서가 유효하지 않습니다.";
} elseif ($result == -2) {
echo "인증서의 목적을 확인하는 데 실패했습니다.";
}
이 코드는 SSL_CLIENT_AUTH 인증서의 목적을 확인하고, 결과를 출력합니다.
2025-04-24 05:37