openssl_csr_export

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

openssl_csr_exportExports a CSR as a string

Opis

openssl_csr_export ( mixed $csr , string &$out [, bool $notext = TRUE ] ) : bool

openssl_csr_export() takes the Certificate Signing Request represented by csr and stores it in PEM format in out, which is passed by reference.

Parametry

csr

Zobacz parametry CSR aby poznać listę poprawnych wartości.

out

on success, this string will contain the PEM encoded CSR

notext

Opcjonalny parametr notext wpływa na szczegółowość komunikatów wyjścia. Jeśli wynosi FALSE, wówczas do wyjścia dołączane są dodatkowe informacje zrozumiałe dla ludzi. Wartość domyślna parametru notext wynosi: TRUE.

Zwracane wartości

Zwraca TRUE w przypadku powodzenia, FALSE w przypadku błędu.

Przykłady

Przykład #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;
?>

Zobacz też:

add a note add a note

User Contributed Notes 1 note

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