Il s'agit d'un processus en trois étapes pour confirmer l'intégrité d'une paire de clés:
- Vérifiez l'intégrité d'une clé privée - qui n'a pas été altérée.
- Vérifiez que le module des clés privée et publique correspond.
- Effectuer avec succès le chiffrement à l'aide de la clé publique du certificat et le déchiffrement à l'aide de la clé privée.
- Vérifiez l' intégrité du fichier signé avec la clé privée.
Utilisez OpenSSL pour confirmer l'intégrité de la clé privée
openssl rsa -in [fichier-clé.clé] -check -noout
Exemple de clé privée ne respectant pas les critères d'intégrité:

Voici d'autres erreurs pouvant survenir suite à la falsification/au contrefaçon d'une clé:
- Erreur de clé RSA: p n'est pas premier
- Erreur de clé RSA: n est différent de p q
- Erreur de clé RSA: d e non congruent à 1
- Erreur de clé RSA: dmp1 n'est pas congruent à d
- Erreur de clé RSA: iqmp n'est pas l'inverse de q
Si vous avez reçu l'une des erreurs ci-dessus, cela signifie que votre clé privée a été manipulée et qu'elle risque de ne pas fonctionner avec votre clé publique. Il est conseillé de créer une nouvelle clé privée et de demander un certificat de remplacement.
Exemple de clé privée ne respectant pas les critères d'intégrité:

Ce qui précède indique une clé privée valide; passez à l'étape suivante, à savoir la comparaison du module.
Vérifiez que la valeur du module correspond à la paire de clés de la clé privée et du certificat SSL/TLS
Remarque: Le module de la clé privée et du certificat doit correspondre exactement.
Pour afficher le module du certificat:
openssl x509 -noout -modulus -in [fichier-certificat.cer]

Pour afficher le module de la clé privée:
openssl rsa -noout -modulus -in [fichier-clé.clé]

Effectuez le chiffrement avec la clé publique du certificat et le déchiffrement avec la clé privée
- Récupérer la clé publique du certificat
openssl x509 -in [fichier-certificat.cer] -noout -pubkey > fichier-certificat.pub.cer
Exemple de contenu du fichier de clé publique fichier-certificat.pub.cer:

- Chiffrez le contenu du fichier test.txt à l'aide de la clé publique
Créez un fichier nommé test.txt contenant le « message test ». Exécutez la commande suivante pour chiffrer le message et l'enregistrer dans le fichier cipher.txt
openssl pkeyutl -encrypt -in test.txt -pubin -inkey certificatefile.pub.cer -out cipher.txt

Exemple de résultat dans cipher.txt:

- Déchiffrez le fichier cipher.txt à l'aide de votre clé privée
Pour déchiffrer le contenu de cipher.txt, exécutez la commande suivante:
openssl pkeyutl -decrypt -in cipher.txt -inkey [fichier-clé.clé]
Vérifiez que vous pouvez déchiffrer le contenu de votre fichier cipher.txt dans votre terminal.
Assurez-vous que la sortie du terminal correspond au contenu du fichier test.txt
Si le contenu ne correspond pas, cela signifie que votre clé privée a été modifiée et qu'elle risque de ne pas fonctionner avec votre clé publique. Envisagez de créer une nouvelle clé privée et de demander un certificat de remplacement.

Exemple de résultat d'un message déchiffré avec succès:

- Confirmation de 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 [fichier-clé.clé] -out test.sig test.txt
Vérifiez les fichiers signés avec votre clé publique extraite à l'étape 1. Obtenez la clé publique à partir du certificat.
openssl dgst -sha256 -verify fichier-certificat.pub.cer -signature test.sig test.txt
Assurez-vous que la sortie du terminal ressemble à l'exemple ci-dessous.
Exemple de signature conforme:

Si vous recevez le message ci-dessous, votre clé privée a été manipulée et risque de ne pas fonctionner avec votre clé publique. Envisagez de créer une nouvelle clé privée et de demander un certificat de remplacement.
Exemple de signature non conforme:
