라이브러리

[PHP] openssl_pkcs7_encrypt - S/MIME 메시지 암호화




OpenSSL PKCS#7 암호화


OpenSSL PKCS#7 암호화는 공개 키 암호화 방식으로, 암호화된 데이터를 안전하게 전송할 수 있도록 해줍니다. PKCS#7은 공개 키 암호화에 사용되는 표준 프로토콜 중 하나입니다.

PHP에서 OpenSSL PKCS#7 암호화 사용하기


PHP에서 OpenSSL PKCS#7 암호화를 사용하려면 OpenSSL 확장 모듈이 설치되어 있어야 합니다. OpenSSL 확장 모듈은 PHP 5.3.7 이상에서 기본적으로 포함되어 있습니다.

# OpenSSL PKCS#7 암호화 함수


OpenSSL PKCS#7 암호화 함수는 `openssl_pkcs7_encrypt()` 함수입니다. 이 함수는 암호화할 데이터와 공개 키를 인수로 받습니다.

# 예제


다음 예제는 `openssl_pkcs7_encrypt()` 함수를 사용하여 암호화된 데이터를 생성하는 방법을 보여줍니다.

#hostingforum.kr
php

<?php



// 공개 키 파일 경로

$publicKeyFile = 'public_key.pem';



// 암호화할 데이터

$data = 'Hello, World!';



// 암호화

$encryptedData = openssl_pkcs7_encrypt($data, $publicKeyFile);



// 암호화된 데이터 출력

echo $encryptedData;



?>



# 공개 키 파일 생성


공개 키 파일을 생성하려면 OpenSSL 명령어를 사용할 수 있습니다.

#hostingforum.kr
bash

openssl genrsa -out private_key.pem 2048

openssl rsa -pubout -in private_key.pem -out public_key.pem



# 공개 키 파일 사용


공개 키 파일을 사용하려면 `openssl_pkcs7_encrypt()` 함수에 파일 경로를 인수로 넘기면 됩니다.

#hostingforum.kr
php

$publicKeyFile = 'public_key.pem';



# 암호화된 데이터 검증


암호화된 데이터를 검증하려면 `openssl_pkcs7_verify()` 함수를 사용할 수 있습니다.

#hostingforum.kr
php

$encryptedData = '...'; // 암호화된 데이터

$publicKeyFile = 'public_key.pem';



if (openssl_pkcs7_verify($encryptedData, $publicKeyFile)) {

    echo '암호화된 데이터가 유효합니다.';

} else {

    echo '암호화된 데이터가 유효하지 않습니다.';

}



결론


OpenSSL PKCS#7 암호화는 공개 키 암호화 방식으로, 암호화된 데이터를 안전하게 전송할 수 있도록 해줍니다. PHP에서 OpenSSL PKCS#7 암호화를 사용하려면 OpenSSL 확장 모듈이 설치되어 있어야 합니다. 이 글에서는 `openssl_pkcs7_encrypt()` 함수를 사용하여 암호화된 데이터를 생성하는 방법을 보여주었습니다.
  • profile_image
    나우호스팅 @pcs8404 

    호스팅포럼 화이팅!

    댓글목록

    등록된 댓글이 없습니다.

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

검색

게시물 검색