PHP 8.5.0 Alpha 2 available for testing

openssl_csr_export

(PHP 4 >= 4.2.0, PHP 5, PHP 7, PHP 8)

openssl_csr_exportExporta un CSR a un fichero o una variable

Descripción

openssl_csr_export(OpenSSLCertificateSigningRequest|string $csr, string &$output, bool $no_text = true): bool

openssl_csr_export() toma la solicitud de firma de certificado representada por CSR y la almacena en formato PEM en output, que es pasado por referencia.

Parámetros

csr

Ver los parámetros CSR para obtener una lista de los valores válidos.

output

En caso de éxito, esta cadena contendrá el CSR codificado en PEM

no_text

El parámetro opcional notext afecta al nivel de verbosidad del display; si vale false, se añadirán información legible por humanos en el display. Por omisión, el parámetro notext vale true.

Valores devueltos

Esta función retorna true en caso de éxito o false si ocurre un error.

Historial de cambios

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

Ejemplos

Ejemplo #1 Ejemplo de openssl_csr_export()

<?php
$subject
= array(
"commonName" => "example.com",
);
$private_key = openssl_pkey_new(array(
"private_key_bits" => 2048,
"private_key_type" => OPENSSL_KEYTYPE_RSA,
));
$configargs = array(
'digest_alg' => 'sha256WithRSAEncryption'
);
$csr = openssl_csr_new($subject, $private_key, $configargs);
openssl_csr_export($csr, $csr_string);
echo
$csr_string;
?>

Ver también

add a note

User Contributed Notes 1 note

up
3
carlos AT wfmh DOT org DOT pl
23 years ago
Here you come with the example of how to use this function.

if( $csr = openssl_csr_new( array(
"countryName"=>"PL",
"stateOrProvinceName" => "blah",
"organizationName" => "company ltd",
"commonName"=>"foo.bar.com",
"Email"=>"blah@foo.bar.com"), $privkey )
)
{
openssl_csr_export_to_file( $csr, "out.csr");
}
else
{
printf("failed\n");
}

Keep in mind that keys are case sensitive (i.e. give "email" instead of "Email" and you get warning). Also remember it's important to keep the order of the arguments in array. Move the "Email" above commonName and check what you get (in case you don't know how: "openssl req -noout -text -in out.csr").

It also happened to me me I got segfault when order was rubbish (afair Email after countryName, or plenty Email's here and there), so be awared.
To Top