array ( 0 => 'index.php', 1 => 'PHP Manual', ), 'head' => array ( 0 => 'UTF-8', 1 => 'ja', ), 'this' => array ( 0 => 'function.openssl-csr-get-subject.php', 1 => 'openssl_csr_get_subject', ), 'up' => array ( 0 => 'ref.openssl.php', 1 => 'OpenSSL 関数', ), 'prev' => array ( 0 => 'function.openssl-csr-get-public-key.php', 1 => 'openssl_csr_get_public_key', ), 'next' => array ( 0 => 'function.openssl-csr-new.php', 1 => 'openssl_csr_new', ), 'alternatives' => array ( ), 'source' => array ( 'lang' => 'ja', 'path' => 'reference/openssl/functions/openssl-csr-get-subject.xml', ), ); $setup["toc"] = $TOC; $setup["toc_deprecated"] = $TOC_DEPRECATED; $setup["parents"] = $PARENTS; manual_setup($setup); ?>
(PHP 5 >= 5.2.0, PHP 7, PHP 8)
openssl_csr_get_subject — CSR の subject を返す
$csr
, bool $short_names
= true
): array|false
openssl_csr_get_subject() 関数は、
csr
にエンコードされた subject の識別名の情報を返します。
commonName (CN), organizationName (O), countryName (C) などが含まれます。
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 )