라이브러리

[PHP] openssl_pkcs7_sign - S/MIME 메시지 서명




PHP에서 openssl_pkcs7_sign 사용하기


`openssl_pkcs7_sign` 함수는 PKCS#7 서명에 사용되는 인증서와 개인키를 사용하여 메시지에 서명합니다. 이 함수는 메시지의 내용을 변경하지 않고 서명만 추가합니다.

# 함수의 매개변수


* `$message`: 서명할 메시지
* `$cert_file`: 서명에 사용되는 인증서 파일 경로
* `$key_file`: 서명에 사용되는 개인키 파일 경로
* `$passphrase`: 개인키의 암호
* `$cert_subject`: 서명에 사용되는 인증서의 주체
* `$signer_cert`: 서명에 사용되는 인증서
* `$signer_key`: 서명에 사용되는 개인키
* `$digest_alg`: 사용할 해시 알고리즘 (예: SHA256)
* `$signing_key`: 서명에 사용되는 개인키
* `$signing_cert`: 서명에 사용되는 인증서
* `$full_path`: 서명된 메시지의 파일 경로

# 예제


#hostingforum.kr
php

<?php



// 서명할 메시지

$message = "Hello, World!";



// 서명에 사용되는 인증서와 개인키 파일 경로

$cert_file = "path/to/cert.pem";

$key_file = "path/to/key.pem";



// 개인키의 암호

$passphrase = "password";



// 서명에 사용되는 인증서의 주체

$cert_subject = "CN=example.com";



// 서명에 사용되는 인증서와 개인키

$signer_cert = "path/to/signer-cert.pem";

$signer_key = "path/to/signer-key.pem";



// 사용할 해시 알고리즘

$digest_alg = "sha256";



// 서명된 메시지의 파일 경로

$full_path = "path/to/signed-message.pem";



// openssl_pkcs7_sign 함수를 사용하여 서명

openssl_pkcs7_sign($message, $full_path, $cert_file, $key_file, $passphrase, $cert_subject, $signer_cert, $signer_key, $digest_alg);



// 서명된 메시지의 내용을 출력

echo file_get_contents($full_path);



?>



# 주의사항


* `openssl_pkcs7_sign` 함수는 PHP 5.6.0 이상에서만 사용할 수 있습니다.
* 서명에 사용되는 인증서와 개인키는 PEM 형식이어야 합니다.
* 개인키의 암호는 필수적으로 입력해야 합니다.
* 서명된 메시지의 파일 경로를 지정해야 합니다.
* 서명된 메시지의 내용은 서명에 사용되는 인증서와 개인키에 따라 달라질 수 있습니다.
  • profile_image
    나우호스팅 @pcs8404 

    호스팅포럼 화이팅!

    댓글목록

    등록된 댓글이 없습니다.

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

검색

게시물 검색