라이브러리

[PHP] openssl_pkcs12_read - PKCS#12 인증서 저장소를 배열로 구문 분석




openssl_pkcs12_read란?


`openssl_pkcs12_read`는 PHP의 OpenSSL 확장 함수 중 하나로, PKCS#12 파일을 읽는 함수입니다. PKCS#12 파일은 보통 SSL/TLS 인증서와 개인 키를 포함하는 파일입니다. 이 함수는 PKCS#12 파일을 읽어 인증서와 개인 키를 추출하고, 인증서를 검증하는 등의 작업을 수행할 수 있습니다.

openssl_pkcs12_read 사용 예제


#hostingforum.kr
php

<?php



// PKCS#12 파일 경로

$p12_file = 'example.p12';



// PKCS#12 파일 비밀번호

$p12_password = 'example_password';



// PKCS#12 파일을 읽어 인증서와 개인 키를 추출

$data = openssl_pkcs12_read($p12_file, $p12_password);



// 인증서 정보 추출

$cert_info = $data['x509_info'];

$cert_subject = $cert_info['subject'];

$cert_issuer = $cert_info['issuer'];

$cert_serial_number = $cert_info['serialNumber'];

$cert_not_before = $cert_info['notBefore'];

$cert_not_after = $cert_info['notAfter'];



// 개인 키 정보 추출

$priv_key = $data['privatekey'];



// 인증서를 검증

$verify_result = openssl_verify('example_data', $data['x509_info']['subject']);



// 결과 출력

echo "인증서 정보:
";

echo "  주체: " . $cert_subject . "
";

echo "  발급자: " . $cert_issuer . "
";

echo "  시리얼 넘버: " . $cert_serial_number . "
";

echo "  유효 시작일: " . $cert_not_before . "
";

echo "  유효 종료일: " . $cert_not_after . "
";

echo "개인 키:
";

echo $priv_key . "
";

echo "인증서 검증 결과: " . ($verify_result ? '성공' : '실패') . "
";



?>



openssl_pkcs12_read 함수의 파라미터


- `$p12_file`: PKCS#12 파일 경로
- `$p12_password`: PKCS#12 파일 비밀번호
- `$cert_info`: 인증서 정보 (배열)
- `$priv_key`: 개인 키 (문자열)
- `$data`: PKCS#12 파일 데이터 (배열)

openssl_pkcs12_read 함수의 반환값


- `bool`: 함수의 성공 여부
- `array`: PKCS#12 파일 데이터 (인증서 정보, 개인 키 포함)

참고


- OpenSSL 확장 함수는 PHP 5.3.3 이상에서 사용할 수 있습니다.
- PKCS#12 파일은 보통 SSL/TLS 인증서와 개인 키를 포함하는 파일입니다.
- 인증서 정보는 `openssl_x509_parse` 함수를 사용하여 추출할 수 있습니다.
- 개인 키는 `openssl_private_decrypt` 함수를 사용하여 암호화할 수 있습니다.
  • profile_image
    나우호스팅 @pcs8404 

    호스팅포럼 화이팅!

    댓글목록

    등록된 댓글이 없습니다.

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

검색

게시물 검색