首页 话题 小组 问答 好文 用户 我的社区 域名交易 唠叨

[函数]openssl_csr_get_public_key()函数—用法及示例

发布于 2025-05-01 08:53:06
0
17

函数名: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 扩展,并且配置正确。

评论
一个月内的热帖推荐
啊龙
Lv.1普通用户

9545

帖子

31

小组

3242

积分

赞助商广告
站长交流