openssl_spki_export
(PHP 5 >= 5.6.0, PHP 7, PHP 8)
openssl_spki_export — 通過簽名公鑰和挑戰導出一個可用的PEM格式的公鑰
說明
openssl_spki_export(string
&$spkac
): string從編碼的簽名公鑰和挑戰導出PEM格式的公鑰。
參數
-
spkac
-
期望一個有效的簽名公鑰和挑戰字串。
返回值
成功,返回關聯的PEM格式的公鑰,失敗則返回 NULL.
錯誤/異常
如果傳遞給 spkac
參數是一個不可用的參數,則會拋出一個E_WARNING
級的警告。
範例
示例 #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;
}
?>
示例 #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 (或者本身) 並且產生一個證書