Een ondertekend bericht verifiëren
Met deze stappen controleert u de handtekening van ondertekende gegevens. In de volgende afbeelding ziet u de afzonderlijke taken die moeten worden uitgevoerd, zoals wordt weergegeven in de lijst die erop volgt.
De handtekening van een ondertekend bericht controleren
Een aanwijzer naar het ondertekende bericht verkrijgen.
Open een certificaatwinkel.
Met behulp van de ondertekenaar-id in het bericht, haalt u het certificaat van de afzender op en verkrijgt u toegang tot de openbare sleutel.
Als alternatief voor stap 2 en 3 kunt u het certificaat in het bericht gebruiken om de openbare sleutel van de ondertekenaar op te halen.
Ontsleutel de digitale handtekening met behulp van de openbare sleutel van de ondertekenaar, waardoor de oorspronkelijke samenvatting van de gegevens in het bericht wordt gegenereerd.
Door gebruik te maken van het hash-algoritme dat in het bericht is opgenomen, worden de gegevens gehasht, hash, wat resulteert in een nieuwe hash-samenvatting.
Vergelijk de samenvatting die is opgehaald uit het bericht met de nieuwe samenvatting die zojuist is gemaakt.
Als de twee samenvattingen overeenkomen, wordt de handtekening gecontroleerd. Dit betekent dat de persoonlijke sleutel die is gebruikt om de gegevens te ondertekenen, overeenkomt met de openbare sleutel die zojuist is gebruikt om de handtekening te ontsleutelen en dat de gegevens niet zijn gewijzigd sinds de gegevens zijn ondertekend.
Als de twee samenvattingen niet overeenkomen, wordt de handtekening niet geverifieerd en komen de persoonlijke/openbare sleutels niet overeen, of zijn de gegevens gewijzigd sinds de gegevens zijn ondertekend, of beide.
Eén functie, CryptVerifyMessageSignature, kan worden gebruikt om een handtekening te verifiëren, zoals wordt weergegeven in de volgende procedure.
Een ondertekend bericht controleren
- Haal een aanwijzer op naar het ondertekende bericht.
- De grootte van het ondertekende bericht ophalen.
- Krijg grip op een cryptografische provider.
- Initialiseer de CRYPT_VERIFY_MESSAGE_PARA structuur.
- Roep CryptVerifyMessageSignature aan om de handtekening te verifiëren.
Code waarmee deze procedure wordt geïmplementeerd, is opgenomen in voorbeeld-C-programma: een bericht ondertekenen en een berichthandtekening verifiëren.