java library za implementaciju programskih rješenja za ... · pdf file• trenutna...

16
Java library za implementaciju programskih implementaciju programskih rješenja za fiskalizaciju u RH Juraj Ćutić Aleksander Radovan

Upload: ngoduong

Post on 05-Feb-2018

231 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Java library za implementaciju programskih rješenja za ... · PDF file• Trenutna dostupna cjelokupna rješenja Java librarya za fiskalizaciju se naplaćuju • Mogućnost korištenja

Java library za

implementaciju programskih implementaciju programskih

rješenja za fiskalizaciju u RH

Juraj ĆutićAleksander Radovan

Page 2: Java library za implementaciju programskih rješenja za ... · PDF file• Trenutna dostupna cjelokupna rješenja Java librarya za fiskalizaciju se naplaćuju • Mogućnost korištenja

Fiskalizacija

• 01.01.2013. počela primjena Zakona o fiskalizaciji u prometu gotovinom za određene djelatnosti

• Od 01.07.2013. sve djelatnosti koje prometuju gotovinom moraju imati implementiranu gotovinom moraju imati implementiranu fiskalizaciju

• Obuhvaća velik broj djelatnosti, a time i veliki broj različitih programskih rješenja

• Evidencija i kontrola svakog računa plaćenog gotovinom u sustavu Porezne uprave

Page 3: Java library za implementaciju programskih rješenja za ... · PDF file• Trenutna dostupna cjelokupna rješenja Java librarya za fiskalizaciju se naplaćuju • Mogućnost korištenja
Page 4: Java library za implementaciju programskih rješenja za ... · PDF file• Trenutna dostupna cjelokupna rješenja Java librarya za fiskalizaciju se naplaćuju • Mogućnost korištenja

Library

Open source library

Source kod je dostupan na GitHubu

Page 5: Java library za implementaciju programskih rješenja za ... · PDF file• Trenutna dostupna cjelokupna rješenja Java librarya za fiskalizaciju se naplaćuju • Mogućnost korištenja

Preuzimanje certifikata

• Preuzimanje aplikativnog certifikata za digitalni potpis u PKCS #12 formatu

• Preuzimanje SSL poslužiteljskog certifikata za • Preuzimanje SSL poslužiteljskog certifikata za kriptiranu komunikaciju s web servisom

• Za korištenje defaultnog ponašanja, moguće ih je postaviti u istu putanju, te im dodijeliti ista imena (npr . FiskalCert.pfx i FiskalCert.cer)

Page 6: Java library za implementaciju programskih rješenja za ... · PDF file• Trenutna dostupna cjelokupna rješenja Java librarya za fiskalizaciju se naplaćuju • Mogućnost korištenja

Primjena librarya

Kreiranje objekta

klase Fiscalization

Kreiranje JKS

keystorea

sa pripadajućim

certifikatima

Popuna objekata

Prijava svakog

kreiranog računaPrijava poslovnog

prostora

Popuna objekata

za kreiranje XML-a

Prijava računaPopuna objekata

Za kreiranje XML-a

Prijava poslovnog

prostora

aa

a aa aaa

a

aa

Page 7: Java library za implementaciju programskih rješenja za ... · PDF file• Trenutna dostupna cjelokupna rješenja Java librarya za fiskalizaciju se naplaćuju • Mogućnost korištenja

Klasa Fiscalization

