Potíže s Javou při použití certifikátu pro vstup na web

Re:Potíže s Javou při použití certifikátu pro vstup na web
« Odpověď #15 kdy: 27. 03. 2016, 08:01:33 »
Pod rootem jsem pouštěl pouze tuto stránku.
Jenom celou stránku a celou tu šílenou aplikaci, která vyžaduje plný přístup k zápisu kamkoli na váš disk. Autor té aplikace je buď neuvěřitelně drzý, a řekl si, že když ke škodění potřebuje rootovská práva, tak si o ně prostě řekne. A nebo je neuvěřitelně neschopný, pak bych se nebál úmyslného útoku, ale toho, že  ta aplikace bude pěkně děravá.

Proč k podpisu certifikátem potřebují Javu nevím, podle mě jde možná o anachronismus z pradávných let, na portálu VZP vše běží přes prohlížeč a bez problémů.
Vy jste předtím psal o přihlášení. K tomu Java potřeba není. Teď píšete o elektronickém podpisu, ten naopak v současné době není možné bezpečně udělat jen v prohlížeči, Java je pak nejlepší volba (podpis v prohlížeči jde udělat jedině s privátním klíčem v souboru, což má k bezpečnosti daleko).

Možnost, že ovlivním portál ZP  k nějaké změně je asi nulová, budu se s tím muset smířit
Pokud se s tím smíříte, je ta možnost opravdu nulová. Ono je klidně možné, že programátoři toho portálu se už mezitím naučili, jak se distribuují Java aplikace, ale když to chtějí změnit, zeptá se manažer nebo zadavatel – stěžoval si někdo? Nestěžoval, takže není důvod to měnit.

kolegové s Windows budou dál používat ActiveX řešení.
To ActiveX řešení předpokládám funguje jenom v Internet Exploreru.

Ty informace podpoře portalzp.cz předám, ale je to jako byste chtěl takové změny po bance nebo státní správě.
To já si představit dokážu. Programátoři takových aplikací si dokážou vymyslet takové opravy a vylepšení, že by vás jako klienta nikdy nenapadly. Akorát to nebudou dělat ve svém volném čase a klienti jsou spokojeni se současným stavem.


Jan Kulhánek

Re:Potíže s Javou při použití certifikátu pro vstup na web
« Odpověď #16 kdy: 27. 03. 2016, 13:21:05 »
Omlouváme se za matení pojmů. Prostě to má fungovat tak, že kvalifikovaným certifikátem se přihlásíte na portál zdravotních pojišťoven. K podpisu se certifikát používá při podepisování dodatků smluv u některých pojišťoven, to se pak řeší přes podpis PDF souborů a to je jiná kapitola.
S podporou PortalZP jsem mluvil asi před třemi týdny, mám dojem, že řešení kdysi prostě někde koupili a už ho neudržují, nezdál se být moc kompetentní pro řešení problémů s Javou.
ActiveX je opravdu jen pro IE, skusil jsem to jen tak z legrace rozchodit přes Wine, ale zřejmě není ve Wine podpora pro certifikáty. Prohlížeč IE 8 jsem nainstaloval, certifikát do něj uložil, nastavení ActiveX také udělal, ale nefunguje to. To ale píšu jen pro zajímavost, tímto způsobem problém řešit nechci.


Jan Kulhánek

Re:Potíže s Javou při použití certifikátu pro vstup na web
« Odpověď #17 kdy: 08. 04. 2016, 10:04:37 »
Díky moc, určitě to vyzkouším.

Majo

Re:Potíže s Javou při použití certifikátu pro vstup na web
« Odpověď #18 kdy: 08. 04. 2016, 19:31:30 »
Tak ja by som toto spravanie sa aplikacie zrovna za "prasarnu" alebo "humus" neoznacoval.
Podla dostupnych informacii z logu sa to snazi doinstalovat JCE kniznicu, teda java kryptograficke rozsirenie. Postupoval by som presne ako technomaniak - stiahol tieto kniznice manualne a nakopiroval ich do java adresarovej struktury.
Podla mojich znalosti java dovoli nacitat niektore kniznice len z $JAVA_HOME adresara (a jeho podadresarov). JCE kniznice sa zvycajne instaluju do "Java Optional Packages" adresara - $JAVA_HOME/jre/lib/ext.
V tvojom pripade je $JAVA_HOME=/usr/lib/jvm/java-8-oracle/

Majo

