openssl_csr_get_subject

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

openssl_csr_get_subjectCSR の subject を返す

説明

openssl_csr_get_subject(OpenSSLCertificateSigningRequest|string $csr, bool $short_names = true): array|false

openssl_csr_get_subject() 関数は、 csr にエンコードされた subject の識別名の情報を返します。 commonName (CN), organizationName (O), countryName (C) などが含まれます。

パラメータ

csr

使用できる値の一覧は CSR パラメータ を参照ください。

short_names

shortnames は、配列でデータがどのように インデックスされるかを制御します - shortnamestrue の場合(デフォルト)、フィールドは短縮名を使ってインデックスされます。 false の場合、長い名前を使ってインデックされます - たとえば、 CN は commonName の短縮名です。

戻り値

subject の説明を記した連想配列を返します。失敗した場合に false を返します

変更履歴

バージョン 説明
8.0.0 csr は、 OpenSSLCertificateSigningRequest クラスのインスタンスを受け入れるようになりました。 これより前のバージョンでは、 OpenSSL X.509 CSR 型のリソースを受け入れていました。

例1 openssl_csr_get_subject() の例

<?php
$subject 
= array(
    
"countryName" => "CA",
    
"stateOrProvinceName" => "Alberta",
    
"localityName" => "Calgary",
    
"organizationName" => "XYZ Widgets Inc",
    
"organizationalUnitName" => "PHP Documentation Team",
    
"commonName" => "Wez Furlong",
    
"emailAddress" => "wez@example.com",
);
$private_key openssl_pkey_new(array(
    
"private_key_bits" => 2048,
    
"private_key_type" => OPENSSL_KEYTYPE_RSA,
));
$configargs = array(
    
'digest_alg' => 'sha512WithRSAEncryption'
);
$csr openssl_csr_new($subject$privkey$configargs);
print_r(openssl_csr_get_subject($csr));
?>

上の例の出力は、 たとえば以下のようになります。

Array
(
    [C] => CA
    [ST] => Alberta
    [L] => Calgary
    [O] => XYZ Widgets Inc
    [OU] => PHP Documentation Team
    [CN] => Wez Furlong
    [emailAddress] => wez@example.com
)

参考

関連キーワード:  subject, 短縮, 配列, shortnames, public, パラメータ, commonName, 情報, インデックス, names