rev="post-971" 29 Comments
Според издателя на квалифицирания електронен подпис, инсталацията му в линукс е предизвикателство от различно ниво. Приемам, че подписа е коректно инсталиран според заводската му документация, и че плъгина на 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 Статията е светъл лъч в тъмните дебри на вечно недоузрелите неща около подписите, браузърите, Линукс и родните държавни системи. Айде със здраве!
Много ми помогна и на мен статията и коментарите.
В крайна сметка мога да съмъризирам какво направих в Ubuntu 20.04 LTS за да подкарам b-trust подписване:
Инсталиране на необходимите библиотеки + JRE
$ sudo apt install openjdk-8-jre-headless libpcsclite-dev libpcsclite1 pcscd icedtea-netx
Версията, която има нужда BISS приложението за локално подписване е 1.8:
$ java -version
openjdk version „1.8.0_282“
Стартирате десктоп приложението IcedTea Web Control Panel
и в JVM Settings в полето за „Set JVM for IcedTea-Web“:
записвате резултата от командата изпълнена в терминала:
$ update-java-alternatives -l| awk ‘BEGIN { FS = “ “ } ; {print $3}’ |grep 1.8
при мен това е: /usr/lib/jvm/java-1.8.0-openjdk-amd64
който се ползва и в следващата команда по-долу.
Проблема, който се вижда, че неоткрива rt.jar се решава със симлинк:
$ sudo ln -s /usr/lib/jvm/java-1.8.0-openjdk-amd64/jre/lib /usr/lib/jvm/java-1.8.0-openjdk-amd64/lib
От сайта на b-trust се дърпат:
B-Trust-Gemalto-Linux-2020-05-28.tar (това е за моя модел usb e-sign drive)
и
B-TrustBISS.tar
Разархивират се в отделни папки и се инсталират от двете папки съответните 2 deb пакета:
Gemalto_Ubuntu_x64bit_18_04.deb
btrustbiss.deb
Последния изисква Java 8, заради JavaFX
Това работи за мен – като специално сложих Ubuntu 20.04 + Firefox на един usb flash drive единствено за нуждите на електронното подписване, като изрично посочени и поддържани от b-trust (с огромни уговорки и компромиси).
Трябва да се инсталират разбира се и:
Базови удостоверения и Оперативни удостоверения
https://www.b-trust.bg/services/certification-chains-installation
Които импортнах в самия Firefox -> Preferences -> Certificates -> View.. -> Import
Много благодаря за RTFM-то! 😀
Всичко работи на max. Инструкциите са тествани с:
– Linux Mint 19.2
– КЕП на stampit
– Firefox 89.0
Единствената промяна в синтаксиса беше версията „jre1.8.0_291“ (вместо 241).
Поздрави!
Здрав да си, приятелю!
Велик си !
Тръгна от раз на
Debian11
Firefox 78.14.0esr
KEP от Инфонотари и Siemens карта.
Единствения проблем е, че ме пита по 3 пъти за PIN кода, ама това явно си е проблем на библиотеката им на Инфонотари.
Ама наистина си ВЕЛИК!!!
Пробвах да настроя и Chromium-a и чудеса работи. (под Windows не успях)
Debian11
Chromium 90.0.4430.212
KEP от Инфонотари и Siemens карта.
И пак единствения проблем е, че ме пита по 3 пъти за PIN кода, ама това явно си е проблем на библиотеката им на Инфонотари.
Днес ми потрябва и B-Trust BISS. Изтеглих го от сайта им инсталирах го и…. отваря ми се прозорче 10*16 пиксела със следи от BISS в него – явно работи ама не се вижда нищо.
И като зазгледай – те пак на Java и то стара. Та:
Във файла /bin/btrust_biss
на 3-тия ред:
nohup /usr/share/btrust_biss/jre1.8.0-202/ и т.н. пътечка към някаква си тяхна инсталация дето не работи.
Просто заменяте „/usr/share/btrust_biss/jre1.8.0-202“ с пътя към Java-та която сте инсталирали по гореописания начин.
И чудесата стават:)
Мерси много!
Извинявам се за неграмотност. Руснак съм.
Всичко работи добре.
Ubuntu Focal (Ubuntu 20.04.3 LTS)
jre1.8.0_311
firefox-94.0+build3-0ubuntu0.20.04.1
За стартирате IcedTea-Web Control Panel въведете команда
itweb-settings
Аз направих сичко и проработи докато не натиснах бутона формиране на декларацията. Там получих съобщението:
Моля изберете път към файлове deklar.txt, pokupki.txt, prodagbi.txt
Моля изберете път към файлове deklar.txt, pokupki.txt, prodagbi.txt
Понеже си на Linux=UTF8 главни и малки букви имат значение, докато в DOS си на 7bit ASCII….
Преименувай трита файла да са с малки букви
Да споделя и аз решен проблем. Първо благодаря на всички, горните постове много ми помогнаха. Направих всичко НАП тръгна, но Търговския даваше “ Не са намерени сертификати“. Погледнах е лога на BISS.
NFO 2022-02-19 11:08:11 | class: b | method: a | row: ? | value: ATR3BF81300008131FE454A434F5076323431B7
INFO 2022-02-19 11:08:11 | class: b | method: a | row: ? | value: Main dir: /usr/share/btrust_biss/p11_libs/
INFO 2022-02-19 11:08:11 | class: a | method: c | row: ? | value: Add library: /usr/share/btrust_biss/p11_libs/libcvP11.so
ERROR 2022-02-19 11:08:11 | class: a | method: a | row: ? | value: /usr/share/btrust_biss/p11_libs/libcvP11.so: неправилен ELF клас: ELFCLASS64
ERROR 2022-02-19 11:08:11 | class: c | method: run | row: ? | value: error.no-certs-found
замених /usr/share/btrust_biss/p11_libs/libcvP11.so със libcmP11.so изтеглено от сайта на ИО, като преиминувах на libcvP11.so и нещата се получиха.
Зравейте ,
от доста време се опитвам да пусна ДДС през линукс и все не се получава.
Само споделям, че всичко това работи при мен с подпис от б-тръст Gemalto
на Ubuntu 16.04 , 20.04 и java-8-openjdk-amd64 , по скоро проблема ми беше в главните букви в името на файловете.
Здравейте,
и при мен има проблем с пускането на ДДС.По точно с VIES файла.Текста,който е на кирилица показва само въпросителни
�������� ������ ������
Енкодинга е
file -i VIES.txt
VIES.txt: text/plain; charset=iso-8859-1
Като го конвертирам в UTF8 и ми дава фатална грешка.
Може ли това да се оправи?
Текста на латиница излиза коректно.
Привет, да добавя към дискусията за тези, които се мъчат със stampit апликацията.
Подкарах я с jdk1.8.0_241 + Open Web Stack 1.6.0
Командата е:
javaws stampitls.jnlp
При подпис на документ ми даваше, че не намира сертификата от B-trust устройството.
DEBUG: No connected cards found. <- лога на stampit
трябва да изберете pkcs11.so библиотеката, която е пакетирана със софтуера на b-trust, не тази от ОС-а.
Би трябвало да се намира в /opt/btrust… папката Ви ( с най-новата версия на б-тръст софтуера за подписване на документи).
libcmP11.so <- името на файла или нещо подобно.
Тук има полезни неща за НАП, КЕП & B-Trust, затова ще добавя нещо, което днес научих.
За да подкарате KEP (StampIT) + B-Trust BISS на MacOS трябва сертификатите – 2 основни на StampIT и всичките на B-Trust – да ги импортирате в Keychain > System и да им дадете „Aways Trust“.
В противен случай, когато BISS се опитва да взима сертификата от картата пропада с грешка (NPE).
Здравейте,
Дали някой има идея или се е сблъсквал с следния проблем? Преборих се уж и вече успявам да подпиша файла с КЕП (stampIT) с javaws и получвам файл с разширение .p7s , но когато сео питам да го кача към Агенцията по вписвания получавам грешка : „Невалиден подпис“ , видях някъде официален съвет от някоя институция за изтриване на кеш, направих го :), разбира се проблемът си стои. Започвам да се замислям да си купя един малък лаптоп с windows…с две думи отчаяна съм.
@Elena, това „отделен“ поспис и най-често той се скапва поради редакция на подписания фаил. Дори преименуване на оригиналния файл, за който се отнася подписа го прави невалиден.
За проверка може да се подпише произволен фаил и да се провери на друг компютър, дали подписа е коректен.
Привет и благодаря, от АВ( агенция по вписванията) изискват файлът, който е .pdf , да бъде подписан и качен в .p7s или .p7m , при опит за качване на оригиналния им .pdf файл грешката е неподържан формат, а при .p7s е невалиден подпис, днес получих отговор от АВ , че “ схемата за подписване следва да е Attached Signature.“ и ще расъждавам над него. Аз използвам https://sign.uslugi.io/mac.html и javaws да преобразувам .jnlp файла в .p7s
Само да допълня, че https://sign.uslugi.io/mac.html е Онлайн модул за подписване на файлове (Detached p7s формат) , т.е търся начин за Attached подпис.
В случай , че е от полза за някого – InfoNotary e-Doc Signer го има и за линукс и предлага и Attached и Detached формати.