라이브러리

[PHP] openssl_pkcs7_decrypt - S/MIME 암호화된 메시지를 복호화합니다.




openssl_pkcs7_decrypt란?

PHP의 `openssl_pkcs7_decrypt` 함수는 PKCS#7 형식의 암호화된 메시지를 복호화하는 데 사용됩니다. PKCS#7은 암호화된 메시지를 여러 개의 암호화된 블록으로 구성된 형식입니다. 이 함수를 사용하면 암호화된 메시지를 복호화하여 원본 메시지를 얻을 수 있습니다.

openssl_pkcs7_decrypt 함수의 매개변수

`openssl_pkcs7_decrypt` 함수의 매개변수는 다음과 같습니다.

* `$p7`: PKCS#7 형식의 암호화된 메시지를 포함하는 변수.
* `$cert`: 복호화에 사용할 공개 키를 포함하는 변수.
* `$stream`: 복호화된 메시지를 저장할 스트림 변수.

예제

다음 예제는 `openssl_pkcs7_decrypt` 함수를 사용하여 PKCS#7 형식의 암호화된 메시지를 복호화하는 방법을 보여줍니다.

#hostingforum.kr
php

<?php



// 공개 키를 생성합니다.

$privateKey = openssl_pkey_new();

openssl_pkey_export($privateKey, $privateKeyPassphrase);



// 공개 키를 생성합니다.

$publicKey = openssl_pkey_get_details($privateKey);

$publicKey = $publicKey['key'];



// PKCS#7 형식의 암호화된 메시지를 생성합니다.

$p7 = openssl_pkcs7_encrypt('Hello, World!', 'RSA', $publicKey, 'md5', 'sha1', 'RSA');



// 암호화된 메시지를 복호화합니다.

$cert = openssl_pkey_get_public($publicKey);

$stream = fopen('php://memory', 'r+');

openssl_pkcs7_decrypt($p7, $stream, $cert);

rewind($stream);

$decryptedMessage = stream_get_contents($stream);



// 복호화된 메시지를 출력합니다.

echo $decryptedMessage;



?>



이 예제에서는 공개 키를 생성하고 PKCS#7 형식의 암호화된 메시지를 생성합니다. 그런 다음, 암호화된 메시지를 복호화하고 복호화된 메시지를 출력합니다.

주의사항

`openssl_pkcs7_decrypt` 함수를 사용하기 전에, 공개 키와 개인 키를 생성하고 암호화된 메시지를 생성해야 합니다. 또한, 암호화된 메시지를 복호화하기 위해서는 공개 키가 필요합니다.

이 함수는 PHP 5.3.7 이상에서 사용할 수 있습니다.
  • profile_image
    나우호스팅 @pcs8404 

    호스팅포럼 화이팅!

    댓글목록

    등록된 댓글이 없습니다.

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

검색

게시물 검색