openssl_csr_get_subject

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

openssl_csr_get_subjectВозвращает субъект CSR

Описание

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

openssl_csr_get_subject() возвращает известную об субъекте информацию закодированную в csr, включая поля commonName (CN), organizationName (O), countryName (C) и т.д.

Список параметров

csr

Для получения списка допустимых значений смотрите параметры CSR.

short_names

shortnames определяет, как данные индексируются в массиве, если shortnames задан как true (по умолчанию), то поля будут индексированы именами в коротком формате, в противном случае будут использованы длинные имена. Например, CN - короткое имя для commonName.

Возвращаемые значения

Возвращает ассоциативный массив с описанием субъекта или false, если возникла ошибка.

Список изменений

Версия Описание
8.0.0 csr теперь принимает экземпляр OpenSSLCertificateSigningRequest; ранее принимался ресурс (resource) типа 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
)

Смотрите также