查詢

openssl_csr_get_public_key()函式—用法及示例

「 從證書籤名請求(CSR)中獲取公鑰 」


函式名: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 擴充套件,並且配置正確。

補充糾錯
熱門PHP函式
分享連結