openssl_csr_get_subject

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

openssl_csr_get_subjectRetorna o assunto de um CSR

Descrição

openssl_csr_get_subject(OpenSSLCertificateSigningRequest|string $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.

Parâmetros

csr

Consulte Parâmetros CSR para obter uma lista de valores válidos.

short_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.

Valor Retornado

Returns an associative array with subject description, ou false em caso de falha.

Registro de Alterações

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.

Exemplos

Example #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" => "[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));
?>

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] => [email protected]
)

Veja Também