Spravil, ale iba pre Firefox: OpenSC PKCS11. Ostatne browsery na to bohuzial nemaju API, takze univerzalne riesenie nie je z toho dovodu.
Na Slovensku je ta aplikacia "uzasna": http server na localhoste. Aj KeepassXC takyto system kedysi pouzival a dnes ho oznacuje ako nebezpecny a odporuca userom prejst na Native Messaging.
Tak, ako to robi spominany Keepass: Native messaging - https://developer.mozilla.org/en-US/Add-ons/WebExtensions/Native_messaging
Resp. v pripade browserov, ktore to podporuju, pouzivat nativnu podporu PKCS11.
AJAX je to uz roky a preto localhost https server je siroko kompatibilne a bezpecne riesenie.
Nativne PKCS11 ma podla mozilly tragickukompatibilitu https://developer.mozilla.org/en-US/Add-ons/WebExtensions/API/pkcs11 a preto je to pre siroke masy uplne nevhodne riesenie.
Password managery sa zbavuju localhostu ako horuceho zemiaka. S http na localhoste sa moze bavit lubovolny proces a oni chcu iba pouzivatelov browser (a ano, maju autentifikaciu). Preto je tu native messaging, kde nativnu aplikaciu spusta browser, bavi sa s nou cez stdin/stdout a ostatne aplikacie nemaju sancu ani len zacat komunikovat. Toto podporuju Firefox, Chrome, Edge.
V dlhodobejsej perspektive by som nepocital s tym, ze browsery nepritvrdia origin policy a nezakazu javascriptu z remote originu pripajat sa na localhost. Niektore blockery to robia uz dnes.
Ano, PKCS nativne nepodporuje vela browserov, preto som napisal "tam kde je to mozne". Vyhodou je, ze netreba ziadny extra software, pretoze pkcs11 pluginy su standardny software, netreba ich vyvijat specialne pre konkretne pouzitie (a pouzivatelia nebudu nadavat, ze je dostupny iba pre davno obsolete verzie systemu, vid eid klient a podporovane verzie macos a linuxu) a vsetko co treba urobit je, aby stranka, na ktorej sa pouzivatel autentifikuje, toto podporovala. Pokial browser nepodporuje pkcs11, vzdy je mozne urobit fallback na nainstalovany sw, tak ako dnes.
Ono to "funguje" podľa podmienok
A) Firma nakúpila čítačku za 3,50 EUR/kus , nahrala do nej vlastný firmware, ktorý menil len vendorID a zabránil fungovaní originálnym ovládačom/ktoré sú default v každom distre a predal to štátu za 20 EUR/kus
B) SW je pre MS Windows, a deb balíček (pôvodne bez závislostí v ňom), ktorý sa inštaloval cez shell skript bez práv
na spustenie. Dnes je časť závislostí v balíčku a časť inštalovaná skriptom cez gdebi v ubuntu (prečo nejde o apt/apt-get).
C) Plugin,aby to šlo funguje vo Firefoxe a Chrome/Chromium, ale nie v Opera-e.
D) Čuduj sa svete, deb ide prekonveretovať cez alien do rpm a treba ešte upraviť ten skript
a ide aj pod OpenSUSE..
E) Aplikácie na niektoré služby štátu sú Microsoft only resp. ak sú v Java, tak sú v JRE6 s propietárnyimi doplnkami od výrobcu aplikácie.......
Čipová karta je malý více-méně univerzální počítač, ve kterém běží nějaký software. S kartou se dá komunikovat pomocí standardizovaných příkazů – ty umí z (velkého) počítače posílat třeba právě PCSC knihovna a payload těchto příkazů přistane v tom softwaru, co běží uvnitř. Takže na straně počítače je potřeba přidat tzv. middleware, software, který na jedné straně implementuje standardní rozhraní pro čipové karty, třeba PKCS#11, a na straně druhé posílá rozhraním PCSC počítači ve smart kartě příkazy, kterým rozumí software, který v čipové kartě běží.