Skip to content

By Тодор in Linux

Според издателя на квалифицирания електронен подпис, инсталацията му в линукс е предизвикателство от различно ниво. Приемам, че подписа е коректно инсталиран според заводската му документация, и че плъгина на 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 да ползва новата Жава, вместо вградената:

Това е всичко.

Приятно подаване и подписване!

Tags: , , , , , , , , , , ,

Comment Feed

8 Responses

  1. Алекс01.04.2020 @ 1:43 pm

    Здрасти, колега!
    И аз като теб боря тъмната материя на НАП и Митницата. И аз стигнах до момента с изпълнението на JNLP файла. Първоначално пробвах с icedtea, после се сетих, че javaws има във всеки пакет на java-та, просто трябва да се укаже в свойствата на JNLP файла да се изпълнява чрез даден javaws (ако имаш инсталирани повече Java-и),
    За съжаление при мен при опит за подписване се стартира приложението StampIT Local Services, но натам – нищо. Това под Linux Mint 19.1
    Иначе, с Win го нагласих и там работи – стартира се приложението за подпис и т.н.
    МД, за работа с митниците е необходима Java v.7, докато за НАП трябва v.8 – идиотщина някаква.
    Ако имаш някаква идея какво може да се чупи, помагай!

  2. StampIT приложението като се стартира трябва да заеме порт tcp/8090, на който очаква заявки за подписване. Провери дали това се случва или дали порта не е зает от нещо друго:
    netstat -nalp | grep 8090

  3. Алекс02.04.2020 @ 1:47 pm

    То приложението се стартира на порт 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 няма и счупен пакет.

  4. Алекс02.04.2020 @ 10:24 pm

    Да завърша епопеята: днес се свързах с човек, който се занимава професионално с тези неща, беше изключително отзивчив, даже конфигурира лаптопа ми през anydesk.
    Та с две думи – последният Firefox + последната Java и всичко е ОК.
    Голямо благодарско на Елин.

  5. Мариан11.04.2020 @ 3:48 pm

    Аз сложих Oracle-ската JAVA 11 и пак не сработи. Продължавам да получавам същата грешка, която е описана по-горе.

  6. Мариан11.04.2020 @ 5:16 pm

    След известно мъчение го подкарах.
    Сложих 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

  7. @Мариан, на каква дистрибуция се получава така?

  8. leon11.09.2020 @ 1:56 pm

    Благодаря! Много полезна статия.



Some HTML is OK

or, reply to this post via trackback.