查询

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