Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
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í podpisu podepsané zprávy
Získejte ukazatel na podepsanou zprávu.
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.
Pomocí veřejného klíče podepisující osoby dešifrujte digitální podpis a vygenerujte původní přehled dat ve zprávě.
Pomocí hashovacího algoritmu obsaženého ve zprávě zahešujte data obsažená ve zprávě, čímž získáte nový hash.
Porovnejte hodnotu hash načtenou ze zprávy s nově vytvořenou hodnotou hash.
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
- Získejte ukazatel na podepsanou zprávu.
- Získejte velikost podepsané zprávy.
- Získejte kontrolu nad kryptografickým poskytovatelem.
- Inicializuje strukturu CRYPT_VERIFY_MESSAGE_PARA.
- 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.