Supprimer le chiffrement par « pass phrase » d'une clé RSA SSL
Rédigé par Marc GUILLAUME | Aucun commentaireTout comme les clés SSH
, les clés SSL
peuvent être chiffrées ou non avec une « pass phrase ». Les clés SSL sont généralement utilisées par des services de façon automatique, comme un serveur Apache ou Nginx par exemple, ou des logiciels de courrier comme Postfix. Du coup à chaque redémarrage du service il faudrait entrer la « pass phrase » pour déchiffrer la clé. Ce n'est pas pratique. Une solution est de mettre la clé en clair dans un fichier que peut lire le service. Mais des logiciels comme Postfix ne savent tout bonnement pas utiliser une clé chiffrée. Du coup Il faut savoir comment à partir de la clé chiffrée par la « pass phrase » générer un fichier de clé non chiffré.
La syntaxe générale de la commande est celle ci :
openssl rsa -in clef-avec-pass-phrase.pkey -out clef-sans-pass-phrase.key
où le fichier chiffré avec « pass phrase » est lu (-in
) et le fichier déchiffré est produit (-out
).
Bien entendu après avoir lancé cette commande vous est demandée la fameuse « pass phrase », que vous saisissez en aveugle, comme toujours en ligne de commande, et que vous validez par la touche Entrée. Si tout s'est bien passé vous lisez ceci :
Enter pass phrase for clef-avec-pass-phrase.pkey: writing RSA key
Vous avez maintenant dans votre répertoire deux fichiers :
-rw-r----- 1 marc marc 3243 mars 6 08:36 clef-sans-pass-phrase.key -rw-r----- 1 marc marc 3311 mars 5 19:59 clef-avec-pass-phrase.pkey
Si vous avez fait une erreur dans la « pass phrase » ou si vous ne la connaissez pas, vous obtiendrez quelque chose du genre :
Enter pass phrase for clef-avec-passphrase.pkey: unable to load Private Key 139708331300504:error:06065064:digital envelope routines:EVP_DecryptFinal_ex:bad decrypt:evp_enc.c:529: 139708331300504:error:0906A065:PEM routines:PEM_do_header:bad decrypt:pem_lib.c:482:
Ah oui, au fait, pour savoir si votre clé est chiffrée ou pas il suffit de lire son entête (par exemple en l'éditant avec la commande
cat
). Une clé chiffrée à un entête comme celui-ci :-----BEGIN RSA PRIVATE KEY----- Proc-Type: 4,ENCRYPTED DEK-Info: DES-EDE3-CBC,040D2D4B0B8E795BOn voit le mot «
ENCRYPTED
» qui indique que la clé a été chiffrée avec une « pass phrase ».