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
14 年前
函数 openssl_pkey_get_details 可以读取此资源。尝试

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