PHP 8.4.1 Released!

openssl_csr_export

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

openssl_csr_exportExportiert einen CSR als Zeichenkette

Beschreibung

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

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

Parameter-Liste

csr

Eine Liste der gültigen Werte ist unter CSR-Parameter zu finden.

output

Im Erfolgsfall enthält diese Zeichenkette den PEM-kodierten CSR.

no_text

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. Bei einem Fehler wird false zurückgegeben.

Changelog

Version Beschreibung
8.0.0 Der Parameter csr akzeptiert nun eine OpenSSLCertificateSigningRequest-Instanz; vorher wurde eine Ressource vom Typ OpenSSL X.509 CSR akzeptiert.

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

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