Skip to content

Commit

Permalink
update duk
Browse files Browse the repository at this point in the history
  • Loading branch information
dhongu committed Sep 22, 2023
1 parent 4e4810b commit 40c2dc2
Show file tree
Hide file tree
Showing 25 changed files with 1,625 additions and 52 deletions.
12 changes: 12 additions & 0 deletions l10n_ro_duk_integrator/duk_integrator/CITESTE-MA.TXT
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
Acest kit DUKIntegrator are incorporat un kit jre6 de java, versiune 1.6, pe 32 biti.

Va recomandam sa evitati dezarhivarea si folosirea acestui kit dintr-o cale care contine spatii in numele directoarelor.

Kitul poate fi folosit pe PC-uri fara java instalat: modificati fisierul dist/DUKIntegrator.bat inlocuind cele 2 aparitii ale textului '<cale_dist>' cu calea in care se gaseste folderul dist. Apoi dati dublu-click pe fisierul DUKIntegrator.bat sau creati un shortcut catre acest fisier.

In cazul ca exista java instalat pe PC lansarea DUKIntegrator se face dand dublu-click pe fisierul dist/DUKIntegrator.jar. Indiferent de versiunea java instalata pe PC programul va folosi versiunea 1.6/32 biti incorporata. Acest lucru este util cand versiunea de java instalata pe PC este anterioara versiunii 1.6 sau ulterioara (si apar erori netratabile la semnarea electronica a documentelor).

Va rugam sa semnalati orice dificultate intampinata la folosirea acestui kit prin formularul de contact:

https://www.anaf.ro/anaf/internet/ANAF/asistenta_contribuabili/persoane_fizice/asistenta_prin_email

1 change: 1 addition & 0 deletions l10n_ro_duk_integrator/duk_integrator/DUKIntegrator.bat
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
<cale_dist>\dist\jre6\bin\java.exe -jar <cale_dist>\dist\DUKIntegrator.jar
Original file line number Diff line number Diff line change
Expand Up @@ -2,4 +2,4 @@ defFolder=E:\aDeclaratii\FCN
defSmartCard=*autoDetect
tipDeclaratie=FCN
declaratiiDezinstalate=
schematronPath=*\ro16931-ubl-1.0.7\EN16931-CIUS_RO-UBL-validation.sch
schematronPath=*\ro16931-ubl-1.0.8\EN16931-CIUS_RO-UBL-validation.sch
456 changes: 456 additions & 0 deletions l10n_ro_duk_integrator/duk_integrator/doc/D112IstoriaVersiunilor.txt

Large diffs are not rendered by default.

Original file line number Diff line number Diff line change
@@ -0,0 +1,82 @@
19-Oct-2011 publicat versiunea 1.1.1.1.1 a DUKIntegrator
- adaugat componenta Download.jar, care permite downloadarea tuturor jar-urilor si fisierelor asociate aplicatiei (fisiere .cfg, fisiere de proprietati si fisiere documentatie) si instalarea automata a acestora. Incepand cu aceasta versiune nu mai este necesara descarcarea si dezarhivarea manuala a aplicatiei.

20-Oct-2011 publicat versiunea 1.1.2.1.1 a DUKIntegrator
- reintrodusa facilitatea fisierXML in linia de comanda a interfetei grafice.
- ridicare bug: inerfata grafica nu se putea lansa avand ca folder curent o alta locatie decat cea de instalare.

21-Oct-2011 publicat versiunea 1.1.3.1.1 a DUKIntegrator
- ridicare bug: programul accepta cai cu spatii

29-Nov-2011 publicat versiunea 1.1.4.1.2 a DUKIntegrator
- ridicare bug: programul accepta cai care incep cu '//'
- adaugare: posibilitatea atasare fisiere ZIP pt. anumite tipuri de declaratii (in acest moment nu exista nici o declaratie de acest tip).
- adaugare versiune in bara de titlu
- la descarcarea unei declaratii se aduce fisierul cu istoria versiunilor numai de la aceasta declaratie.
- adaugat o fereastra de atentionare la pornirea programului cu posibilitatea anularii conectarii la internet, daca dureaza prea mult
- modificari pt. posibilitatea functionarii pe Linux (descarcare si semnare)

