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.
Poznámka
Postup popsaný v této části předpokládá, že uživatelé (nebo klienti CryptoAPI) již mají vlastní sadu párů veřejného a privátního klíče a také získali navzájem veřejných klíčů.
Následující obrázek ukazuje, jak pomocí tohoto postupu odeslat zašifrovanou zprávu.
Tento přístup je ohrožený alespoň jednou běžnou formou útoku. Eavesdropper může získat kopie jedné nebo více šifrovaných zpráv a šifrovaných klíčů. Později pak může eavesdropper odeslat jednu z těchto zpráv příjemci a příjemce nebude mít žádný způsob, jak zjistit, že zpráva nebyla přímo od původního odesílatele. Toto riziko lze zkrátit časovým razítkem všech zpráv nebo pomocí sériových čísel.
Nejjednodušší způsob, jak odeslat šifrované zprávy jinému uživateli, je odeslat zprávu zašifrovanou náhodným klíčem relace spolu s klíčem relace šifrovaným pomocí klíče příjemce výměny klíčů.
Následuje postup pro odeslání šifrovaného klíče relace.
Odeslání šifrovaného klíče relace
- Pomocí funkce CryptGenKey vytvořte náhodný klíč relace .
- Zašifrujte zprávu pomocí klíče relace. Tento postup je popsán v šifrování a dešifrování dat.
- Exportujte klíč relace do klíče BLOB pomocí funkce CryptExportKey a určete, že klíč se zašifruje pomocí veřejného klíče výměny klíčů cílového uživatele.
- Odešle zašifrovanou zprávu i objekt BLOB šifrovaného klíče cílovému uživateli.
- Cílový uživatel importuje objekt BLOB klíče do svého CSP pomocí funkce CryptImportKey. Tím se automaticky dešifruje klíč relace za předpokladu, že veřejný klíč výměny klíčů cílového uživatele byl zadán v kroku 3.
- Cílový uživatel pak může zprávu dešifrovat pomocí klíče relace, a to podle postupu popisovaného v šifrování a dešifrování dat.