(PHP 4 >= 4.2.0, PHP 5, PHP 7, PHP 8)
openssl_pkey_new — Génère une nouvelle clé privée
openssl_pkey_new() génère une nouvelle clé privée. Comment obtenir le composant publique de la clé est démontré dans un exemple ci-dessous.
Note: Vous devez avoir un fichier openssl.cnf valide et installé pour que cette fonction opère correctement. Voir les notes se trouvant dans la section concernant l'installation pour plus d'informations.
options
Vous pouvez calibrer la génération de la clé (comme le nombre de
bits) en utilisant le paramètre options
. Voir la fonction
openssl_csr_new() pour plus de détails sur
options
.
Retourne une instance de OpenSSLAsymmetricKey en cas de succès, false
en cas d'erreur.
Version | Description |
---|---|
8.0.0 |
En cas de succès, cette fonction retourne désormais une instance de
OpenSSLAsymmetricKey ;
auparavant, une ressource de type OpenSSL key était retournée.
|
7.1.0 |
L'option curve_name a été ajouté
pour permettre la création de clés EC.
|
Exemple #1 Obtain the public key from a private key
<?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);
?>
Résultat de l'exemple ci-dessus est similaire à :
-----BEGIN PUBLIC KEY----- -----BEGIN PUBLIC KEY----- MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArZFsmN2P6rx1Xt7YV95o gcdlal0k3ryiIhFNzjwtRNNTXfEfBr6lUuaIJYQ8/XqEBX0hpcfuuF6tTRlonA3t WLME0QFD93YVsAaXcy76YqjjqcRRodIBphAbYyyMI/lXkQAdn7kbAmr7neSOsMYJ El9Wo4Hl4oG6e52ZnYHyqW9dxh4hX93eupR2TmcCdVf+r9xoHewP0KJYSHt7vDUX AQlWYcQiWHIadFsmL0orr6mutlXFReoHbesgKY9/3YLOu0JfxflSjIZ2JeL1NTl1 MsmODsUwgAUrwnWKKx+eQUP5g3GnSB3dPkRh9zRVRiLNWbCugyjrf3e6DgQWrW7j pwIDAQAB -----END PUBLIC KEY----- resource(5) of type (OpenSSL key)