5-Dec-2011 publicat versiunea 1.1.5.1.2 a DUKIntegrator
- ridicare bug la lansarea programului in mod linie comanda: s-a adaugat parametru pt. atasare ZIP. Informatii detaliate gasiti in fisierul Instructiuni.txt. Cateva exemple de lansare corecta a programului (s-a adaugat parametrul 0 semnificand neatasare ZIP):
java -version:1.6 -jar "C:\dist\DUKIntegrator.jar" -p D112 C:/D112.xml
java -version:1.6 -jar "C:\dist\DUKIntegrator.jar" -p D112 C:/D112.xml $ $ 0 C:\declaratie.pdf
java -version:1.6 -jar "C:\dist\DUKIntegrator.jar" -s D112 C:/D112.xml $ $ 0 $ 1234 aladdin
java -version:1.6 -jar "C:\dist\DUKIntegrator.jar" -c C:\dist\config -s D112 C:/D112.xml C:/erori.txt 0 0 C:\declaratie.pdf 1234 aladdin 1

6-Dec-2011 publicat versiunea 1.2.6.1.2 si 1.2.7.1.2 a DUKIntegrator
- ridicare bug la updatarea automata a programului

9-Jan-2012 publicat versiunea 1.2.8.1.3 a DUKIntegrator
- clasa Params eliminata din jar (se va folosi cea din DECValidation.jar)
- ridicare bug: ultimele setari in UI nu erau salvate in config.properties
- ridicare bug: daca fisierele XML/ZIP nu aveau extensia corespunzatoare prelucrarea pe serverul ANAF esua.
- modificare modalitate de semnare: daca semnarea esueaza cu SUNPKCS11 pe sisteme Windows, se incearca semnarea cu MSCAPI
- schimbare nivel compatibilitate pt. jar-urile DnnnPdf pt. a face posibila versionarea acestora
- rezolvare problema semnare cu certificate reinnoite pe acelasi alias, prin metoda MSCAPI.

31-Jan-2012 publicat versiunea 1.2.9.1.3 a DUKIntegrator
- ridicare bug numerotare sectiuni (taguri) la afisarea erorilor
- limitare dimensiune maxima PDF la 10.000.000 bytes
- versiunea 6 Download: aducere la zi a clasei Params

13-Mar-2012 publicat versiunea 1.2.10.2.3 a DUKIntegrator
- ridicare bug apel dintr-o retea locala
- adaugare functie validare PDF. Pt. a putea valida un fisier PDF se alege din dialogul de selectie a fisierelor tipul PDF. Consultati fisierul Instructiuni.txt pt. mai multe amanunte.
- optimizare apel Validator prin considerare namespace XML (necesita compatibilizare interfata la D112)

24-Jan-2013 publicat versiunea 1.2.11.2.3 a DUKIntegrator si versiunea 7 de Download
- adaugare meniu cu functiile: dezinstalare declaratii, optiuni configurare, help, vizualizare IstoriaVersiunilor
- download peste proxy protejate prin user/parola

21-Feb-2013 publicat versiunea 1.2.12.3.3 a DUKIntegrator
- uniformizare validare data calendaristica Oracle si java si corectie validare CNP (necesita schimbare compatibilitate java)

30-Sep-2013 publicat versiunea 1.2.13.3.3 a DUKIntegrator si versiune 8 a Download. Modificari:
- semnare prin metoda MSCAPI cu distributii java pe 64 biti (DUKIntegrator)
- ridicare bug semnare (blocaj la a doua semnare) prin includerea unei solutii ocolitoare (DUKIntegrator)
- imbunatatire design forma "optiuni download" (DUKIntegrator)
- ridicare bug acces prin proxi (blocaj la conectare) in cazul distributiei java 1.7 (Download)
- acceptare content white-space intre tagurile de inceput si sfarsit ale elementelor XML (de acum se accepta taguri explicite de sfarsit element pt. elementele terminale ale structurii); restrictia anterioara asupra XML-ului acceptat de Validator era artificiala si neconforma standardului XML (Validare XML)
- mesaj de eroare mai explicit pt. nepotrivirea de namespaces la validare (Validare XML)
- interne:
- adaugare functie validare IBAN (programare Validatoare)
- optiune transformare erori in atentionari la nivelul nextAttribute (programare Validatoare)
- functia drawLine creata pt. D120 inclusa in DecPDF.jar (programare Validatoare)
- corectie validare parametru maxOccurs (repetitivitate elemente XML)
- modificari de implementare (algoritmi)/adaugare de functii noi in clasele Params si LogTrace
- schimbari Validator.jar active numai pe server: incifrare parole acces la BD, cai relative la fisierul de configurare