Re:Potíže s Javou při použití certifikátu pro vstup na web
« Odpověď #19 kdy: 08. 04. 2016, 21:56:52 »
Tak ja by som toto spravanie sa aplikacie zrovna za "prasarnu" alebo "humus" neoznacoval.
Zjevně máte velmi posunutý práh bolesti.

Podla dostupnych informacii z logu sa to snazi doinstalovat JCE kniznicu, teda java kryptograficke rozsirenie.
Ne, podle dostupných informací z logu se to snaží doinstalovat JCE, ale vedle ní také další knihovny.

Třeba KeyStore Explorer ke svému běhu také potřebuje JCE, ale řeší to tak, že uživateli v prohlížeči otevře příslušnou stránku ke stažení a instruuje uživatele, co má s knihovnou udělat. Což je postup, který vede k cíli, protože to udělá uživatel sám, pokud může získat příslušná oprávnění, nebo má přesný popis, co má požadovat po správci.

Navíc tenhle způsob pokoutné distribuce a instalace je nejspíš nelegální – před stažením JCE z webu musíte odsouhlasit nějaké podmínky, v README v distribuovaném souboru jsou napsané další podmínky, na to celé ta aplikace kašle.

Postupoval by som presne ako technomaniak - stiahol tieto kniznice manualne a nakopiroval ich do java adresarovej struktury.
Při vašem snížené prahu bolesti vás asi nenapadlo, že to vůbec nemusí stačit, protože té aplikaci může být úplně jedno, že tam ty knihovny už jsou, a může se pokoušet je tam nainstalovat znova.

Navíc ta aplikace se tam pokouší nainstalovat různé knihovny, např. kryptografickou knihovnu IAIK. Tu tam nainstaluje v nějaké své verzi, jiná aplikace bude chtít použít IAIK ve své verzi, jenže IAIK v bootclasspath dostane přednost – a ta aplikace nebude fungovat.

Nebo-li pokud si chce uživatel úplně rozbít JRE, aby mu přestalo fungovat co nejvíc Java aplikací, doporučuju ten postup s kopírováním knihoven do systémového adresáře.

Podla mojich znalosti java dovoli nacitat niektore kniznice len z $JAVA_HOME adresara (a jeho podadresarov).
To máte špatné znalosti. $JAVA_HOME je systémová proměnná prostředí, která podle konvence ukazuje JRE nebo JDK. Ale tu konvenci používají některé Java programy, samotné JRE od Oracle tuhle proměnnou vůbec nepotřebuje.

Knihovny umístěné v adresářích JRE se automaticky přidávají na BOOTCLASSPATH a mají přednost před knihovnami ve standardní CLASSPATH. Ale i BOOTCLASSPATH je možné při startu aplikace změnit.

JCE kniznice sa zvycajne instaluju do "Java Optional Packages" adresara - $JAVA_HOME/jre/lib/ext.
Ne, instalují se do JRE do adresáře lib/security. Což zjistí každý, kdo si JCE normálně stáhne a přečte si soubor README.txt uvnitř toho staženého zipu. Pokud někomu tu knihovnu pokoutně podstrčí do systému nějaká aplikace, tak se tohle samozřejmě nedozví.


Majo

Re:Potíže s Javou při použití certifikátu pro vstup na web
« Odpověď #20 kdy: 10. 04. 2016, 15:06:14 »
Zjevně máte velmi posunutý práh bolesti.
No musim priznat ze ten prah bolesti uz trosku posunuty mam  ;). Bohuzial banky a poistovne stale setria prostriedkami vynalozenymi na vyvoj aplikacii a potom to takto vyzera.

Ne, podle dostupných informací z logu se to snaží doinstalovat JCE, ale vedle ní také další knihovny.
Aby sme sa netahali za slovicka. Snazi sa to nainstalovat Oracle JCE Jurisdiction policy subory a okrem toho kniznice samotneho IAIK JCE rozsirenia.

Třeba KeyStore Explorer ke svému běhu také potřebuje JCE, ale řeší to tak, že uživateli v prohlížeči otevře příslušnou stránku ke stažení a instruuje uživatele, co má s knihovnou udělat. Což je postup, který vede k cíli, protože to udělá uživatel sám, pokud může získat příslušná oprávnění, nebo má přesný popis, co má požadovat po správci.

