![]() | Version 2.4.0 |
Version 2.4.0 was released on 21.11.2022.
Doplněna kompletní podpora podpisu pomocí certifikátu s klíči typu ECDSA (eliptické křivky). Doposud byly podporovány pouze RSA klíče. Zatím nelze importovat ECDSA z PEM souborů na platformách Windows a iOS (zde zůstává pro import ECDSA pouze PFX/p12 formát).
Doplněna autodetekce HW bezpečnostních zařízeních (HW Token) TokenMe a ProID od PostSignum na Mac OSX a Linux.
Doplněna podpora MacOS 13. Předchozí verze WebSigner nemusely v tomto prostředí fungovat ve všem korektně.
[Client runtime] Doplněna podpora novějších verzí Linux (například Ubuntu 22.x), kde klientská aplikace nešla spustit.
Na Windows doplněna podpora SW kryptografických poskytovatelů (CSP), které mají privátní klíč uložen mimo klientský počítač (obdobné chování jako u HW poskytovatelů - HW token).
Změněna logika klientské aplikace při použití funkce Storno při zadávání hesla pro přístupu k privátnímu klíči či HW Tokenu. Doposud byl v takovém případě podpis ukončen bez provedeného podpisu. Nově je uživatel vrácen do hlavního okna pro podpis a může zvolit jiný certifikát, případně podpis opakovat s původně vybraným certifikátem.
Při hromadném podpisu více dokumentů byl doplněn informační pruh o průběhu podepisování (grafické procentuální vyjádření dokončení podepisování).
Při hromadném podpisu byla při ukládání podpisů do výsledných dokumentů ve stránce ve web prohlížeči k informativnímu textu „Ukládám vytvořené podpisy...“ doplněna i textová informace o průběhu ukládání procentuálním vyjádřením.
Urychlení hromadných podpisů díky paralelnímu provádění přípravy dokumentů pro podpis na straně serveru a vlastním podepisováním na straně klienta. Zrychlení se projeví především v případě, kdy je podepisováno pomocí HW Tokenu, který je obecně pomalý (postupné podepisování se spustí hned po přípravě prvního dokumentu, tedy že se nečeká až budou připraveny všechny dokumenty).
Doplněna podpora dvou-fázové autentizace při použití HW Tokenu na Mac OSX a Linux (PIN k tokenu + PIN k privátnímu klíči).
Doplněna podpora pro Safari na Mac OSX v režimu šetření energie, kdy docházelo k přerušení podepisovací session po cca 1 minutě od spuštění.
Přidána monitorovací URL /ASDWebSigner/SignatureContext/Monitor pro sledování dostupnosti a stavu podepisovací komponenty z dohledových monitorovacích systémů.
Optimalizace výkonu získávání informací o odvolání certifikátů pro dlouhodobé ověřování platnosti podpisu LTV v případě hromadných podpisů. Nově je ověření prováděno pouze jednou pro všechny podpisy dohromady, původně bylo prováděno opakovaně pro každý podpis. Při podpisu řádově stovek dokumentů může zabránit blokaci ze strany certifikačních autorit z důvodu podezření na DDoS útok.
Optimalizace čtení OCSP statusu odvolání certifikátu pro LTV režim (dlouhodobé ověření podpisu) a publikace případných chyb. Nově není možno podepsat s nastavením Ades=LtvOcsp, pokud není OCSP server CA dostupný nebo vrátí chybu.
Doplnění jména organizace případně identifikace organizace (atribut OID.2.5.4.97) do zobrazovaného názvu certifikátu ve výběrovém seznamu certifikátů pro podpis, pokud jsou v certifikátu uvedeny a jsou odlišné od základního názvu certifikátu.
Doplněna detekce a podpora prohlížeče Opera Touch na mobilní platformě.
Ošetření stavu na Mac OSX a Linux, kdy je na počítači nainstalováno více PKCS11 poskytovatelů, přičemž při jejich vyhledávání a načítání certifikátu dojde k chybě Pkcs11Exception: Method C_GetTokenInfo returned CKR_GENERAL_ERROR, a to v případě, kdy poskytovatel, který není určen pro aktuálně vložený Token se jej pokusí načíst, následně dojde k pádu aplikace a není možno použít žádný certifikát. Bylo provedeno i dodatečné ošetření pro případ, že by došlo k jakémukoliv dalšími problému s načítáním dat z tokenu. V takovém případě nebude dostupný pouze Token/Certifikát, u kterého došlo k problému, ale aplikace nespadne a je možno použít jiný dostupný Token/Certifikát.
Zajištění správné hodnoty v HttpContext.Session v dlouho trvajícím vlákně pro uložení podpisu pro případné následné použití v implementaci SignerBase v prostředí .NET Core/NET na straně serveru v případě, že hostující aplikace používá Session. Doposud tato property nabývala jiné hodnoty, než odpovídala Session z prohlížeče. V případě .NET Framework prostředí vše fungovalo správně i dříve.
Ošetření nepodporovaných algoritmů podepisovacích klíčů certifikátů. V případě nepodporovaného algoritmu je certifikát označen v seznamu červeně s popisem důvodu, přičemž v takovém případě jej nelze použít pro podpis. Před verzi 2.4.0 byl podporován pouze algoritmus RSA. Od verze 2.4.0 je podporován i algoritmus ECDSA.
Ošetření stavu na Android, kdy uživatel neudělil/odebral oprávnění pro přístup aplikace k souborům. V takovém případě aplikace bez varování spadla (byla ukončena). Nyní je zobrazen systémový dialog pro povolení oprávnění.
Úprava podpora režimu uspávání prohlížečů na mobilní platformě v novějších verzích Android a iOS, pokud se během podpisu nachází v pozadí. Na nových OS vedlo k předčasnému ukončení podepisovací session.
Úprava instalačního skriptu klientské aplikace pro Linux, tak aby byl funkční i při použití Web Proxy s autentizací.
Oprava chyby na Mac OSX a Linux, kdy po kliku na + tlačítko pro zobrazení dialogu pro přidání/odebrání certifikátů je dialog zobrazen za hlavním oknem v případě kliku ještě před načtením podepisovaného obsahu.
Oprava chyby na mobilních platformách Android a iOS, kdy uživatel neměl nastaveno na zařízení ověření pomocí otisku prstu, ale měl nastaveno ověření pomocí rozpoznání obličeje. V takovém případě aplikace umožnila nekorektně nastavit ochranu použití privátních klíčů pomocí biometrie (otisk prstu), čímž došlo k zablokování aplikace a bylo ji nutno odinstalovat a znovu nainstalovat.
Oprava chyby, kdy v případě, že se po úspěšném ověření kvalifikovaného certifikátu v EU TSL nepodařilo stáhnou vydávající certifikát CA, byl takový certifikát neadekvátně neakceptován pro podpis. Nyní lze takový certifikát použít a je zalogován problém se stažením certifikátu CA. Problém nenastával v případě, kdy byla celá cesta certifikátů CA nainstalována v lokálním úložišti CA v OS.
Oprava chyby na Mac OSX a Linux, kdy mohla být některá dialogová okna a upozorňující hlášení zobrazena za předchozím aktivním oknem a tím nebyla vidět.
Oprava vizuální chyby na Mac OSX a Linux, kdy po rozbalení seznamu certifikátů a následném přesunu polohy hlavního okna zůstal seznam certifikátů zobrazen mimo hlavní okno na původní poloze.
Oprava chyby v prostředí Mac OSX, kdy mohlo dojít k pádu aplikace při kliku na tlačítko + pro přidání certifikátů ještě před tím, než byl načten podepisovaný obsah.
Oprava bezpečnostní chyby CWE-601: URL Redirection to Untrusted Site ('Open Redirect'), viz. https://www.security-database.com/cwe.php?name=CWE-601
Oprava bezpečnostní chyby CWE-524: Information Exposure Through Caching, viz. https://www.security-database.com/cwe.php?name=CWE-524
Oprava drobných nedostatků v logování a trasování pro lepší zjišťování problémových stavů.
Změna úrovně logování požadavků na neexistující session z úrovně Information na úroveň Warning.
[Breaking change] Ukončení podpory .NET 4.5 na straně serveru. Nyní je vyžadován minimálně .NET Framework 4.6.1+ nebo .NET Core 3.1 nebo .NET 5.0+.
[Breaking change] Zjednodušení metody AddAsdWebSignerWithSignTools na .NET Core a .NET platformě, odebrán již zbytečný parametr configuration.
[Client runtime] doplnění verze Client Runtime do informativního výpisu/logu při startu klienta.
Ošetření chyby System.NotSupportedException: The certificate key algorithm is not supported při deserializaci seznamu certifikátu poslaných z klienta na server v případě, kdy byl v seznamu nějaký certifikát z ECDSA algoritmem (eliptické křivky). V takovém případě nešlo následně podepsat žádným certifikátem, tedy ani se standardním RSA algoritmem.
Pokud byl nakonfigurována implementace IAuthenticationPersistor, tak v případě, kdy byl HtpContect.Curent.User null, tak nebyla volána metoda IAuthenticationPersistor.RestoreUser a tím byl kód pro předání podpisu vyvolaný z WebSignera prováděn v anonymním kontextu bez přihlášení uživatele.
Pokud byla nakonfigurována implementace IAuthenticationPersistor, tak byla opravena chyba v .NET Framework prostředí, kdy nebyl při volání uložení výsledku podpisů nastaven (obnoven) HttpContext.Current.User na původní autentizovanou hodnotu. V prostředí .NET Core toto fungovalo správně.