Fiscalization fiskal = new Fiscalization(

"C:\path\", "FiskalCert", "password");

Page 8: Java library za implementaciju programskih rješenja za ... · PDF file• Trenutna dostupna cjelokupna rješenja Java librarya za fiskalizaciju se naplaćuju • Mogućnost korištenja

Konverzija certifikata

• Kreira se JKS keystore sa passwordom i putanjom koji su definirani u objektu fiskal

Fiscalization.

convertFromPKCSAndSSLToJKS(fiskal);

putanjom koji su definirani u objektu fiskal

• Unutar JKS keystorea unose se aplikativni i poslužiteljski certifikati

• Defaultni aliasi: aplikativni - oib poslužiteljski - SSLoib

Page 9: Java library za implementaciju programskih rješenja za ... · PDF file• Trenutna dostupna cjelokupna rješenja Java librarya za fiskalizaciju se naplaćuju • Mogućnost korištenja

Poslovni prostor

Page 10: Java library za implementaciju programskih rješenja za ... · PDF file• Trenutna dostupna cjelokupna rješenja Java librarya za fiskalizaciju se naplaćuju • Mogućnost korištenja

Poslovni prostor

• Izvršava se: - kreiranje XML-a

BusinessAreaRequest businessAreaRequest =

new BusinessAreaRequest(

new RequestHeader(), businessArea);

fiskal.sendSoap(fiskal, businessAreaRequest);

• Izvršava se: - kreiranje XML-a - kreiranje SOAP poruke- potpisivanje XML-a- slanje SOAP-a prema web servisu- provjera potpisa povratne poruke

• Metoda se poziva samo kod prijave, odjave ili promjene podataka vezanih za poslovni prostor

Page 11: Java library za implementaciju programskih rješenja za ... · PDF file• Trenutna dostupna cjelokupna rješenja Java librarya za fiskalizaciju se naplaćuju • Mogućnost korištenja

Račun

Page 12: Java library za implementaciju programskih rješenja za ... · PDF file• Trenutna dostupna cjelokupna rješenja Java librarya za fiskalizaciju se naplaćuju • Mogućnost korištenja

Račun

BillRequest billRequest = new BillRequest(

new RequestHeader(), bill);

Potrebno je postaviti i zaštitni kod izdavatelja (ZKI) metodom:

bill.setSecutityCode(bill.securityCode( ... ));

• Izvršavaju se iste funkcionalnosti kao i kod slanja SOAP poruke za prijavu poslovnog prostora

• Metoda se poziva svaki put prilikom kreiranja računa

new RequestHeader(), bill);

fiskal.sendSoap(fiskal, billRequest);

Page 13: Java library za implementaciju programskih rješenja za ... · PDF file• Trenutna dostupna cjelokupna rješenja Java librarya za fiskalizaciju se naplaćuju • Mogućnost korištenja

Ispis računa

• Ako je komunikacija u potpunosti uspješna, potrebno je ispisati jedinstveni identifikator računa (JIR) i ZKI na računračuna (JIR) i ZKI na račun

• U slučaju neuspjele komunikacije potrebno je ispisati samo ZKI, a račun naknadno poslati web servisu Porezne uprave

Page 14: Java library za implementaciju programskih rješenja za ... · PDF file• Trenutna dostupna cjelokupna rješenja Java librarya za fiskalizaciju se naplaćuju • Mogućnost korištenja

Tehnologije

Korišeni standardni library iz JDK 7

javax.xml•soap•crypto

java.net•ssl

java.security•crypto

•dsig

•xpath•bind

•annotation

•namespace•parsers

java.security•cert

java.util•regex

java.io

java.text

org.w3c.dom

Page 15: Java library za implementaciju programskih rješenja za ... · PDF file• Trenutna dostupna cjelokupna rješenja Java librarya za fiskalizaciju se naplaćuju • Mogućnost korištenja

Zaključak

• Intuitivan za korištenje

• Trenutna dostupna cjelokupna rješenja Java librarya za fiskalizaciju se naplaćuju

• Mogućnost korištenja samo dijelova koda ili određenih funkcionalnosti

• Kod analiziran Sonarom (97,6 %)

• Svaki prijedlog za poboljšanje programskog rješenja je dobrodošao

Page 16: Java library za implementaciju programskih rješenja za ... · PDF file• Trenutna dostupna cjelokupna rješenja Java librarya za fiskalizaciju se naplaćuju • Mogućnost korištenja

Hvala na pažnji