30-Mar-2015 publicat versiunea 1.2.14.3.3 a DUKIntegrator si versiune 9 Download
- ridicat bug Validator nu completeaza corect structura Info (2014-06-02)
- adaugat versiune multilimba (pentru declaratia D399)
- ridicare alte buguri descoperite in ultima perioada
- imbunatatire infrastructura programare declaratii
- adaugare clasa SuperIntegrator la jar-ul DUKIntegrator pentru dezvoltatorii de aplicatii bazate pe modelul DUKIntegrator
- adaugare conexiune secunda la Validator

09-Nov-2016 publicat versiunea 1.3.15.3.3 si 1.3.16.3.3 a DUKIntegrator si versiune 10 Download
- adaugare tip nou token: epass3000
- ridicare bug semnare token athena
- modificari cosmetice texte, mesaje
- mod linie comanda: adaugare prefixe la numele fisierului de erori pt. pastrarea atentionarilor la validare (vezi instructiuni)
- redirectare controlata a locatiei pt. download componente
161 changes: 161 additions & 0 deletions l10n_ro_duk_integrator/duk_integrator/doc/Instructiuni.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,161 @@
Pentru rularea programului este necesar sa aveti instalat jre 1.6 sau 1.7 (java runtime environment 1.6 sau 1.7).
Programul functioneaza atat pe platforme Windows cat si Linux/Unix. Pe platforme Linux/Unix am testat numai validarea si crearea fisierelor PDF; nu am putut testa semnarea din lipsa de drivere.

Pe sistemele Windows pe 64 biti se poate semna folosind o platforma java pe 32 biti (driverele smartCard pot fi pe 32 sau 64 biti): se decomenteaza atributul 'algorithm=mscapi' din fisierul .cfg corespunzator (se sterge '#').



Programul opereaza in 2 moduri distincte (in comenzile de lansare parantezele drepte ("[", "]") indica parametri optionali):

A. modul cu interfata grafica. Se lanseaza folosind comanda:
java -version:1.6 -jar "<cale>\dist\DUKIntegrator.jar" [-c caleConfig] [-d] [fisierXML]

- caleConfig trebuie indicata numai in situatia (putin probabila) in care programul nu poate detecta singur calea folderului "config", care contine fisierele de configurare pt. semnarea documentelor folosind smartCarduri. Acest folder, livrat odata cu kitul, se gaseste in folderul "dist".

- parametrul -d trebuie indicat daca NU se doreste lansarea facilitatii "Download", care permite actualizarea automata a ultimelor versiuni de pe site-ul ANAF (acelasi efect se obtine comentand parametrul "urlVersiuni" din fisierul config/config.properties)

- parametrul fisierXML indica un fisier XML care apare selectat in interfata grafica la pornirea programului.

Atentie! Parametrul -c se poate folosi numai impreuna cu pararametrul -d.

B. modul linie de comanda. Acest mod permite aceleasi operatii ca modul A. Se pot folosi comenzile:

- pt. validare declaratie:
java -version:1.6 -jar "<cale>\dist\DUKIntegrator.jar" [-c caleConfig] -v tipDeclaratie fisierXML [fisierRezultat] [optiuneValidare]

- pt. validare declaratie + creare fisier PDF:
java -version:1.6 -jar "<cale>\dist\DUKIntegrator.jar" [-c caleConfig] -p tipDeclaratie fisierXML [fisierRezultat] [optiuneValidare] [fisierZIP] [fisierPDF]

- pt. validare declaratie + creare fisier PDF semnat electronic:
java -version:1.6 -jar "<cale>\dist\DUKIntegrator.jar" [-c caleConfig] -s tipDeclaratie fisierXML [fisierRezultat] [optiuneValidare] [fisierZIP] [fisierPDF] pinSmartCard smartCard [selectorCertificat]

