(PHP 5 >= 5.2.0, PHP 7, PHP 8)
openssl_csr_get_subject — Retorna o assunto de um CSR
$csr, bool $short_names = true): array|false
openssl_csr_get_subject() retorna informações de nome distinto
do assunto codificadas em csr
incluindo os campos commonName (CN), OrganizationName (O), countryName (C) etc.
csrshort_names
short_names controla como os dados são indexados no
array - se short_names for true (o padrão),
os campos serão indexados com o formato de nome abreviado, caso contrário, o formato de
nome longo será usado - por exemplo: CN é o formato de nome abreviado de commonName.
Retorna um array associativo com a descrição do assunto, ou false em caso de falha.
| Versão | Descrição |
|---|---|
| 8.0.0 |
csr aceita uma instância OpenSSLCertificateSigningRequest agora;
anteriormente, um resource do tipo OpenSSL X.509 CSR era aceito.
|
Exemplo #1 Exemplo de 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));
?>O exemplo acima produzirá algo semelhante a:
Array
(
[C] => CA
[ST] => Alberta
[L] => Calgary
[O] => XYZ Widgets Inc
[OU] => PHP Documentation Team
[CN] => Wez Furlong
[emailAddress] => wez@example.com
)