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`
  使用できる値の一覧は CSR パラメータ を参照ください。
`short_names`
  警告

  このパラメータは無視されます。

### 戻り値

成功した場合、OpenSSLAsymmetricKey クラスのインスタンスを返します。 エラーの場合は `false` を返します。

### 変更履歴

バージョン | 説明
--- | ---
8.0.0 | 成功した場合に、この関数は OpenSSLAsymmetricKey クラスのインスタンスを返すようになりました。 これより前のバージョンでは、 `OpenSSL key` 型のリソースが返されていました。
8.0.0 | `csr` は、 OpenSSLCertificateSigningRequest クラスのインスタンスを受け入れるようになりました。 これより前のバージョンでは、 `OpenSSL X.509 CSR` 型のリソースを受け入れていました。

### 例

例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 の subject を返す
- 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