openssl_spki_export()
(PHP 5 >= 5.6.0, PHP 7)
通过签名公钥和挑战导出一个可用的PEM格式的公钥
说明
openssl_spki_export(string &$spkac): string
从编码的签名公钥和挑战导出PEM格式的公钥。
参数
- $spkac
期望一个有效的签名公钥和挑战字符串。
返回值
成功,返回关联的PEM格式的公钥,失败则返回 NULL.
错误/异常
如果传递给$spkac参数是一个不可用的参数,则会抛出一个E_WARNING
级的警告。
范例
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; } ?>
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()
生成一个 CSRopenssl_csr_sign()
用另一个证书签署 CSR(或者本身)并且生成一个证书