(PHP 4 >= 4.2.0, PHP 5, PHP 7, PHP 8)
openssl_pkey_new — Erzeugt einen neuen privaten Schlüssel
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 sind im Abschnitt Installation zu finden.
options
Die Schlüsselerzeugung kann mit options
feiner
abgestimmt werden (z. B. die Angabe der verwendeten Bits). Weitere
Informationen über options
sind der
Dokumentation zu openssl_csr_new() zu entnehmen.
Gibt bei Erfolg eine OpenSSLAsymmetricKey-Instanz
zurück oder false
, wenn ein Fehler auftritt.
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.
|
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)