查詢

openssl_csr_get_subject()函式—用法及示例

「 獲取證書籤名請求(CSR)的主題資訊 」


函式名:openssl_csr_get_subject()

適用版本:PHP 4 >= 4.2.0, PHP 5, PHP 7, PHP 8

函式說明:openssl_csr_get_subject() 函式用於獲取證書籤名請求(CSR)的主題資訊。

語法:openssl_csr_get_subject(resource $csr [, bool $use_shortnames = TRUE]): array|bool

引數:

  • $csr:證書籤名請求的資源識別符號。
  • $use_shortnames(可選):指定是否使用短名稱,預設為 TRUE。如果設定為 TRUE,則返回的陣列中的鍵名將使用短名稱(例如,"C"代表"countryName","ST"代表"stateOrProvinceName");如果設定為 FALSE,則使用完整的長名稱。

返回值:

  • 成功時,返回一個包含主題資訊的關聯陣列。
  • 失敗時,返回 FALSE。

示例:

$privateKey = openssl_pkey_new(array(
    'private_key_bits' => 2048,
    'private_key_type' => OPENSSL_KEYTYPE_RSA,
));

$csrConfig = array(
    'countryName' => 'US',
    'stateOrProvinceName' => 'California',
    'localityName' => 'San Francisco',
    'organizationName' => 'Example Corp',
    'commonName' => 'www.example.com',
);

$csr = openssl_csr_new($csrConfig, $privateKey);

$subject = openssl_csr_get_subject($csr);

// 使用短名稱
print_r($subject);

// 使用完整名稱
print_r(openssl_csr_get_subject($csr, false));

輸出:

Array
(
    [C] => US
    [ST] => California
    [L] => San Francisco
    [O] => Example Corp
    [CN] => www.example.com
)
Array
(
    [countryName] => US
    [stateOrProvinceName] => California
    [localityName] => San Francisco
    [organizationName] => Example Corp
    [commonName] => www.example.com
)

以上示例演示瞭如何使用 openssl_csr_get_subject() 函式獲取證書籤名請求的主題資訊。首先,使用 openssl_pkey_new() 函式生成一個私鑰,然後使用 openssl_csr_new() 函式生成一個證書籤名請求(CSR)。最後,透過呼叫 openssl_csr_get_subject() 函式,可以獲取到主題資訊的關聯陣列。如果設定了 $use_shortnames 引數為 FALSE,則返回的陣列中的鍵名將使用完整的長名稱。

補充糾錯
上一個函式: openssl_csr_new()函式
熱門PHP函式
分享連結