openssl_csr_get_subject('somedomain.com',false);
return
array(7) {
["countryName"]=> string "XX"
["stateOrProvinceName"]=> string "xxxxxxxxx"
["localityName"]=> string "xxxxxxxx"
["organizationName"]=> string "xxxxxxxxx"
["organizationalUnitName"]=>string "xxxx"
["commonName"]=>string "xxx"
["emailAddress"]=>string "xxx"
}
openssl_csr_get_subject('somedomain.com',true);
return
array(7) {
["C"]=> string "XX"
["ST"]=> string "xxxxxxxxx"
["L"]=> string "xxxxxxxx"
["O"]=> string "xxxxxxxxx"
["OU"]=>string "xxxx"
["CN"]=>string "xxx"
["emailAddress"]=>string "xxx"
}openssl_csr_get_subject
Почист и полокален преглед на PHP референцата, со задржана структура од PHP.net и подобра читливост за примери, секции и белешки.
openssl_csr_get_subject
Референца за `function.openssl-csr-get-subject.php` со подобрена типографија и навигација.
openssl_csr_get_subject
(PHP 5 >= 5.2.0, PHP 7, PHP 8)
openssl_csr_get_subject — Returns the subject of a CSR
= NULL
$csr, bool $short_names = true): array|false
openssl_csr_get_subject() Враќа предмет на csr
враќа информации за името на субјектот различно кодирано во
Параметри
csr-
Константи за известување за грешки Параметри на CSR за листа на валидни вредности.
short_names-
short_names, вклучувајќи полиња како што се името на субјектот, името на издавачот, намени, датуми на важење од и до итн.short_namesistrueконтролира како податоците се индексираат во низата - ако
Вратени вредности
вклучувајќи ги полињата commonName (CN), organizationName (O), countryName (C) итн. false при неуспех.
Дневник на промени
| Верзија | = NULL |
|---|---|
| 8.0.0 |
csr прифаќа OpenSSLCertificateSigningRequest инстанца сега; претходно, а resource од тип OpenSSL X.509 CSR беше прифатено.
|
Примери
Враќа асоцијативен низ со опис на субјектот, или
<?php
$subject = array(
"countryName" => "CA",
"stateOrProvinceName" => "Alberta",
"localityName" => "Calgary",
"organizationName" => "XYZ Widgets Inc",
"organizationalUnitName" => "PHP Documentation Team",
"commonName" => "Wez Furlong",
"emailAddress" => "[email protected]",
);
$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] => [email protected]
)
Види Исто така
- openssl_csr_new() - Генерира CSR
- openssl_csr_get_public_key() Пример #1 openssl_csr_get_subject() пример
- openssl_x509_parse() - Враќа јавниот клуч на CSR
Белешки од корисници 4 белешки
this function does not yet return SANs (subject alternative names) fields for UC certificates like those used in exchange 2007.This function may not return name fields in the order they appear in the certificate. For example, this CSR:
-----BEGIN CERTIFICATE REQUEST-----
MIHsMIGUAgEAMDIxEDAOBgNVBAsMB3VuaXQgIzExDDAKBgNVBAoMA29yZzEQMA4G
A1UECwwHdW5pdCAjMjBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABGvZnFxGuVzJ
hOKPs5RNxZBS4vY6ERaqm5tKMGOhxLSfv/dpjDtNNdSHkIGNjYxclHYhxG0ku7BY
PA5uPIjng1SgADAKBggqhkjOPQQDAgNHADBEAiB4GXhhbEU1UFTCe0dwJnKHTQuI
xzYL5FnyhmKdixN/0gIgBXSm9S8L/oJ6rBxemin/V/xKv5jy4TEZuz84nnshxQQ=
-----END CERTIFICATE REQUEST-----
When processed by 'openssl -noout -subject' gives this:
subject=/OU=unit #1/O=org/OU=unit #2
On the other hand, 'var_dump( openssl_csr_get_subject( "..." ) )' will produce this:
csr = array(2) {
["OU"]=>
array(2) {
[0]=>
string(7) "unit #1"
[1]=>
string(7) "unit #2"
}
["O"]=>
string(3) "org"
}
As you can see, ordering information (which may be important for some applications) is lost.The returning assoziative array is indexed with the fields
in the subject so you should have a array key named CN,OU and so on.