openssl pkey new()

Från Wiki.linux.se
Hoppa till navigering Hoppa till sök

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.