函式名: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(resource $csr [, bool $short_names = true ]) : resource|false
引數:
- $csr:必需,表示證書籤名請求資源的識別符號。
- $short_names:可選,表示是否使用短名稱,預設為 true。如果設定為 true,則返回的公鑰資源將使用短名稱;如果設定為 false,則返回的公鑰資源將使用完整的名稱。
返回值:
- 成功時,返回公鑰資源的識別符號。
- 失敗時,返回 false。
示例:
$privateKey = openssl_pkey_new(array(
'private_key_bits' => 2048,
'private_key_type' => OPENSSL_KEYTYPE_RSA,
));
$csrConfig = array(
"commonName" => "example.com",
"countryName" => "US",
"stateOrProvinceName" => "California",
"localityName" => "San Francisco",
"organizationName" => "Example Inc",
"organizationalUnitName" => "IT Department",
);
$csr = openssl_csr_new($csrConfig, $privateKey);
$publicKey = openssl_csr_get_public_key($csr);
// 輸出公鑰資訊
echo openssl_pkey_get_details($publicKey)['key'];
在上面的示例中,我們首先使用 openssl_pkey_new() 函式生成一個私鑰,並使用 openssl_csr_new() 函式生成一個證書籤名請求(CSR)。然後,我們使用 openssl_csr_get_public_key() 函式從 CSR 中獲取公鑰。最後,使用 openssl_pkey_get_details() 函式獲取公鑰的詳細資訊,並輸出公鑰的內容。
注意:為了使示例正常執行,需要確保 PHP 安裝了 OpenSSL 擴充套件,並且配置正確。