Function.openssl-csr-sign
Aus PHP-Wiki
Ratenkredit Vergleichen Online - Die Effektivverzinsung und weitere Tücken und Kauf von Lebensversicherungen Vergleichen Online - Die Bedingungen, Kleiderschrank Jazz von Zöllner . Typklassen
openssl_csr_sign — Signiert einen CSR mit einem anderen Zertifikat (oder sich selbst) und generiert ein Zertifikat
Inhaltsverzeichnis |
Beschreibung
resource openssl_csr_sign (mixed $csr ,mixed $cacert ,mixed $priv_key , int $days [, array $configargs [, int $serial ]] )
openssl_csr_sign() erzeugt eine x509
Zertifikatressource aus dem übergebenen CSR.
Hinweis:
Die ordnungsgemäße Ausführung dieser Funktion setzt die Installation
einer gültigen openssl.cnf Datei voraus.
Mehr Information hierzu finden sie im Installationsabschnitt.
Parameter-Liste
- csr
- Ein zuvor mit openssl_csr_new() erzeugter CSR. Es kann sich aber auch um den Pfad zu einer PEM-kodierten CSR-Datei in der Form file://path/to/csr handeln oder einen String wie von openssl_csr_export() zurückgegeben.
- cacert
- Das generierte Zertifikat wird mit cacert signiert. Falls Sie hier NULL angeben wird ein selbstsigniertes Zertifikat erstellt.
- priv_key
- priv_key ist der zu cacert gehörende private Schlüssel.
- days
- days Die Gültigkeitsdauer des Zertifikats, in Tagen.
- configargs
- Mit configargs können Sie die Signierung des CSR feiner abstimmen. Für weitere Informationen lesen Sie bitte openssl_csr_new().
- serial
- Eine optionale Seriennummer für das ausgestellte Zertifikat. Wenn nicht abgegeben wird der Standardwert 0 verwendet.
Rückgabewerte
Gibt bei Erfolg eine x509 Zertifikat-Ressource zurück, FALSE bei einem Fehler.
ChangeLog
Version
Beschreibung
4.3.3
Der Parameter serial
wurde hinzugefügt.
Beispiele
Beispiel #1 openssl_csr_sign() example - signing a CSR (how to implement your own CA)
<?php // Annahme: dieses Skript erhält einen CSR, der auf einer anderen Seite in // eine Textarea eingegeben wurde. $csrdata = $_POST["CSR"]; // Wir werden die Anfrage mit unserem eigenen ""certificate authority" // Zertifikat signieren. Sie können jedes beliebige Zertifikat verwenden, um // ein anderes zu signieren. Aber das Ganze ist ziemlich nutzlos, solange die // Software/Benutzer, die dieses neu signierte Zertifikat nutzen werden, dem // signierenden Zertifikat // Wir brauchen unser CA Zertifikat und dessen privaten Schlüssel $cacert = "file://path/to/ca.crt"; $privkey = array("file://path/to/ca.key", "your_ca_key_passphrase"); $userscert = openssl_csr_sign($csrdata, $cacert, $privkey, 365); // Jetzt zeigem wir das generierte Zertifikat an, damit die Benutzer es // kopieren und in ihre lokale Konfiguration einfügen können (wie z.B. eine // Datei, die das Zertifikat für ihren SSL Server enthalten soll. openssl_x509_export($usercert, $certout); echo $certout; // Anzeigen der möglichen aufgetretenen Fehler while (($e = openssl_error_string()) !== false) { echo $e . "\n"; } ?>