openssl_csr_get_subject
(PHP 5 >= 5.2.0, PHP 7, PHP 8)
openssl_csr_get_subject — Returns the subject of a CSR
Description
$csr
, bool $short_names
= true
): array|false
openssl_csr_get_subject() returns subject
distinguished name information encoded in the csr
including fields commonName (CN), organizationName (O), countryName (C) etc.
Parameters
-
csr
-
See CSR parameters for a list of valid values.
-
short_names
-
shortnames
controls how the data is indexed in the array - ifshortnames
istrue
(the default) then fields will be indexed with the short name form, otherwise, the long name form will be used - e.g.: CN is the shortname form of commonName.
Return Values
Returns an associative array with subject description, or false
on failure.
Changelog
Version | Description |
---|---|
8.0.0 |
csr accepts an OpenSSLCertificateSigningRequest instance now;
previously, a resource of type OpenSSL X.509 CSR was accepted.
|
Examples
Example #1 openssl_csr_get_subject() example
<?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));
?>
The above example will output something similar to:
Array ( [C] => CA [ST] => Alberta [L] => Calgary [O] => XYZ Widgets Inc [OU] => PHP Documentation Team [CN] => Wez Furlong [emailAddress] => wez@example.com )
See Also
- openssl_csr_new() - Generates a CSR
- openssl_csr_get_public_key() - Returns the public key of a CSR
- openssl_x509_parse() - Parse an X509 certificate and return the information as an array