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

作成日: 更新日:

openssl_csr_export関数は、SSL/TLS証明書の発行に必要な「証明書署名リクエスト(CSR)」の情報を、指定された形式でファイルに出力したり、変数に格納したりする処理を実行する関数です。CSRは、Webサイトのセキュリティを確保するためのSSL/TLS証明書を認証局に申請する際に提出する、公開鍵やドメイン名などの情報を含んだデータです。

この関数は、すでにPHPスクリプト内で生成されたCSRリソース、またはPEM形式でエンコードされたCSR文字列を受け取ります。そして、その内容を外部ファイルとして保存したり、PHPの変数に文字列として格納したりする処理を実行します。主に、プログラム上で生成したCSRデータを、後続の処理(例えば、認証局へのオンライン申請やログへの記録など)で利用するために、標準的な形式で取り出す場合に使用されます。

具体的な使い方としては、最初の引数にエクスポートしたいCSR情報を渡し、次の引数に出力先を指定します。出力先には、CSRの内容を書き込むファイルパスを指定するか、またはCSRの内容が代入される変数を参照渡しで指定できます。オプションとして、人間が読める形式のテキスト情報を出力に含めるかどうかを制御する引数も用意されています。

処理が成功した場合はtrueを返し、何らかの理由でエクスポートに失敗した場合はfalseを返します。この関数を利用することで、セキュアな通信環境を構築する上で不可欠な証明書関連の作業を、PHPプログラム内で効率的に管理することが可能になります。

基本的な使い方

構文(syntax)

<?php

$privateKey = openssl_pkey_new();

$csrConfig = [
    "countryName" => "JP",
    "stateOrProvinceName" => "Tokyo",
    "localityName" => "Shibuya-ku",
    "organizationName" => "Example Corp",
    "commonName" => "www.example.com",
    "emailAddress" => "webmaster@example.com"
];

$csrResource = openssl_csr_new($csrConfig, $privateKey);

$exportedCsr = '';
openssl_csr_export($csrResource, $exportedCsr);

?>

引数(parameters)

OpenSSLCertificateSigningRequest|string $csr, string &$output, bool $no_text = true

  • OpenSSLCertificateSigningRequest|string $csr: エクスポートするCSR(証明書署名要求)オブジェクトまたはCSRのPEMエンコーディングされた文字列
  • string &$output: エクスポートされたCSRのPEMエンコーディングされた文字列が格納される変数
  • bool $no_text = true: デバッグ情報を含めない場合は true (デフォルト)、含める場合は false

戻り値(return)

bool

openssl_csr_export関数は、CSR(認証局署名要求)をファイルにエクスポートする操作が成功したかどうかを示す真偽値(trueまたはfalse)を返します。

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