라이브러리
[PHP] openssl_x509_checkpurpose - 인증서를 특정 목적으로 사용할 수 있는지 확인합니다.
openssl_x509_checkpurpose 함수
`openssl_x509_checkpurpose` 함수는 SSL/TLS 인증서의 유효성을 검사하는 함수입니다. 이 함수는 인증서의 목적을 확인하고, 인증서가 해당 목적을 위해 유효한지 여부를 반환합니다.
함수 인수
`openssl_x509_checkpurpose` 함수는 총 9개의 인수를 받습니다.
* `$cert`: 인증서의 내용
* `$purpose`: 인증서의 목적
* `$method`: 인증서의 유효성을 검사하는 방법
* `$map_trust`: 신뢰할 수 있는 인증서의 목록
* `$map_verify`: 인증서를 검증하는 방법
* `$map_ext`: 확장 필드의 목록
* `$map_issuer`: 인증서 발급자의 목록
* `$map_subject`: 인증서 소유자의 목록
* `$map_x509v3_ext_map`: X.509 v3 확장 필드의 목록
함수 반환
`openssl_x509_checkpurpose` 함수는 총 3개의 반환 값을 반환합니다.
* `1`: 인증서가 유효합니다.
* `0`: 인증서가 유효하지 않습니다.
* `-1`: 인증서가 유효하지 않습니다. (에러가 발생했습니다.)
예제
다음은 `openssl_x509_checkpurpose` 함수를 사용하는 예제입니다.
#hostingforum.kr
php
<?php
// 인증서 내용
$cert = "
-----BEGIN CERTIFICATE-----
MIIDdTCCAl2gAwIBAgIVAMIIuj8V3L8X8qPzD2bV7t5j6W4wDQYJKoZIhvcNAQEL
BQAwTjELMAkGA1UEBhMCVVMxHTAbBgNVBAgMVFdvcmdlbWVudGlhbzEWMBQGA1UE
BwwNQ29ycG9yYXRpb24xGDAWBgNVBAoMD0ludGVybmV0IFRlY2hub2xvZ2llcyBh
bGwgdjEUMBIGA1UEAwwLZXhhbXBsZS5jb20wgZ8wDQYJKoZIhvcNAQEBBQADgYEA
KwL3U8v9Z6Y2zBZ8C5zUz1QW4V9V4+uJjw3H2gT6jxZc6jZsV8y4zZpYw8L8b8x2
...
-----END CERTIFICATE-----
";
// 인증서 목적
$purpose = X509_PURPOSE_ANY;
// 인증서 유효성 검사 방법
$method = X509_VERIFY_FLAG_NO_CHECK_END_DATE;
// 신뢰할 수 있는 인증서의 목록
$map_trust = array();
// 인증서를 검증하는 방법
$map_verify = array();
// 확장 필드의 목록
$map_ext = array();
// 인증서 발급자의 목록
$map_issuer = array();
// 인증서 소유자의 목록
$map_subject = array();
// X.509 v3 확장 필드의 목록
$map_x509v3_ext_map = array();
// 인증서의 유효성을 검사합니다.
$result = openssl_x509_checkpurpose($cert, $purpose, $method, $map_trust, $map_verify, $map_ext, $map_issuer, $map_subject, $map_x509v3_ext_map);
// 결과를 출력합니다.
if ($result == 1) {
echo "인증서가 유효합니다.";
} elseif ($result == 0) {
echo "인증서가 유효하지 않습니다.";
} else {
echo "인증서가 유효하지 않습니다. (에러가 발생했습니다.)";
}
?>
이 예제에서는 `openssl_x509_checkpurpose` 함수를 사용하여 인증서의 유효성을 검사합니다. 인증서가 유효하면 "인증서가 유효합니다."가 출력됩니다. 인증서가 유효하지 않으면 "인증서가 유효하지 않습니다."가 출력됩니다. 인증서가 유효하지 않지만 에러가 발생한 경우 "인증서가 유효하지 않습니다. (에러가 발생했습니다.)"가 출력됩니다.
참고
`openssl_x509_checkpurpose` 함수는 PHP 5.3.7 이상에서 사용할 수 있습니다. 이 함수는 SSL/TLS 인증서의 유효성을 검사하는 데 사용됩니다. 인증서의 목적, 인증서의 유효성 검사 방법, 신뢰할 수 있는 인증서의 목록, 인증서를 검증하는 방법, 확장 필드의 목록, 인증서 발급자의 목록, 인증서 소유자의 목록, X.509 v3 확장 필드의 목록을 지정하여 인증서의 유효성을 검사할 수 있습니다.
-
- 나우호스팅 @pcs8404
-
호스팅포럼 화이팅!
댓글목록
등록된 댓글이 없습니다.