Navíc tenhle způsob pokoutné distribuce a instalace je nejspíš nelegální – před stažením JCE z webu musíte odsouhlasit nějaké podmínky, v README v distribuovaném souboru jsou napsané další podmínky, na to celé ta aplikace kašle.
Suhlasim s tym ze sposob distribucie nie je idealny. Podla vsetkeho si vyvojari snazili ulahcit pracu, pripadne sa vyhnut pisania uzivatelskej dokumentacie, ale to ich vobec neospravedlnuje. Co sa tyka licencii, samotna JCE o ktoru sa tu jedna (IAIK-JCE + PKCS add-on) vyzera byt komercne predavana takze tu mozme len dufat ze to ta zdravotna poistovna zakupila a ma to pokryte nejakou nelimitovanou licenciou. Samozrejme JCE jurisdiction policy subory (local_policy.jar, US_export_policy.jar) su ina vec, tie by mal uzivatel stiahnut z Oracle webu a nainstalovat sam.

Ne, instalují se do JRE do adresáře lib/security. Což zjistí každý, kdo si JCE normálně stáhne a přečte si soubor README.txt uvnitř toho staženého zipu. Pokud někomu tu knihovnu pokoutně podstrčí do systému nějaká aplikace, tak se tohle samozřejmě nedozví.
Stiahol som a precital. Lenze tu sa nebavime o JCE ale o JCE jurisdiction policy suboroch.
Tiez som si precital dokumentaciu k JCE IAIK ktora odporuca dva sposoby - bud pouzit CLASSPATH alebo nakopirovat subory do JRE/lib/ext adresara.

Pre konecneho uzivatela tu asi neostava vela moznosti ak chce danu aplikaciu pouzivat. Asi iba stiahut spravne JCE Jurisdiction policy od Oraclu a pouzit JCE IAIK subory od poistovne. Mozno by tu bola moznost dat tie JCE IAIK subory niekde do uzivatelskeho adresara a ten pridat do CLASSPATH, ja by som ich vsak na zaciatok nakopiroval to lib/ext a vyskusal ci ta aplikacia vobec funguje.

Re:Potíže s Javou při použití certifikátu pro vstup na web
« Odpověď #21 kdy: 10. 04. 2016, 15:56:35 »
Aby sme sa netahali za slovicka. Snazi sa to nainstalovat Oracle JCE Jurisdiction policy subory a okrem toho kniznice samotneho IAIK JCE rozsirenia.
Snaží se ta stáhnou a nainstalovat následujících šest souborů:
  • dutils.jar
  • iaik_jce_full_signed.jar
  • iaikPkcs11Provider_signed.jar
  • iaikPkcs11Wrapper.jar
  • local_policy.jar
  • US_export_policy.jar

To první jsou úplně obyčejné utility českého autora (balíček com.pvt dává tušit, kde by se dalo pátrat). Další tři jsou komponenty knihovny IAIK, která pokud vím nemá samostatné Unlimited Strength Jurisdiction Policy, protože všechny implementovnaé algoritmy jsou přímno součástí té základní verze. Teprve poslední dva jsou JCE Unlimited Strength Jurisdiction Policy od Oracle.

Stiahol som a precital. Lenze tu sa nebavime o JCE ale o JCE jurisdiction policy suboroch.
O těch já jsem také psal – chápal jsem to tak, že „JCE“ používáte jako zkratku pro „JCE Unlimited Strength Jurisdiction Policy“.

Tiez som si precital dokumentaciu k JCE IAIK ktora odporuca dva sposoby - bud pouzit CLASSPATH alebo nakopirovat subory do JRE/lib/ext adresara.
Přičemž ten druhý způsob je možný použít jedině v případě, že to JRE je vyhrazené pro aplikaci nebo aplikace, které počítají s tím, že budou mít na classpath tuto konkrétní verzi IAIK. Ono je naštěstí nutné JCE providera explicitně v kódu zaregistrovat, pokud by to tak nebylo, dalo by se pouhým nakopírováním těch knihoven do JRE/lib/ext odstavit aplikaci, která IAIK vůbec nepoužívá – stačilo by, že by při získávání implementací JCE neuváděla konkrétního providera a nacpalo se tam tohle „systémové“ IAIK, které by nepodporovalo nějaký algoritmus, se kterým daná aplikace počítá.

Pre konecneho uzivatela tu asi neostava vela moznosti ak chce danu aplikaciu pouzivat.
Tazatel ale psal o tom, že by chtěl, aby to mohli používat i ostatní uživatelé Linuxu. Což bude těžko splňovat postup – nainstalovat oddělené JRE, přepsat v něm soubory zasílané aplikací, nasměrovat na toto JRE prohlížeč. Navíc v tom balíčku pro stahování jsou i nějaké dll knihovny, takže uživatelům na Windows by se to nejspíš posléze pokoušelo zapisovat i do systémového adresáře Windows, a uživatelé Linuxu by měli stejně smůlu.

