openssl_csr_export

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

openssl_csr_exportExporte un CSR vers un fichier ou une variable

Description

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

openssl_csr_export() prend la demande de signature de certificat représentée par CSR et la stocke au format PEM dans output, qui est passé par référence.

Liste de paramètres

csr

Voir les paramètres CSR pour obtenir une liste des valeurs valides.

output

en cas de succès, cette chaîne contiendra le CSR encodé en PEM

no_text

Le paramètre optionnel notext affecte le niveau verbeux de l'affichage ; s'il vaut false, des informations humainement lisibles seront ajoutées dans l'affichage. Par défaut, le paramètre notext vaut true.

Valeurs de retour

Cette fonction retourne true en cas de succès ou false si une erreur survient.

Historique

Version Description
8.0.0 csr accepte désormais une instance de OpenSSLCertificateSigningRequest ; auparavant, une ressource de type OpenSSL X.509 CSR était accepté.

Exemples

Exemple #1 openssl_csr_export() example

<?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;
?>

Voir aussi

add a note add a note

User Contributed Notes 1 note

up
2
carlos AT wfmh DOT org DOT pl
22 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