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

作成日: 更新日:

openssl_x509_export関数は、OpenSSL拡張機能の一部として、X.509証明書を文字列形式でエクスポート(出力)する関数です。この関数は、すでにPHPの内部で処理されているX.509証明書のリソースを受け取り、その内容を外部で使用できるテキストデータとして取得したい場合に利用されます。

具体的には、openssl_x509_read()関数などで読み込んだ証明書のリソースを最初の引数として渡し、エクスポートされた証明書データが格納される変数(参照渡し)を第二引数に指定します。オプションの第三引数では、出力形式をPEM形式にするか(デフォルトでtrue)、DER形式にするか(falseを指定)を選択できます。

関数が正常に実行された場合はtrueが返され、エクスポートされた証明書データは第二引数に指定した変数に格納されます。処理に失敗した場合はfalseが返されます。この関数は、取得した証明書の情報をファイルに保存したり、ネットワーク経由で他のシステムに送信したりする際に非常に有用です。ウェブアプリケーションにおけるSSL/TLS通信の設定や、デジタル署名の検証など、セキュリティ関連の機能を実装する上で不可欠な要素となります。

基本的な使い方

構文(syntax)

<?php
$certificate = '-----BEGIN CERTIFICATE-----...-----END CERTIFICATE-----'; // OpenSSLCertificate オブジェクトまたはPEM形式の証明書文字列
$output = ''; // エクスポートされた証明書を格納する変数
$result = openssl_x509_export($certificate, $output);
?>

引数(parameters)

OpenSSLCertificate|string $certificate, string &$output, bool $no_text = true

  • OpenSSLCertificate|string $certificate: エクスポートするX.509証明書。OpenSSL X.509証明書リソースまたはPEM形式の文字列で指定します。
  • string &$output: エクスポートされた証明書(PEM形式)が格納される変数。参照渡しで渡され、関数実行後に内容が更新されます。
  • bool $no_text = true: テキスト情報を含めるかどうかを指定するブール値。true(デフォルト)の場合はテキスト情報を含めず、falseの場合は含めます。

戻り値(return)

bool

openssl_x509_export 関数は、X.509証明書を文字列としてエクスポートすることに成功した場合は TRUE を、失敗した場合は FALSE を返します。

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