openssl_pkey_new
(PHP 4 >= 4.2.0, PHP 5, PHP 7, PHP 8)
openssl_pkey_new — Erzeugt einen neuen privaten Schlüssel
Beschreibung
openssl_pkey_new() erzeugt einen neuen privaten Schlüssel. Wie man den öffentlichen Teil des Schlüssels erhält, wird in einem Beispiel unten gezeigt.
Hinweis: Die ordnungsgemäße Ausführung dieser Funktion setzt die Installation einer gültigen openssl.cnf-Datei voraus. Mehr Information hierzu finden sie im Abschnitt Installations.
Parameter-Liste
-
options
-
Die Schlüsselerzeugung kann mit
options
feiner abgestimmt werden (z.B. die Angabe der verwendeten Bits). Weitere Informationen überoptions
sind der Dokumentation zu openssl_csr_new() zu entnehmen.
Rückgabewerte
Gibt bei Erfolg eine OpenSSLAsymmetricKey-Instanz
zurück oder false
, wenn ein Fehler auftritt.
Changelog
Version | Beschreibung |
---|---|
8.0.0 |
Bei Erfolg gibt diese Funktion nun eine
OpenSSLAsymmetricKey-Instanz zurück; vorher
wurde eine Ressource vom Typ OpenSSL-Schlüssel
zurückgegeben.
|
7.1.0 |
Das Konfigurationsargument curve_name wurde
hinzugefügt, sodass EC-Schlüssel erzeugt werden können.
|
Beispiele
Beispiel #1 Aus einem privaten Schlüssel den öffentlichen Schlüssel gewinnen
<?php
$private_key = openssl_pkey_new();
$public_key_pem = openssl_pkey_get_details($private_key)['key'];
echo $public_key_pem;
$public_key = openssl_pkey_get_public($public_key_pem);
var_dump($public_key);
?>
Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:
-----BEGIN PUBLIC KEY----- MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArZFsmN2P6rx1Xt7YV95o gcdlal0k3ryiIhFNzjwtRNNTXfEfBr6lUuaIJYQ8/XqEBX0hpcfuuF6tTRlonA3t WLME0QFD93YVsAaXcy76YqjjqcRRodIBphAbYyyMI/lXkQAdn7kbAmr7neSOsMYJ El9Wo4Hl4oG6e52ZnYHyqW9dxh4hX93eupR2TmcCdVf+r9xoHewP0KJYSHt7vDUX AQlWYcQiWHIadFsmL0orr6mutlXFReoHbesgKY9/3YLOu0JfxflSjIZ2JeL1NTl1 MsmODsUwgAUrwnWKKx+eQUP5g3GnSB3dPkRh9zRVRiLNWbCugyjrf3e6DgQWrW7j pwIDAQAB -----END PUBLIC KEY----- resource(5) of type (OpenSSL key)