unde:
- caleConfig trebuie indicata numai in situatia (putin probabila) in care programul nu poate detecta singur calea folderului "config" si se doreste semnarea fisierului PDF rezultat (optiunea -s) folosind smartCarduri
- tipDeclaratie indica numele declaratiei cuprinse in fisierul XML de validat (ex: "D112")
- fisierXML este chiar declaratia de prelucrat
- fisierRezultat va contine erorile si atentionarile obtinute in urma validarii (optiunea -v) sau "ok" daca nu exista erori/atentionari de validare (optiunea -v) sau nu exista erori de validare si crearea PDF/semnarea a decurs corect (optiunile -p/-s); daca nu exista erori la validare dar exista erori la creare/semnare PDF, fisierul de erori va contine aceste ultime erori. Prin lipsa "<fisierXML>.err.txt".
- optiuneValidare indica validatoarelor unor declaratii (de exemplu D112) o optiune de validare. Prin lipsa 0. In cazul D112 optiunile pot fi:
- 0 - angajatori uzuali, care depun D112 la ANAF
- 1 - angajatori unitati speciale care depun D112 la ANAF
- 2 - angajatori unitati speciale care nu depun D112 la ANAF
- fiserZIP - numele fiserului ZIP de atasat prin optiunile -p/-s. Prin lipsa "<fisierXML fara extensia .xml>.zip".
IMPORTANT: la declaratiile fara ZIP atasat acest parametru trebuie sa fie 0.
- fiserPDF - numele fiserului PDF creat prin optiunile -p/-s. Prin lipsa "<fisierXML fara extensia .xml>.pdf".
- pinSmartCard - pinul folosit la semnarea cu smartCard
- smartCard - tipul smartCard-ului folosit la semnarea digitala a fisierului PDF (ex: "aladdin"). Trebuie sa existe un fisier <caleConfig>/<smartCard>.cfg care contine informatii de configurare a smartCardului
- selectorCertificat - este numarul de ordine pe smartCard (incepand cu 0) al certificatului cu care se doreste semnarea, in cazul unui smartCard care contine mai multe certificate digitale. Prin lipsa 0 (primul certificat de pe smartCard).

Parametri optionali (cu exceptia lui -c) care nu se doresc a fi introdusi expres, dar dupa care urmeaza alti parametri vor trebui indicati prin "$", pt. a li se atribui valoarea prin lipsa corespunzatoare.

Exemple:

java -version:1.6 -jar "C:\dist\DUKIntegrator.jar" -v D112 C:/D112.xml
java -version:1.6 -jar "C:\dist\DUKIntegrator.jar" -v D112 C:/D112.xml $ 1
java -version:1.6 -jar "C:\dist\DUKIntegrator.jar" -c C:\dist\config -v D112 C:/D112.xml C:/erori.txt 1
java -version:1.6 -jar "C:\dist\DUKIntegrator.jar" -p D112 C:/D112.xml
java -version:1.6 -jar "C:\dist\DUKIntegrator.jar" -p D112 C:/D112.xml $ 0 0 C:\declaratie.pdf
java -version:1.6 -jar "C:\dist\DUKIntegrator.jar" -s D112 C:/D112.xml $ 0 0 $ 1234 aladdin
java -version:1.6 -jar "C:\dist\DUKIntegrator.jar" -c C:\dist\config -s D112 C:/D112.xml C:/erori.txt 0 0 C:\declaratie.pdf 1234 aladdin 1

Observatie: DUKIntegrator.jar contine acum o clasa Integrator care poate fi folosita de dezvoltatori in aplicatii. Clasa contine comentarii de utilizare la toate functiile, iar in clasa Main se poate gasi secventa care foloseste un obiect Integrator pt. realizarea modului B descris mai sus.



Validare fisiere PDF

Incepand cu versiunea 1.2.10.2.3 a DUKIntegrator se pot valida fisiere PDF inteligente (sau produse cu DUKIntegrator). Validarea se refera la:

- existenta metadatelor obligatorii in PDF;
- corectitudinea tipurilor de fisiere atasate;
- verificare sumara a semnaturii (verificarile care se pot face fara consultarea unor BD exterioare);
- validarea fisierului XML atasat;
- compararea metadatelor obligatorii din PDF cu cele din XML.

Pt. a putea valida un fisier PDF se alege din dialogul de selectie a fisierelor tipul PDF.



Verificarea versiunii si descarcarea de versiuni noi

La pornirea programului in modul A se incearca o conectare la site-ul ANAF prin care se verifica:

- daca au aparut modificari la jar-urile principale
- daca au aparut versiuni noi la declaratiile deja instalate
- daca exista declaratii noi

Pentru fiecare declaratie exista 2 jar-uri:

- XnnnValidator.jar pentru validarea fisierului XML, cu o versiune de tip: JM.m.r
- XnnnPdf.jar pentru crearea fisierului PDF cu XML-ul atasat, cu o versiune de tip: PM.m.r

unde Xnnn este numele declaratiei (ex: D112, S1001, etc.). Fiecare jar are cate o versiune proprie.

Controlul conectarii se face prin cativa parametri inscrisi in fisierul de configurare config/config.properties:

