PHPTS:一键免费搭建 Nginx + PHP + MySQL 运行环境

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">

参见