【PHP8.x】openssl_cms_read関数の使い方

作成日: 更新日:

openssl_cms_read関数は、CMS (Cryptographic Message Syntax) 形式のデータを読み込むために使用される関数です。この関数は、与えられたCMSデータから、署名されたデータや暗号化されたデータといった実際のコンテンツを安全に抽出する目的で使用されます。

具体的には、第一引数として読み込みたいCMS形式のデータ文字列を受け取ります。オプションの第二引数として出力先のファイルパスを指定することができ、抽出されたコンテンツをそのファイルに書き込むことができます。もし出力先のファイルパスを指定しなかった場合は、コンテンツは内部で一時ファイルに書き込まれ、その一時ファイルの内容が関数の戻り値として文字列で返されます。

処理が正常に完了し、コンテンツの抽出に成功した場合は、抽出されたコンテンツの文字列が返されます。一方、何らかの理由で処理が失敗した場合やエラーが発生した場合には、ブール値のfalseが返されます。

この関数は、セキュアなメッセージング、デジタル署名の検証、または暗号化されたデータの復号化など、CMS形式で保護された情報をPHPアプリケーションで扱う際に重要な役割を果たします。OpenSSL拡張機能の一部として、高度な暗号学的処理を安全かつ効率的に行うための基盤を提供します。

基本的な使い方

構文(syntax)

<?php
$cmsFilePath = 'path/to/your/cms_file.cms';
$extractedCertificates = [];

$cmsContent = openssl_cms_read($cmsFilePath, $extractedCertificates);

引数(parameters)

string $input_filename, array &$certificates

  • string $input_filename: 読み込むCMS(Cryptographic Message Syntax)ファイルの名前を指定する文字列
  • array &$certificates: 署名者の証明書を格納する配列への参照。この引数に証明書が格納されます。

戻り値(return)

object|false

openssl_cms_read 関数は、CMS(Cryptographic Message Syntax)メッセージを解析した結果を表すオブジェクト、または解析に失敗した場合は false を返します。

【PHP8.x】openssl_cms_read関数の使い方 | いっしー@Webエンジニア