openssl pkey new()
openssl_pkey_new
(PHP 4 >= 4.2.0, PHP 5, PHP 7, PHP 8)
openssl_pkey_new — Genererar en ny privat nyckel
Beskrivning
openssl_pkey_new(?array $options = null): OpenSSLAsymmetricKey|false
Funktionen `openssl_pkey_new()` genererar en ny privat nyckel. Exempel på hur man hämtar den publika komponenten av nyckeln visas nedan.
Notera: Du måste ha en giltig openssl.cnf installerad för att denna funktion ska fungera korrekt. Se installationssektionen för mer information.
Parametrar
options Du kan finjustera nyckelgenereringen (såsom att specificera antal bitar) med hjälp av options. Se openssl_csr_new() för mer information om options.
Returvärden
Returnerar en OpenSSLAsymmetricKey-instans för pkey vid framgång, eller false vid fel.
Ändringslogg
Version | Beskrivning |
---|---|
8.0.0 | Vid framgång returnerar denna funktion nu en instans av OpenSSLAsymmetricKey; tidigare returnerades en resurs av typen OpenSSL key. |
7.1.0 | Parametern curve_name lades till i options för att möjliggöra skapandet av EC-nycklar baserade på elliptiska kurvor. |
Exempel
Exempel #1 Hämta den publika nyckeln från en privat nyckel
<?php $private_key = openssl_pkey_new(); $public_key_pem = openssl_pkey_get_details($private_key)['key']; echo $public_key_pem, PHP_EOL; $public_key = openssl_pkey_get_public($public_key_pem); var_dump($public_key); ?>
Utdata från exemplet ovan kommer att se ut så här:
// Utdata före PHP 8.0.0; notera att funktionen returnerar en resurs -----BEGIN PUBLIC KEY----- MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAwknBFEherZe74BiRjTFA hqwZ1SK7brwq7C/afnLXKhRR7jnrpfM0ypC46q8xz5UZswenZakJ7kd5fls+r4Bv 3P8XsKYLTh2m1GiWQhV1g77cNIN4qNWh70PiDO3fB2446o1LBgToQYuRZS5YQRfJ rVD0ysgtVcCU9tjaey28HlgApOpYFTaaKPj2MBmEYpMC+kG2HhL12GfpHUi2eiXI dXT2WskWHWvUrmQ7fJIfI92JlDokV62DH/q1oiedLs9OPNb0rL1aAmYdzaVN6XNH x/o4Lh125v2vAPV9E3fZCDc/HDEUaahpjanMiCQEgEDp5Hr+CRkvERT5/ydN+p08 5wIDAQAB -----END PUBLIC KEY----- resource(6) of type (OpenSSL key) // Utdata från och med PHP 8.0.0; notera att funktionen returnerar ett objekt -----BEGIN PUBLIC KEY----- MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAwknBFEherZe74BiRjTFA hqwZ1SK7brwq7C/afnLXKhRR7jnrpfM0ypC46q8xz5UZswenZakJ7kd5fls+r4Bv 3P8XsKYLTh2m1GiWQhV1g77cNIN4qNWh70PiDO3fB2446o1LBgToQYuRZS5YQRfJ rVD0ysgtVcCU9tjaey28HlgApOpYFTaaKPj2MBmEYpMC+kG2HhL12GfpHUi2eiXI dXT2WskWHWvUrmQ7fJIfI92JlDokV62DH/q1oiedLs9OPNb0rL1aAmYdzaVN6XNH x/o4Lh125v2vAPV9E3fZCDc/HDEUaahpjanMiCQEgEDp5Hr+CRkvERT5/ydN+p08 5wIDAQAB -----END PUBLIC KEY----- object(OpenSSLAsymmetricKey)#2 (0) { }
Sidslut
Orginalhemsidan på Engelska :https://www.php.net/manual/en/function.openssl-pkey-new.php PHP Funktioner Funktionsreferens OpenSSL-funktioner
Det här är en maskinöversättning av PHP-manualen till svenska. Om du hittar fel är vi tacksamma om du rapporterar dem via formuläret som finns på
https://www.linux.se/kontaka-linux-se/
Tack till Datorhjälp som har sponsrat Linux.se med webserver.