Ověření podepsané zprávy

Tyto kroky ověřují podpis podepsaných dat. Následující obrázek znázorňuje jednotlivé úkoly, které je třeba provést, jak je znázorněno v seznamu, který následuje za ním.

ověření podepsané zprávy

Ověření podpisu podepsané zprávy

  1. Získejte ukazatel na podepsanou zprávu.

  2. Otevřete úložiště certifikátů .

  3. Pomocí ID podepisující osoby obsažené ve zprávě získejte certifikát odesílatele a získejte popisovač jeho veřejného klíče.

    Jako alternativu k krokům 2 a 3 můžete použít certifikát obsažený ve zprávě k načtení veřejného klíče podepisující osoby.

  4. Pomocí veřejného klíče podepisující osoby dešifrujte digitální podpis a vygenerujte původní přehled dat ve zprávě.

  5. Pomocí hashovacího algoritmu obsaženého ve zprávě zahešujte data obsažená ve zprávě, čímž získáte nový hash.

  6. Porovnejte hodnotu hash načtenou ze zprávy s nově vytvořenou hodnotou hash.

  7. Pokud se oba hashy shodují, podpis se ověří. To znamená, že privátní klíč, který se použil k podepsání dat, odpovídá veřejnému klíči použitému k dešifrování podpisu a že se data od podpisu nezměnila.

    Pokud se tyto dvě hodnoty hash neshodují, podpis se neověří, což může být způsobeno tím, že buď se neshodují soukromé a veřejné klíče, nebo byla data od doby jejich podepsání změněna, případně obojím.

Jednu funkci CryptVerifyMessageSignaturelze použít k ověření podpisu, jak je znázorněno v následujícím postupu.

Ověření podepsané zprávy

  1. Získejte ukazatel na podepsanou zprávu.
  2. Získejte velikost podepsané zprávy.
  3. Získejte kontrolu nad kryptografickým poskytovatelem.
  4. Inicializuje strukturu CRYPT_VERIFY_MESSAGE_PARA.
  5. Voláním CryptVerifyMessageSignature ověřte podpis.

Kód, který implementuje tento postup, je součástí programu Příklad C: Podepsání zprávy a ověření podpisu zprávy.