查询

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函数
分享链接