Dobry den,
vidim, ze dane problematice opravdu rozumite. Mohl byste se mi prosim ozvat na email vitywap /@/ seznam.cz? Mel bych par specifickych dotazu.
Ano, máte pravdu, SHA-2 ve Windows XP umí "Microsoft Enhanced RSA and AES Cryptographic Provider (Prototype)" a ne "Microsoft Enhanced Cryptographic Provider", jak jsem psal já.
Celá problematika SHA-2 není jenom problémem operačního systému, ale i aplikací, které agloritmus SHA-2 využívají a volají komponenty CSP.
Tyto komponenty přebírají od aplikací hodnotu funkce hash (pokud ji rovnou nepočítají samy) a s využitím šifrovacích mechanismů, které jsou v CSP zabudovány, provedou operaci podepsání. V případě, že modul CSP neumí s příslušnou délkou hodnoty hash pracovat, dojde k programové chybě a datovou zprávu není možné podepsat zvoleným algoritmem. CSP jsou jednak součástí operačního systému, popř. mohou být realizovány jako doplňkové moduly realizované jinou firmou než výrobcem operačního systému. Pokud tedy příslušný modul CSP nebude schopen podepsat hash definovaného algoritmu, pak samotná úprava aplikace pro podporu dalších hash algoritmu není dostačující. Rozhodnutí o tom, který CSP modul bude podepisující aplikací použit, je dáno tím, jaká informace o CSP je uložena u privátního klíče.
Operační systémy Microsoft Windows obsahují dva základní moduly CSP:
• Microsoft Enhanced Cryptographic Provider v1.0,
• Microsoft Base Smart Card Crypto Provider.
Operační systém Microsoft Windows XP SP3 obsahuje dále
• Microsoft Enhanced RSA and AES Cryptographic Provider (Prototype) a
operační systémy Microsoft Windows 2003 a vyšší, Windows Vista a vyšší místo výše uvedeného CSP pro Windows XP obsahují
• Microsoft Enhanced RSA and AES Cryptographic Provider.
Microsoft Enhanced Cryptographic Provider v1.0 nepodporuje podepisování s využitím hash algoritmů rodiny SHA-2.
Microsoft Enhanced RSA and AES Cryptographic Provider a Microsoft Enhanced RSA and AES Cryptographic Provider (Prototype) podporují podepisování s využitím hash algoritmů rodiny SHA-2.
Microsoft Base Smart Card Crypto Provider využívá vlastností čipové karty a proto podpora podepisování s využitím příslušných hash algoritmů je závislá na schopnostech čipové karty resp. jejího CSP.
Dalším faktorem, který vstupuje do hry, je formát, který slouží pro předání datové zprávy a elektronického podpisu. I v tomto případě je důležité, aby komponenty, které připravují výstupní data, byly schopny zpracovat nebo vytvořit výstup s použitím příslušných hash algoritmů. Jako příklad můžeme uvést výstup ve formátu PKCS#1, PKCS#7 nebo XML DSig.
Z výše uvedeného plyne, že za splnění příslušné skupiny podmínek je možné mít algoritmy SHA-2 i ve Windows XP. Ona ta věta není vlastně úplně správně, protože obecně platí, že za splnění příslušné skupiny podmínek je možné mít podporu alogritmů rodiny SHA-2 v každém OS.
U Windows XP SP3 standardně přednastavený CSP (crypto servis provider) nepodporuje použití SHA-2. Pokud SHA-2 chcete použít SHA-2, musíte v CryptoApi nastavit CSP na "Microsoft Enhanced Cryptographic Provider". To je ovšem dost divný hack jen pro jednu jedinou podverzi Windows.
To ale můžete použít jen u aplikací, ke kterým máte k dispozici zdrojový kód. V opačném případě musíte tlačit na autora aplikace, aby ji upravil.
No, a teď zkuste k něčemu užitečnému dotlačit třeba autora Outlooku.