PHP 5.6.36 Released

openssl_csr_export

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

openssl_csr_exportExportiert einen CSR als Zeichenkette

Beschreibung

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

openssl_csr_export() exportiert die mit dem Parameter csr angegebene Zertifikatssignierungsanfrage und speichert diese im PEM-Format in der Zeichenkette out, die per Referenz übergeben wird.

Parameter-Liste

csr

See CSR parameters for a list of valid values.

out

Im Erfolgsfall enthält diese Zeichenkette das im PEM-Format kodierte CSR.

notext

Der optionale Parameternotext beinflusst die Ausführlichkeit der Ausgabe. Wenn er auf FALSE gesetzt wird, werden zusätzliche lesbare Informationen in die Ausgabe aufgenommen. Der Vorgabewert für notext ist TRUE.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 openssl_csr_export() Beispiel

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

Siehe auch

add a note add a note

User Contributed Notes 1 note

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