라이브러리

[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 확장 필드의 목록을 지정하여 인증서의 유효성을 검사할 수 있습니다.
  • profile_image
    나우호스팅 @pcs8404 

    호스팅포럼 화이팅!

    댓글목록

    등록된 댓글이 없습니다.

  • 전체 10,077건 / 348 페이지

검색

게시물 검색