OpenSSL 関数のうち、キーまたは証明書パラメータを必要とするものはごく一部です。 以下の方法を使用してそれらを取得できます。
証明書
openssl_x509_read() から返された
OpenSSLCertificate クラスのインスタンス。
(PHP 8.0.0 より前のバージョンでは、OpenSSL X.509 型のリソース)
file://path/to/cert.pem 形式の文字列。 このファイルは、PEM エンコードされた証明書である必要があります。
PEM エンコードされた証明書の内容を含む文字列。 -----BEGIN CERTIFICATE----- から始まります。
証明書の署名リクエスト (Certificate Signing Requests (CSRs))
openssl_csr_new() 関数が返した
OpenSSLCertificateSigningRequest クラスのインスタンス。
(PHP 8.0.0 より前のバージョンでは、
OpenSSL X.509 CSR 型のリソース)
file://path/to/csr.pem 形式の文字列。 このファイルは、PEM エンコードされた証明書 (CSR) である必要があります。
CSR, PEM エンコードされた証明書の内容を含む文字列。
-----BEGIN CERTIFICATE REQUEST----- から始まります。
公開鍵/秘密鍵
openssl_get_publickey() あるいは
openssl_get_privatekey() から返された
OpenSSLAsymmetricKey クラスのインスタンス。
(PHP 8.0.0 より前のバージョンでは、
OpenSSL key 型のリソース)
公開鍵のみ: OpenSSLCertificate クラスのインスタンス。
(PHP 8.0.0 より前のバージョンでは、
OpenSSL X.509 型のリソース)
file://path/to/file.pem 形式の文字列。- このファイルは、PEM エンコードされた証明書/秘密鍵である 必要があります(両方を含むことも可能です)。
PEM エンコードされた証明書/キーの内容を含む文字列。
-----BEGIN PUBLIC KEY----- から始まります。
秘密鍵については array($key,
$passphrase) という構文を使用することも可能です。
ただし、$key は file:// または上記のテキスト表現形式を使用して指定したキー、
$passphrase
はその秘密鍵に関するパスワードを有する文字列を表します。