Vérification d’un message signé

Ces étapes vérifient la signature des données signées. L’illustration suivante représente les tâches individuelles qui doivent être accomplies, comme indiqué dans la liste qui la suit.

vérification d’un message signé

Pour vérifier la signature d’un message signé

  1. Obtient un pointeur vers le message signé.

  2. Ouvrez un magasin de certificats.

  3. À l’aide de l’ID du signataire contenu dans le message, récupérez le certificat de l’expéditeur et recevez un handle de sa clé publique.

    Comme alternative aux étapes 2 et 3, vous pouvez utiliser le certificat contenu dans le message pour récupérer la clé publique du signataire.

  4. À l’aide de la clé publique du signataire, déchiffrez la signature numérique, en générant le condensé d’origine des données dans le message.

  5. À l’aide de l’algorithme de hachage contenu dans le message, Hachez les données contenues dans le message, en générant un nouveau condensé.

  6. Comparez le condensé récupéré à partir du message avec le nouveau condensé que vous venez de créer.

  7. Si les deux résumés correspondent, la signature est vérifiée. Cela signifie que la clé privée qui a été utilisée pour signer les données correspond à la clé publique utilisée pour déchiffrer la signature, et que les données n’ont pas changé depuis la signature des données.

    Si les deux résumés ne correspondent pas, cela signifie que la signature n’est pas vérifiée et que les clés privée/publique ne correspondent pas, ou que les données ont été modifiées depuis la signature des données, ou les deux à la fois.

Une seule fonction, CryptVerifyMessageSignature, peut être utilisée pour vérifier une signature, comme indiqué dans la procédure suivante.

Pour vérifier un message signé

  1. Obtient un pointeur vers le message signé.
  2. Obtient la taille du message signé.
  3. Obtenir un handle sur un fournisseur de services de chiffrement.
  4. Initialisez la structure du _ _ message _ de vérification de chiffrement.
  5. Appelez CryptVerifyMessageSignature pour vérifier la signature.

Le code qui implémente cette procédure est inclus dans l' exemple de programme C : signature d’un message et vérification d’une signature de message.