返回 CSR 的公钥

# openssl_csr_get_public_key

(PHP 5 >= 5.2.0, PHP 7, PHP 8)

openssl_csr_get_public_key — 返回 CSR 的公钥

### 说明

function openssl_csr_get_public_key(OpenSSLCertificateSigningRequest|string `$csr`, bool `$short_names` = `true`): OpenSSLAsymmetricKey|false

openssl_csr_get_public_key() 从 `csr` 中提取公钥供其他功能使用。

### 参数

`csr`
  See CSR parameters for a list of valid values.
`short_names`
  警告

  该参数可以省略。

### 返回值

成功时返回 OpenSSLAsymmetricKey，错误则返回 `false`。

### 更新日志

版本 | 说明
--- | ---
8.0.0 | 成功时此函数现在返回 OpenSSLAsymmetricKey 实例；之前返回类型 `OpenSSL key` 的 resource。
8.0.0 | `csr` 现在接受 OpenSSLCertificateSigningRequest 实例；之前接受类型 `OpenSSL X.509 CSR` 的 resource。

### 示例

示例 #1 openssl_csr_get_public_key() 示例

    <?php
    $subject = array(
        "commonName" => "example.com",
    );
    $private_key = openssl_pkey_new(array(
        "private_key_bits" => 2048,
        "private_key_type" => OPENSSL_KEYTYPE_RSA,
    ));
    $csr = openssl_csr_new($subject, $private_key, array('digest_alg' => 'sha256') );
    $public_key = openssl_csr_get_public_key($csr);
    $info = openssl_pkey_get_details($public_key);
    echo $info['key'];
    ?>

### 参见

- openssl_csr_get_subject() - 返回 CSR 的主题
- openssl_csr_new() - 生成一个 CSR
- openssl_pkey_get_details() - 返回包含密钥详情的数组
- openssl_pkey_export_to_file() - 将密钥导出到文件中
- openssl_pkey_export() - 将一个密钥的可输出表示转换为字符串

`↑` and `↓` to navigate • `Enter` to select • `Esc` to close • `/` to open