openssl_pkey_new

(PHP 4 >= 4.2.0, PHP 5, PHP 7, PHP 8)

openssl_pkey_newGénère une nouvelle clé privée

Description

openssl_pkey_new(?array $options = null): OpenSSLAsymmetricKey|false

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.

Liste de paramètres

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.

Valeurs de retour

Retourne une instance de OpenSSLAsymmetricKey en cas de succès, false en cas d'erreur.

Historique

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.

Exemples

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)