라이브러리
[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()` 함수를 사용하여 암호화된 데이터를 생성하는 방법을 보여주었습니다.
-
- 나우호스팅 @pcs8404
-
호스팅포럼 화이팅!
댓글목록
등록된 댓글이 없습니다.