Asi iba stiahut spravne JCE Jurisdiction policy od Oraclu
Což nemusí pomoci, protože ta aplikace zjišťuje přítomnost správných souborů podle jejich kontrolního součtu – takže je potřeba použít přesně ty soubory dodávané s aplikací.

ja by som ich vsak na zaciatok nakopiroval to lib/ext a vyskusal ci ta aplikacia vobec funguje.
Otestovat, zda ta aplikace vůbec funguje, by měli především její autoři. V tomto případě je zjevné, že aby ten stávající stav někdo z pozice uživatele rozchodil, musel by mít mnohem větší znalosti, než původní autoři aplikace, a byla by to soustava hacků neaplikovatelná v jakémkoli jiném prostředí. Jediné rozumné, co se s touhle aplikací dá udělat, je hodit jí autorům na hlavu, ať to opraví.

Pokud tazatel opravdu chce trávit několik dní tím, aby to rozchodil sám u sebe, s rizikem, že druhý den vyjde nová verze a bude muset začít od začátku, ať se do toho klidně pustí. Ale těžko to s ním bude někdo hackovat přes diskusní fórum.

autor

Re:Potíže s Javou při použití certifikátu pro vstup na web
« Odpověď #22 kdy: 11. 04. 2016, 11:27:26 »
Ahoj, jsem autor té aplikace. Pobavilo mě, na co jsem tady dnes narazil :). Aplikace totiž pochází z roku 2003 a původně se používala v Servisu24 Spořitelny pro digitální podpis z čipových karet v prohlížeči. Pro portál ZP byla pouze trošku upravena několik let později a bylo tam jen přidáno rozhraní, které emulovalo vybrané funkce z ActiveX Signera, protože PZP chtěl vyjít vstříc uživatelům, kteří neměli Win a IE.
Co se týče té bezpečnosti, důvodem kopírování těch fajlů do lib-ext byla skutečně instalace kryptografického rozšíření do JRE. Jinak to dost blbě fungovalo a v appletu to pak blilo milón security výjimek atp. 9navíc při pokusech řešit to jinak to fungovalo s jednou verzí JRE, s jinou zas ne a ta instalace do extu to nakonec univerzálně vyřešila). Kdysi k tomu ke čtečce čip. karet dávala Spořitelna i instalační cédéčko. Jasný, že dneska už se to dělá jinak i ty applety jsou už dnes taková mrtvá technologie.
V té firmě už léta nedělám a to, že nebyli schopni zaplatit upgrade nebo vývoj nové moderní verze, není můj problém. Ale fakt pobavilo, že se to ještě používá, to jsem fakt nečekal :), některý věci mě asi ještě přežijou a uživatelé ještě budou proklínat můj hrob :)

autor

Re:Potíže s Javou při použití certifikátu pro vstup na web
« Odpověď #23 kdy: 11. 04. 2016, 14:11:23 »
Jinak k tomu byla i off-line instalace, tak se divím, že ji na PZP nemaj ke stažení. Jinak dokumentace k tomu byla rozsáhlá, Spořka k tomu dávala kromě čtečky karet a CD s instalací i takovou knížečku. A ty jejich požadavky byly na tu dobu taky docela nereálný, původně chtěli zpětnou kompatibilitu s Javou 1.1, což byl nesmysl, pak to skončilo na 1.3 :). Samo to prošlo taky drsným bezpečnostním auditem. Ale jak jsem psal, primárně to bylo určené pro práci s certifikátem na čipové kartě, což přinášelo další security problémy k tomu, že to mělo běžet v appletu.

technomaniak

Re:Potíže s Javou při použití certifikátu pro vstup na web
« Odpověď #24 kdy: 12. 04. 2016, 07:35:19 »
.. některý věci mě asi ještě přežijou a uživatelé ještě budou proklínat můj hrob :)
Jak, kteří. Ale určitě jsi tehdy netušil, že to může způsobit i flamewar.  ;D ;D ;D

"Případně jsi součástí konspiračního spiknutí proti Linuxu za účelem dobrovolného/nedobrovolného upgrade na Win10 " ;D ;D ;D ;D

Jan Kulhánek

Re:Potíže s Javou při použití certifikátu pro vstup na web
« Odpověď #25 kdy: 20. 04. 2016, 15:34:32 »
Tak diskuse nabrala zajímavý spád, autora bych tu nečekal, vítejte :-)
Priority pro Portál ZP jsou evidentně jinde, k upgrade je asi donutí až situace, kdy nepoběží ani ActiveX řešení.