Според издателя на квалифицирания електронен подпис, инсталацията му в линукс е предизвикателство от различно ниво. Приемам, че подписа е коректно инсталиран според заводската му документация, и че плъгина на Firefox работи.
Това е достатъчно, за да се влезе в почти всеки сайт искащ удостоверяване с КЕП. Включително и в портала с електронни услуги, предоставяни от Националната Агенция по Приходите (НАП).
За да свършим някаква работа в този портал, обаче, само удостоверяването при влизане не е достатъчно. Всичко, което се попълва и изпраща, трябва да е допълнително подписано. А това става с… Java приложение разбира се 🙂
В Linux Mint 19.03 е необходимо да се инсталира icedtea-netx:
sudo apt install icedtea-netx
След това вече jnlp-то може да се изпълни, за да видим това:
StampIT LocalServices cannot start: access denied (“java.util.PropertyPermission” “com.sun.net.httpserver.HttpserverProvider” “read”)
И тук приказквата свършва.
Всичкото търсене води до стари документи обясняващи как да ползваме вече не съществуващи плъгини и методи. Firefox ликвидира Java плъгина преди време, защото е твърде голяма дупка.
Необходимо е да се инсталира “оригиналният” пакет Oracle Java.
Изтегляме актуалната Жава от https://java.com/en/download/linux_manual.jsp
След, като се разкомпресира пакета, се мести на подходящо място:
sudo mkdir -p -v /opt/java/64
sudo mv -v jre1.* /opt/java/64
Правим новото JRE по подразбиране:
sudo update-alternatives --install "/usr/bin/java" "java" "/opt/java/64/jre1.8.0_241/bin/java" 1
sudo update-alternatives --set java /opt/java/64/jre1.8.0_241/bin/java
Добра идея е да ограничим размера на дисковия кеш след това:
/opt/java/64/jre1.8.0_241/bin/ControlPanel

И сега, най-ключовия момент – да кажем на icedtea да ползва новата Жава, вместо вградената:

Това е всичко.
Приятно подаване и подписване!
Здрасти, колега!
И аз като теб боря тъмната материя на НАП и Митницата. И аз стигнах до момента с изпълнението на JNLP файла. Първоначално пробвах с icedtea, после се сетих, че javaws има във всеки пакет на java-та, просто трябва да се укаже в свойствата на JNLP файла да се изпълнява чрез даден javaws (ако имаш инсталирани повече Java-и),
За съжаление при мен при опит за подписване се стартира приложението StampIT Local Services, но натам – нищо. Това под Linux Mint 19.1
Иначе, с Win го нагласих и там работи – стартира се приложението за подпис и т.н.
МД, за работа с митниците е необходима Java v.7, докато за НАП трябва v.8 – идиотщина някаква.
Ако имаш някаква идея какво може да се чупи, помагай!
StampIT приложението като се стартира трябва да заеме порт tcp/8090, на който очаква заявки за подписване. Провери дали това се случва или дали порта не е зает от нещо друго:
netstat -nalp | grep 8090
То приложението се стартира на порт 8090, проблемът е, че след това не се продължава.
Под Windows, обаче, слухти на порт 8089. И като заговорихме за портове, се сетих да видя какви заявки има към това приложение. Пуснах един tcpdump и ето резИлтата:
13:16:33.251551 IP 127.0.0.1.34352 > 127.0.0.1.8089: Flags [S], seq 3899605630, win 65495, options [mss 65495,sackOK,TS val 1239497822 ecr 0,nop,wscale 7], length 0
13:16:33.251559 IP 127.0.0.1.8089 > 127.0.0.1.34352: Flags [R.], seq 0, ack 3899605631, win 0, length 0
13:16:33.251897 IP 127.0.0.1.34354 > 127.0.0.1.8089: Flags [S], seq 3609303835, win 65495, options [mss 65495,sackOK,TS val 1239497823 ecr 0,nop,wscale 7], length 0
13:16:33.251902 IP 127.0.0.1.8089 > 127.0.0.1.34354: Flags [R.], seq 0, ack 3609303836, win 0, length 0
Нещо прави два опита за връзка на порт 8089 (Flags [S], т.е. SYN-пакет), но тъй като там няма никой, на следващите редове ОС-а връща RESET-и (Flags [R.]). Т.е., възниква въпроса защо под Win StampIT приложението слуша на порт 8089, а под Linux – на порт 8090. А, да – към порт 8090 няма и счупен пакет.
Да завърша епопеята: днес се свързах с човек, който се занимава професионално с тези неща, беше изключително отзивчив, даже конфигурира лаптопа ми през anydesk.
Та с две думи – последният Firefox + последната Java и всичко е ОК.
Голямо благодарско на Елин.
Аз сложих Oracle-ската JAVA 11 и пак не сработи. Продължавам да получавам същата грешка, която е описана по-горе.
След известно мъчение го подкарах.
Сложих jdk1.8.0_241 от Oracle, и копирах файла rt.jar от /lib/jre/rt.jar в /lib/rt.jar, тъй като след-като променях JVM Setting-a на IcedTea излизаше warning относно този файл.
След това успях да стартирам stampitls-vat.jnlp използвайки javaws.
javaws stampitls-vat.jnlp
@Мариан, на каква дистрибуция се получава така?
Благодаря! Много полезна статия.
Благодаря и аз! Всичко си тръгна като последвах съветите и копирах rt.jar Статията е светъл лъч в тъмните дебри на вечно недоузрелите неща около подписите, браузърите, Линукс и родните държавни системи. Айде със здраве!