Mercur
potpisivanje računa
Mercur SOAP
ToDo list
What does KISS stand for?
Google Groups

 
TMS - Mercur - potpisivanje računa na FINA serveru
jir data flow - FINA potpisivanje by JJP


TMS - Mercur - potpisivanje računa na FINA serveru
Prije korištenja MTFiskal programa potrebno je instalirati certifikate prema uputama od FINA-e.
MTFiskal middleware agent je napisan u C#, autor je Mladen Tukerić
TMS Mercur server agent je napisan u Perlu, autor je Jan Popović
The middleware agent is a server process that is used to manage servers that are not running on Apache server.
MTFiskal middleware agent can run on any node. You can even deploy the middleware agent on a node that is running outside of TMS. In our case it is deployed on the same machine.

Program MTFiskal je podešen da sam očita instalirane certifikate iz Certificate store-a.
Moramo pažljivo pratiti upute za instaliranje FINA certifikata kako bi ih program MTFiskal mogao prepoznati i koristiti.


.........................................................................................
FINA potpisivanje - data flow:
Slanje podataka trenutnog računa na potpisivanje:

a. Kada Ingenico terminal šalje račun na potpis, Mercur TMS server proslijeđuje "Ingenico query";

b. MTFiskal zaprima "sign query" post, processira ga i šalje ga kao "SOAP poruku, potpisanu sa odgovarjaućim.p12 certifikatom" na FINA server

c. FINA server vraća odgovor sa JIR šifrom (ili vraća error message), na MTFiskal

d. Mercur TMS server šalje nazad na ingenico terminal JIR za taj račun ili grešku


JIR je specijalan string od 36 karaktera dobiven od porezne upraveu procesu fiskalnog potpisivanja.
JIR - Jedinstveni identifikator računa.


.........................................................................................
Mladen Tukerić:

• Ingenico POS komunicira samo sa TMS server-om – mercur.cgi
• TMS server je napisan je u perlu i komunicira i sa MTFiskal aplikacijom i sa Ingenico clientom
• MTFiskal aplikacija je napisana u C# i komunicira sa poreznom upravom (CIS FINA server)
• TMS i MTFiskal aplikacija komuniciraju preko http protokola (request/reposnse)
• TMS sa HTTP GET u QUERY-u šalje parametre prema MTFiskal aplikaciji
• MTFiskal sa HTTP reponsom šalje dvije varijable nazad na TMS status (listu kodova pošaljem) i xml dokument koji je primljen od strane Porezne uprave
• U slučaju da je request tipa echo ili sign ili sign, zahtjev se prosljeđuje aplikaciji za komunikaciju sa poreznom upravom (APIS na FINA serveru)
• TMS server također šalje zahtjev za poslovni prostor prema aplikaciji za komunikaciju sa poreznom upravom

...........................................................................................
Certifikati u igri
...........................................................................................
a. public - javni certifikat (file: democacert.cer ), FINA root certifikat
b. klijentski - osobni certifikat (file: FIKSAL demo klijentski certifikat.pfx), koristi se pri potpisivanju XML poruku (RacunZahtjev, PoslovniProstorZahtjev) prilikom slanja u Poreznu upravu.

c. poslužiteljski certifikat CIS-a, cistest.apis-it.hr, se koristi kod uspostavljanja SSL (HTTPS) sigurne veze sa CIS serverom.
d. Aplikacijski certifikat CIS-a, fiskalcistest (file: fiskalcistest.cer )
***********************
** public - javni certifikat **
***********************

DEMO certifikat, root, korijenski - skida se sa službenih stranica PU FINA i svima je jednak, preuzet sa http://demo-pki.fina.hr/ (Verifikacijski/root - samopotpisani - certifikat za Demo CA )
DEMO FISKAL certifikati nemaju validan certification path, jer je DEMO certifikat samopotpisan ("democacert"), tako je, za uspostavu SSL veze prema testnom web servisu, potrebno u "Trusted Root Certification Authorities" u microsoft CertificateStore na serveru dodati FINA DEMO certifikat - NE onaj koji ste, kao developer, izvadili, već ovaj preuzet sa http://demo-pki.fina.hr/
(file: democacert.cer )
i mora biti instaliran u mjesto "Trusted Root Certification Authorities",

- u "Trusted Root Certification Authorities" segementu se mora nalaziti verifikacijski/root samopotpisani certifikat naslova DEMO
FINA ROOT certifikat democacert.cer je prilično važan - radi se o certifikatu koji je ROOT certifikat za sve ostale DEMO FISKAL certifikate. Ovo "ROOT", pojednostavljeno, znači da je taj certifikat "iznad" (certification path) svakog drugog FISKAL DEMO certifikata. Kako je FINA taj certifikat sama sebi izdala (certifikat je "samopotpisan"), tako znači da iznad njega nema nekog drugog ROOT certifikata.


***************************
** klijentski - osobni certifikat **
***************************

(file: FIKSAL demo klijentski certifikat.pfx )
dok je FISKAL1 osobni certifikat, vezan je na OIB koji na zahtjev dobiva svaka pravna osoba zasebno i on se mora instalirati u mjesto
"Personal".
Ako ovo nije ispravno program Fiskal daje greške kao u opisu...
.................................................................
The underlying connection was closed:
Could not establish trust relationship for the SSL/TLS secure chanel.
Object reference not set to an instance of an object
Objasnjenje: Ovdje se radi o činjenici da su certifikati pogrešno instalirani.
................................................................
Certifikat FIKSAL demo klijentski certifikat.pfx je ključan u cijeloj ovoj priči - naime - on služi kako bi obveznik, identificiran preko OIB-a mogao digitalno potpisati svaku XML poruku (RacunZahtjev, PoslovniProstorZahtjev) prilikom slanja u Poreznu upravu. Svaki račun potpisan ovim certifikatom Poreznoj upravi, zakonski, znači da ste upravo vi poslali tu poruku. Drugim riječima, ako netko dođe u posjed ovog certifikata, on može u ime obveznika saOIB-om u FINU slati bilo kakve podatke, tako da treba skrenuti pažnju da je sigurnost ovog certifikata vrlo važna.
On se koristi samo za digitalno potpisivanje RacunZahtjev i PoslovniProstorZahtjev poruka, a ne za uspostavu SSL (HTTPS) veze.

****************************
*** Poslužiteljski certifikat CIS-a, cistest.apis-it.hr
****************************
(file: ?)
je certifikat koji se NE koristi za digitalno potpisivanje XML poruka - on se koristi kod uspostavljanja SSL (HTTPS) sigurne veze između vašeg računala (klijenta) i FINA CIS servera cistest.apis-it.hr.

...........................................................
Installing the Certificate
You can install the key file server.key and certificate file server.crt, or the certificate file issued by your CA, by running following commands at a terminal prompt:
sudo cp server.crt /etc/ssl/certs
sudo cp server.key /etc/ssl/private
Now simply configure any applications, with the ability to use public-key cryptography, to use the certificate and key files. For example, Apache can provide HTTPS, Dovecot can provide IMAPS and POP3S, etc.

........................................................................................................
Vlasnik svakog shopa mora dostaviti vlastiti klijentski certifikat
1. otici na fininu stranicu
2. prijaviti se tamo (OIB, etc)
3. dobiti certifikat od FINE i instalirati ga na svoj computer
4. exportirati ga i poslati ga i uploudirati ga na MERCUR TMS server, zajedno sa odgovarjucim OIB-om
5. TMS server mora kopirati taj klijentski certifikat u OIBbroj.p12 file na FileSistemu na HT serveru. Passwordi za klijentske certifikate su kriptirani i posebno se čuvaju.