openssl_csr_get_subject

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

openssl_csr_get_subjectRetorna el sujeto de una CSR

Descripción

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

openssl_csr_get_subject() retorna las informaciones sobre el nombre distintivo del sujeto codificado en el csr, incluyendo los campos commonName (CN), organizationName (O), countryName (C) etc.

Parámetros

csr

Véase Parámetros de CSR para una lista de valores válidos.

short_names

short_names controla cómo los datos son indexados en el array - si short_names es true (por omisión) entonces los campos serán indexados con la forma corta del nombre, de lo contrario el nombre completo será utilizado - por ejemplo: CN es la forma corta de commonName.

Valores devueltos

Retorna un tableau asociativo con las descripciones de los sujetos, o false en caso de error.

Historial de cambios

Versión Descripción
8.0.0 csr ahora acepta una instancia de OpenSSLCertificateSigningRequest ; anteriormente, se aceptaba un recurso de tipo OpenSSL X.509 CSR.

Ejemplos

Ejemplo #1 Ejemplo con 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));
?>

El resultado del ejemplo sería algo similar a:

Array
(
    [C] => CA
    [ST] => Alberta
    [L] => Calgary
    [O] => XYZ Widgets Inc
    [OU] => PHP Documentation Team
    [CN] => Wez Furlong
    [emailAddress] => wez@example.com
)

Ver también