ConFoo 2025

openssl_csr_get_public_key

(PHP 5 >= 5.2.0, PHP 7, PHP 8)

openssl_csr_get_public_keyCSR の公開鍵を返す

説明

openssl_csr_get_public_key(OpenSSLCertificateSigningRequest|string $csr, bool $short_names = true): OpenSSLAsymmetricKey|false

openssl_csr_get_public_key() 関数は、 csr から公開鍵を展開し、他の関数で利用できるよう準備します。

パラメータ

csr

使用できる値の一覧は CSR パラメータ を参照ください。

short_names
警告

このパラメータは無視されます。

戻り値

成功した場合、OpenSSLAsymmetricKey クラスのインスタンスを返します。 エラーの場合は false を返します。

変更履歴

バージョン 説明
8.0.0 成功した場合に、この関数は OpenSSLAsymmetricKey クラスのインスタンスを返すようになりました。 これより前のバージョンでは、 OpenSSL key 型のリソースが返されていました。
8.0.0 csr は、 OpenSSLCertificateSigningRequest クラスのインスタンスを受け入れるようになりました。 これより前のバージョンでは、 OpenSSL X.509 CSR 型のリソースを受け入れていました。

例1 openssl_csr_get_public_key() の例

<?php
$subject
= array(
"commonName" => "example.com",
);
$private_key = openssl_pkey_new(array(
"private_key_bits" => 2048,
"private_key_type" => OPENSSL_KEYTYPE_RSA,
));
$csr = openssl_csr_new($subject, $private_key, array('digest_alg' => 'sha256') );
$public_key = openssl_csr_get_public_key($csr);
$info = openssl_pkey_get_details($public_key);
echo
$info['key'];
?>

参考

add a note

User Contributed Notes 1 note

up
-5
php at siemenroorda dot nl
15 years ago
Function openssl_pkey_get_details can read this resource. Try:

<?php
print_r
(openssl_pkey_get_details(openssl_csr_get_public_key($csr)));
?>
To Top