Delen via


Ondertekende gegevens decoderen

Het volgende algemene proces decodeert een ondertekend datatype van het type.

Een ondertekend bericht decoderen

  1. Haal een aanwijzer op naar de gecodeerde BLOB.
  2. Roep CryptMsgOpenToDecodeaan, waarbij de benodigde argumenten worden doorgegeven.
  3. Roep CryptMsgUpdate één keer aan en geef de ingang door die is opgehaald in stap 2 en een aanwijzer naar de gegevens die moeten worden gedecodeerd. Dit zorgt ervoor dat de juiste acties op het bericht worden uitgevoerd, afhankelijk van het berichttype.
  4. Roep CryptMsgGetParam-aan, waarbij de ingang die in stap 2 is opgehaald en de juiste parametertypen worden doorgegeven om toegang te krijgen tot de gedecodeerde gegevens. Geef bijvoorbeeld CMSG_CONTENT_PARAM door om een aanwijzer op te halen naar de gedecodeerde inhoud.

Het volgende algemene proces controleert de handtekening van een gedecodeerd, ondertekend bericht.

De handtekening van een gedecodeerd bericht controleren

  1. Roep CryptMsgGetParam-aan, geef de berichtgreep door en CMSG_SIGNER_CERT_INFO_PARAM om de CERT_INFO van de ondertekenaar van het bericht op te halen.
  2. Roep CertOpenStore- aan om een tijdelijk archief te openen dat is geïnitialiseerd met de certificaten van het bericht.
  3. Roep CertGetSubjectCertificateFromStore aan om de CERT_INFO van de ondertekenaar op te halen uit de certificaten die zijn opgenomen in het bericht.
  4. Roep CryptMsgControlaan en geef CMSG_CTRL_VERIFY_SIGNATURE door om de handtekeningen te verifiëren.
  5. Roep CryptMsgClose- aan om het bericht te sluiten.

Het resultaat van deze procedures is dat de handtekening wordt geverifieerd en een aanwijzer wordt opgehaald naar de gedecodeerde berichtinhoud die is verkregen in stap 4 van de procedure voor het decoderen van een ondertekend bericht.

Zie voorbeeld van het C-programma: ondertekening, codering, decoderen en verifiëren van een berichtvoor meer informatie over C-codering.