openssl_spki_export
(PHP 5 >= 5.6.0, PHP 7)
openssl_spki_export — 通过签名公钥和挑战导出一个可用的PEM格式的公钥
说明
openssl_spki_export
( string
&$spkac
) : string从编码的签名公钥和挑战导出PEM格式的公钥。
参数
-
spkac
-
期望一个有效的签名公钥和挑战字符串。
返回值
成功,返回关联的PEM格式的公钥,失败则返回 NULL.
错误/异常
如果传递给 spkac
参数是一个不可用的参数,则会抛出一个E_WARNING
级的警告。
范例
Example #1 openssl_spki_export() 范例:
成功,返回关联的PEM格式的公钥,失败则返回 NULL.
<?php
$pkey = openssl_pkey_new('secret password');
$spkac = openssl_spki_new($pkey, 'challenge string');
$pubKey = openssl_spki_export(preg_replace('/SPKAC=/', '', $spkac));
if ($pubKey) {
echo $pubKey;
}
?>
Example #2 openssl_spki_export() example from <keygen>
通过<keygen> 元素导出关联的PEM格式的公钥:
<?php
$spkac = openssl_spki_export(preg_replace('/SPKAC=/', '', $_POST['spkac']));
if ($spkac != NULL) {
echo $spkac;
} else {
echo "Extraction of pub key failed";
}
?>
<keygen name="spkac" challenge="challenge string" keytype="RSA">
参见
- openssl_spki_new() - 生成一个新的签名公钥和挑战
- openssl_spki_verify() - 验证签名公钥和挑战。
- openssl_spki_export_challenge() - 导出与签名公钥和挑战相关的挑战字符串
- openssl_md_method()
- openssl_csr_new() - 生成一个 CSR
- openssl_csr_sign() - 用另一个证书签署 CSR (或者本身) 并且生成一个证书