【PHP8.x】openssl_csr_sign関数の使い方
作成日: 更新日:
openssl_csr_sign関数は、指定された証明書署名要求(CSR)にデジタル署名を行い、新しいデジタル証明書を生成する関数です。WebサイトのSSL/TLS証明書発行プロセスで主に利用されます。
WebサーバーなどからのCSRに対し、信頼できる認証局(CA)が秘密鍵と証明書で署名することで、Webサイトの正当性を保証し、安全な暗号化通信を可能にするデジタル証明書が発行されます。この署名プロセスは、インターネットの信頼性とセキュアな通信環境確立に不可欠です。
関数は、署名対象となるCSR、署名を行うCAの秘密鍵と証明書、および証明書の有効期間などの情報を受け取ります。処理が成功すると、生成された証明書の内容が返されます。
鍵管理と厳密な設定が求められる、セキュリティ上重要な処理です。
基本的な使い方
構文(syntax)
openssl_csr_sign(mixed $csr, mixed $private_key, mixed $output, int $days, ?array $options = null, int $serial = 0): bool
引数(parameters)
OpenSSLCertificateSigningRequest|string $csr, OpenSSLCertificate|string|null $ca_certificate, OpenSSLAsymmetricKey|OpenSSLCertificate|array|string $private_key, int $days, ?array $options = NULL, int $serial = 0, ?string $serial_hex = NULL
- OpenSSLCertificateSigningRequest|string $csr: 証明書署名要求 (CSR) を表す
OpenSSLCertificateSigningRequest
オブジェクト、またはCSRのPEMエンコードされた文字列 - OpenSSLCertificate|string|null $ca_certificate: CA証明書を表す
OpenSSLCertificate
オブジェクト、またはCA証明書のPEMエンコードされた文字列。NULLの場合、CSR自身が署名者として扱われます。 - OpenSSLAsymmetricKey|OpenSSLCertificate|array|string $private_key: CAの秘密鍵。
OpenSSLAsymmetricKey
オブジェクト、CA証明書(公開鍵と秘密鍵が紐づいている場合)、または秘密鍵のPEMエンコードされた文字列 - int $days: 証明書の有効期間(日数)
- ?array $options = NULL: オプションを指定する連想配列。詳細については公式ドキュメントを参照してください。
- int $serial = 0: 生成される証明書のシリアル番号。0を指定すると自動生成されます。
- ?string $serial_hex = NULL: 生成される証明書のシリアル番号を16進数文字列で指定します。
戻り値(return)
OpenSSLCertificate|false
証明書署名リクエスト(CSR)に秘密鍵で署名した結果として、OpenSSLCertificate
オブジェクトが返されます。署名に失敗した場合は false
が返されます。