Nous avons un ensemble de clés et de certificats publics et privés sur le serveur. Le problème est que, même si le chiffrement public fonctionne correctement, la phrase secrète pour le .key
le fichier s'est perdu.
Ainsi, lorsque vous essayez d'exécuter la commande suivante:
openssl rsa -in the.key
Il demandera évidemment la phrase secrète. Est-il possible d'obtenir la phrase secrète perdue d'une manière ou d'une autre?
L'intérêt d'avoir une phrase secrète est de verrouiller toute personne qui ne la connaît pas. Le permettre d'être récupéré défierait le principe et permettrait aux pirates qui ont accès à votre certificat de récupérer vos clés.
Donc non, il n'y a rien de tel.
Ce que vous devez faire est de déclarer les clés perdues pour l'émetteur afin qu'elles révoquent votre certificat. Ensuite, vous devez en créer un nouveau à partir de zéro.
D'après votre description, il semble que le serveur utilise actuellement la clé, ce qui signifie que le serveur "connaît" la phrase de passe. Si cela est correct et que vous disposez d'un accès approprié au serveur, vous devriez pouvoir l'extraire. La manière de procéder dépend de la nature du logiciel serveur et de sa configuration.
À titre d'exemple, si vous exécutiez Apache et qu'il y avait quelque chose comme ça dans le fichier httpd.conf:
SSLPassPhraseDialog exec:/etc/Apache2/getsslpassphrase
Cela signifie qu'Apache exécutera/etc/Apache2/getsslpassphrase pour obtenir les phrases de passe; et vous pouvez faire de même:
Sudo /etc/Apache2/getsslpassphrase server.example.com:443 RSA
doit générer la phrase secrète de la clé server.example.com.
Pour les autres logiciels serveur (ou Apache avec différentes options de configuration), vous devez spécifier les détails.
Dans certaines circonstances, il peut être possible de récupérer la clé privée avec un nouveau mot de passe. Il faudrait que l'autorité de certification émettrice ait créé le certificat avec prise en charge de la récupération de clé privée.
Cela n'est normalement pas fait, sauf lorsque la clé est utilisée pour crypter des informations, par ex. lorsqu'il est utilisé pour le cryptage des e-mails ou des fichiers. L'autorité de certification émettrice devrait être en mesure de vous dire si la récupération de clé est possible et de vous aider à recréer la clé avec un nouveau mot de passe si c'est le cas.
En ce qui concerne nos connaissances actuelles, il n'y a que la force brute disponible. Demandez à la personne qui a créé la clé d'essayer de se souvenir de la phrase secrète et essayez. Si ce n'est pas disponible, essayez un programme de craquage qui génère des mots de passe populaires comme générateur de phrase secrète.
Cependant, lorsque la phrase secrète a été bien choisie, vos chances de casser la clé sont minimes.
Juste pour offrir une vue alternative, je dirais que c'est très certainement possible. Cependant, c'est très probablement pas du tout pratique .
Le processus est connu sous le nom de cracking, et implique généralement une attaque par force brute ou une attaque basée sur un dictionnaire (peut-être aidée avec les faiblesses de l'algorithme nouvellement détectées). En fonction de la complexité de la phrase secrète utilisée et de votre puissance de calcul, cela peut prendre de plusieurs minutes à plusieurs milliards d'années.
Donc, si vous vous souvenez de la plupart des mots de la phrase secrète ou si elle était très courte et que les données qu'elle crypte sont très importantes pour vous et ne peuvent pas être obtenues autrement - cela pourrait valoir la peine d'essayer. Sinon, comme d'autres disent, c'est parti (à moins que la faiblesse critique de l'algorithme ne devienne publique dans les années suivantes, bien sûr).
Pour le processus lui-même si vous décidez qu'il vaut la peine d'essayer, voir par exemple cette question