PHP Conference Japan 2024

openssl_csr_get_public_key

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

openssl_csr_get_public_key返回CSR的公钥

描述

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'];
?>

参见

添加注释

用户贡献注释 1 条注释

php at siemenroorda dot nl
15 年前
函数 openssl_pkey_get_details 可以读取此资源。尝试

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