1. daca introduceti in fisierul de configurare linia:

urlVersiuni=http://static.anaf.ro/static/10/Anaf/declunica/versiuni.xml

programul incearca la pornirea in mod A conectarea pentru verificarea versiunii.

Daca veti comenta sau sterge aceasta linie nu se va face nicio verificare!

2. daca conexiunea dumneavoastra Internet se face prin intermediul unui proxy server va trebui sa adaugati linia:

proxy=auto

pentru a incerca o detectare automata a acestuia sau liniile:

proxyIP=xxx.yyy.zzz.www (adresa DNS)
proxyPort=n

pentru indicarea explicita a IP-ului sau adresei DNS/portului (prin lipsa 80) folosit de proxy server

Exemplu:

proxyIP=111.111.111.111
proxyPort=80

Pentru a ignora declaratiile noi puteti adauga in fisierul de configurare config/config.properties parametrul:
ignoraDeclaratiiNoi=D

ATENTIE: Nu modificati denumirea folderelor din dist si nu stergeti fisiere/foldere. In caz contrar este posibil ca programul sa nu mai functioneze corect.

Va rugam sa ne transmiteti eventualele observatii pe adresa:
admin.portal@mfinante.ro cu subiectul soft_J (va rugam sa puneti acest subiect NUMAI pt. problemele legate de utilizarea programului DUKIntegrator)
Adresa d112@mfinante.ro nu mai este valabila.



Actualizare manuala a declaratiilor in DUKIntegrator pt. versiuni ulterioare celei publicate pe 19-Oct-2011.

1. se descarca de pe site-ul ANAF zip-ul corespunzator declaratiei, care contine urmatoarele fisiere:
- DxxxValidator.jar
- DxxxPdf.jar
- DxxxIstorieVersiuni.txt
- modInstalare.txt

unde Dxxx este codul declaratiei (ex: D112, S1001)

2. se copiaza cele 2 jar-uri in folderul lib (din locatia unde a fost instalat DUKIntegrator).

3. se sterge fisierul config/versiuniCurente.txt

4. (optional) se copiaza fisierul DxxxIstorieVersiuni.txt in folderul doc.



Incepand cu 2016-11-08, in mod linie de comanda, fisierul de atentionari produs de validator poate fi pastrat dupa creare PDF si semnare (pana atunci, crearea de PDF si semnarea suprascriau acest fisier cu marca 'ok' sau cu erorile ultimelor operatii).
Fisierul de erori sau placeholderul lui poate fi precedat de unul din prefixele de mai jos. Daca la validare apar numai atentionari si fazele de crearePDF / semnarePDF sunt OK prefixele au urmatorul efect:
- '+' - marca 'ok' se va adauga la sfarsitul fisierului de erori (care poate contine atentionarile fazei de validare, dupa acestea, pe o linie noua);
- '!' - fisierul de erori va fi redenumit si se va pastra sub acest nou nume iar marca 'ok' va aparea singura in fisierul de erori specificat implicit sau explicit. Redenumirea se face dupa regula:
- daca numele fisierului contine subsirul '.err.' (ca in cazul implicit) acest subsir se va schimba in '.wrn.'
- altfel se va adauga la finalul numelui fisierului '.wrn.txt'
- in lipsa acestor prefixe atentionarile se vor pierde si marca 'ok' va aparea singura in fisierul de erori specificat implicit sau explicit (cum functiona pana la data acestei modificari).
Exemple:
java -version:1.6 -jar "C:\dist\DUKIntegrator.jar" -s D112 C:/D112.xml +$ 0 0 $ 1234 aladdin
fisierul 'C:/D112.xml.err.txt' va contine atentionarile fazei de validare plus marca 'ok' (dupa acestea, pe o linie noua)
java -version:1.6 -jar "C:\dist\DUKIntegrator.jar" -s D112 C:/D112.xml !$ 0 0 $ 1234 aladdin
atentionarile vor fi pastrate in fisierul 'C:/D112.xml.wrn.txt', iar marca 'ok' va aparea singura in fisierul 'C:/D112.xml.err.txt'
java -version:1.6 -jar "C:\dist\DUKIntegrator.jar" -s D112 C:/D112.xml $ 0 0 $ 1234 aladdin
fisierul 'C:/D112.xml.err.txt' va contine marca 'ok' (atentionarile fazei de validare se pierd, ca pana la data modificarii)
Loading

0 comments on commit 40c2dc2

Please sign in to comment.