
openssl_cms_encrypt 함수를 사용할 때 CMS_DATA는 CMS_DATA_ENCRYPTED_DATA와 CMS_DATA_ENCRYPTED_DATA_WITH_COVERAGE를 둘 다 의미할 수 있습니다.
CMS_DATA_ENCRYPTED_DATA는 암호화된 데이터만 포함하고 있으며, CMS_DATA_ENCRYPTED_DATA_WITH_COVERAGE는 암호화된 데이터와 coverage 정보가 포함되어 있습니다.
CMS_DATA_ENCRYPTED_DATA는 CMS_DATA_ENCRYPTED_DATA_WITH_COVERAGE를 포함하는 경우가 많습니다. 따라서 CMS_DATA는 CMS_DATA_ENCRYPTED_DATA를 의미하는 것으로 간주할 수 있습니다.
CMS_DATA_ENCRYPTED_DATA_WITH_COVERAGE를 사용하는 경우, coverage 정보는 다음과 같이 포함할 수 있습니다.
#hostingforum.kr
php
$coverage = array(
'content_type' => 'application/octet-stream',
'message_digest' => hash('sha256', file_get_contents('path/to/message.txt'))
);
$encrypted = openssl_cms_encrypt($cert, $privateKey, $coverage, CMS_DATA_ENCRYPTED_DATA_WITH_COVERAGE);
coverage 정보는 content_type과 message_digest를 포함할 수 있습니다. content_type은 데이터의 MIME 타입을, message_digest는 데이터의 해시 값을 포함합니다.
이러한 예제를 참고하여 openssl_cms_encrypt 함수를 사용할 수 있습니다.
2025-07-09 18:45