Comment vérifier l’intégrité de la paire de clés privées ?

Vous pouvez vérifier l’intégrité d’un certificat SSL et d’une paire de clés privées à l’aide de l’utilitaire
OpenSSL
et ses lignes de commande.

Le processus se déroule en quatre étapes :

  1. Vérifiez que la clé privée n’a pas été modifiée.
  2. Vérifier la correspondance entre la valeur du module, la clé privée et la paire de certificats SSL.
  3. Cryptage avec la clé publique du certificat et décryptage avec la clé privée.
  4. Confirmer l’intégrité du fichier, qui est signé avec la clé privée.

Vérifier l’intégrité de la clé privée

Exécutez la commande suivante : openssl rsa -in [key-file .key] -check -noout

Voici un exemple de clé privée corrompue :

erreur de clé privée

D’autres erreurs résultant d’une clé altérée ou falsifiée sont énumérées ci-dessous :

  • Erreur de clé RSA : p n’est pas premier
  • Erreur de clé RSA : n n’est pas égal à p q
  • Erreur de clé RSA : d e non congru à 1
  • Erreur de clé RSA : dmp1 non congruent à d
  • Erreur de clé RSA : iqmp n’est pas l’inverse de q

Si vous avez rencontré l’une des erreurs ci-dessus, votre clé privée a été altérée et peut ne pas fonctionner avec votre clé publique. Envisagez de créer une nouvelle clé privée et de demander un certificat de remplacement.

Voici un exemple de clé privée qui respecte l’intégrité :

Clé rsa ok

Vérifier la correspondance entre la valeur du module, la clé privée et la paire de certificats SSL.


Remarque :

Le module de la clé privée et du certificat doit correspondre exactement.

Pour afficher le module du certificat, exécutez la commande suivante :

openssl x509 -noout -modulus -in [certificate-file .cer]

Pour afficher la clé privée Modulus, exécutez la commande :

openssl rsa -noout -modulus -in [key-file .key]

Cryptage avec la clé publique et décryptage avec la clé privée

1. Obtenez la clé publique du certificat:

openssl x509 -in [certificate-file .cer] -noout -pubkey > certificatefile.pub.cer

2. Chiffrer le contenu du fichier test.txt à l’aide de la clé publique

Créez un nouveau fichier appelé test.txt (vous pouvez utiliser le Bloc-notes) avec le contenu “message test”. Exécutez la commande suivante pour créer un message crypté dans le fichier cipher.txt.

openssl rsautl -encrypt -in test.txt -pubin -inkey certificatefile.pub.cer -out cipher.txt

3. Décryptage de cipher.txt à l’aide de la clé privée
Exécutez la commande suivante pour décrypter le contenu de cipher.txt.

openssl rsautl -decrypt -in cipher.txt -inkey [key-file .key]

Assurez-vous que vous pouvez déchiffrer le contenu de votre fichier cipher.txt sur votre terminal. La sortie du terminal doit correspondre au contenu du fichier test.txt.

Si le contenu ne correspond pas, la clé privée a été altérée et peut ne pas fonctionner avec votre clé publique. Envisagez de créer une nouvelle clé privée et de demander un certificat de remplacement. Voici un exemple de message décrypté :

test de message

4. Confirmer l’intégrité du fichier signé avec la clé privée

Exécutez la commande suivante pour signer les fichiers test.sig et test.txt avec votre clé privée :

openssl dgst -sha256 -sign [key-file .key] -out test.sig test.txt

Maintenant, vérifiez les fichiers signés avec votre clé publique extraite à l’étape 1.

openssl dgst -sha256 -verify certificatefile.pub.cer -signature test.sig test.txt

Assurez-vous que la sortie du terminal est exactement comme dans l’exemple ci-dessous :

vérifié ok
Si votre clé privée est falsifiée, vous recevrez le message suivant :

échec de la vérification
Dans ce cas, vous devez créer une nouvelle clé privée et demander un certificat de remplacement.

Source : Base de connaissances de Digicert

Economisez 10% sur les certificats SSL en commandant aujourd’hui!

Émission rapide, cryptage puissant, confiance de 99,99 % du navigateur, assistance dédiée et garantie de remboursement de 25 jours. Code de coupon: SAVE10