Vérification de mot de passe de clé RSA

J’ai eu un peu de mal à vérifier si le mot de passe saisie dans sylabe pour déverrouiller une entité était le bon mot de passe.

Il semble y avoir un petit bugg de la fonction openssl_pkey_get_private. Lorsque l’on charge le fichier contenant la clé privée chiffrée et qu’on le passe à cette fonction, on a le code erreur suivant :

error:0906D06C:PEM routines:PEM_read_bio:no start line

En fait, il faut envoyer la concaténation de la clé publique puis de la clé privée…

Le code php qui fonctionne :

$publcert = file_get_contents("pub/o/$nebule_publ_entite");
$privcert = file_get_contents("pub/o/$nebule_priv_entite");
$cert = "$publcert$privcert";
$r = openssl_pkey_get_private($cert, $nebule_pass_entite);
if ( $r === false ) { return false; } else { return true; }

Ce serait bien si le message d’erreur était plus clair… comme dirait l’autre

Maintenant que je peux m’assurer si le mot de passe est bon, je peux essayer d’utiliser la clé RSA :-)

Laisser un commentaire