» »

Davčne blagajne

Davčne blagajne

««
26 / 27
»»

Spura ::

In kako je vecji zavarovalnici padlo na pamet da implementira stvar v javi ki je embeddana v Oracle bazo? To je debilizem prve vrste. Oracle baza tudi servlete podpira, a to pomeni da se gre web service na bazi implementira? Mislim kot bi folk hotu met probleme in vendor lock-in.

videc ::

V primeru, da ne greste v nadgradnjo Oracle bazo, bo treba uporabiti vmesni korak.

val1 ::

Implementiran je podpis in pošiljanje na Furs preko java stored procedur (kar je ok in ensotavno za vzdrževanje in hitro) (pred leti so me iz fursa kontaktirali, ker smo imeli maso računov in so lahko testirali odzivnost strežnika na njihovi strani.. tako, da glede hitrosti in implementacije ni težav (teče več threadov, ki podpisujejo in pošiljajo podatke) faktur pa je mesečno okoli 500.000
Celotna poslovna logika je napisana na bazi (plsql) z uporabo procedur in funkcij tako potem nisi omejen z uporabo druge tehnologije (predvsem integracije IS z zunanjimi sistemi in vmesniki).. ampak to ni tema te debate..

Ostanejo mi 3 stvari:
1.) Implementacija povezave preko BouncyCastle
2.) Obstja nek patch za oracle bazo 11g, ki omogoča povezavo preko TLS1.2 (potem bom uporabil PLSQL za pošiljanje podatkov na FURS).
3.) Spisat webservisproxy (to mi najmanj diši ker je samo še 1 vmesni korak po poti do fursa).

videc ::

Verjetno je še najbolj pametna izbira BouncyCastle. Verjetno nekaj v tem stilu https://stackoverflow.com/questions/180... (na sredini strani).

Zgodovina sprememb…

  • spremenilo: videc ()

val1 ::

videc je izjavil:

Verjetno je še najbolj pametna izbira BouncyCastle. Verjetno nekaj v tem stilu https://stackoverflow.com/questions/180... (na sredini strani).


Pri povezavi na FURS dobim:
Exception in thread "main" org.bouncycastle.crypto.tls.TlsFatalAlertReceived: handshake_failure(40)
at org.bouncycastle.crypto.tls.TlsProtocol.handleAlertMessage(Unknown Source)

trstenjak ::

Jaz imam rešeno v Javi 1.8, v svojem direktoriju imam in ločeno instalacijo Jave in program jar za potrjevanje. Tako sem varen pred updati Jave, ki bi onemogočili potrjevanje. Komuniciram pa preko Jsona. Vem za primer, ko jim je zaradi samodejnega updata Jave nehalo delovati pri vseh strankah.

val1 ::

Evo rešeno tudi z Javo 1.6 + BouncyCastle

Kar je potrebno je downloadad 2 knjižnice: bctls-jdk15on-159.jar in bcprov-jdk15on-159.jar + jce_policy-6.jar

V obstoječo kodo sem samo dodal:

Security.addProvider(new BouncyCastleProvider());
SSLContext sslcontext = SSLContext.getInstance("TLS",new BouncyCastleJsseProvider());


 jdk1625

jdk1625

Ales ::

@trstenjak, upam, da ta tvoj direktorij posodabljaš.

Sicer pa tak "samodejni" update na mission critical opremi pomeni, da je admin zblojen in da je komunikacija med admini in programerji neobstoječa.

Ampak kaj ko so dandanes pogosto programerji tudi kvazi sistemski administratorji (pa najraje bi videli, da bi bili vsi skupaj še snažilke povrhu). Povrh vsega pa tudi niso sami krivi, če ni proračuna za testiranje. Tudi ko bi staging sisteme znali postaviti, jih marsikatero podjetje ne bi plačalo. Ne rabijo oni tega, ne adminov, ne testiranja.

No ja, niso vsi isti. So podjetja, ki vedo, kaj delajo.

trstenjak ::

Ales je izjavil:

@trstenjak, upam, da ta tvoj direktorij posodabljaš.

Sicer pa tak "samodejni" update na mission critical opremi pomeni, da je admin zblojen in da je komunikacija med admini in programerji neobstoječa.

Ampak kaj ko so dandanes pogosto programerji tudi kvazi sistemski administratorji (pa najraje bi videli, da bi bili vsi skupaj še snažilke povrhu). Povrh vsega pa tudi niso sami krivi, če ni proračuna za testiranje. Tudi ko bi staging sisteme znali postaviti, jih marsikatero podjetje ne bi plačalo. Ne rabijo oni tega, ne adminov, ne testiranja.

No ja, niso vsi isti. So podjetja, ki vedo, kaj delajo.

Mission critical je vsaka blagajna, ki laufa v najmanjšem kafiču. Mission critical ja vsak PC z XP, Visto, 7, 10 ali Windows server, ki ga uporabljajo na firmi. Ker firme delajo po 12 ur na dan in 90% davčnih blagajn deluje v mikro okolju, brez serverja, brez adminov. To je realnost na terenu.

Spura ::

Trstenjak to si ze pametno naredu, zanasat na sistemske JREje je crap.

Invictus ::

Pravzaprav je to bolj problem adminov, ki ne posodabljajo softwara.

In problem podjetja, ki ne plačuje vzdrževalnih pogodb ;). pa admin potem nima dostopa do "vendor" patchev...

Pač hobi varianta kvazi profesionalne firme, ki naj bi zagotavljala neprekinjeno delovanje za stranke...
"Life is hard; it's even harder when you're stupid."

http://goo.gl/2YuS2x

Zgodovina sprememb…

  • spremenil: Invictus ()

AndraZK ::

perci je izjavil:

Testno okolje naj bi se za 1.0 zaprlo že sredi februarja - bo menda novica o tem v kratkem. 1.1 naj bi do nadaljnjega ostal.

Lahko kdo potrdi, da je testno okolje zaprto za TLS 1.0?
Je res, da za TLS 1.1 pa produkcija ostaja delujoča tudi po 30.6.2018? Prvotno je bilo rečeno, da se tudi TLS 1.1 zapre 30.6. na produkciji.
Hvala
The Matrix Has Me...

DamijanD ::

Testno je TLS 1.0 100% zaprt. Kako bo pa s produkcijo, pa ne vem.

trstenjak ::

Sem poskusil na testnem okolju s TLS 1.0 in ne deluje. 1.1 in 1.2 pričakovano delujeta.

Dwarf ::

Pozdravljeni, zanima me sledeče. Ali je imel kdo primer, da FURS trdi, da računi niso bili potrjeni, ko pa pogledamo v bazo, pa naši računi imajo EOR kodo, ki jo je dodelil davčni strežnik?

alansi ::

Dwarf je izjavil:

Pozdravljeni, zanima me sledeče. Ali je imel kdo primer, da FURS trdi, da računi niso bili potrjeni, ko pa pogledamo v bazo, pa naši računi imajo EOR kodo, ki jo je dodelil davčni strežnik?

Da, nekdo je nepooblaščeno brskal po programu in vključil testni način poročanja.

MH0 ::

Zato pa si shranil povratnice, da ni treba nikomur nič trditi.

solaza ::

Pozdravljeni,
ima kdo kakšno rešitev za pošiljanje računov in echo (Android)
kakršenkoli primer je zelo dobrodošel.

hvala že v naprej.

kovmat ::

Zanima me, če je mogoče še kdo drug od uporabnikov davčnega potrjevanja opazil težave na ECHO metodi.
Pri ECHO metodi na nekaterih lokacijah se ne more vzpostaviti SSL/TLS varni kanal
(System.Net.WebException: The request was aborted: Could not create SSL/TLS secure channel.)

Nenavadno je ker je to samo na nekaterih lokacijah in samo pri ECHO metodi, potrjevanje računov deluje povsod brez težav.

mkrin ::

Zdravo.

Tudi meni pri kakšnih vrne: ne morem vzpostaviti SSL/TLS varni kanal.
Ne samo pri "Echo", temveč tudi pri navadnem potrjevanju. Potem mi pa naknadno potrjevanje normalno naredi zadevo...

Mislim da se to ni dogajalo tako pogosto pred TLS 1.2....

gego ::

Hmm, meni se sedaj nekje od konca avgusta dnevno dogaja, da en request (prvi zjutraj) crkne z "The request was aborted: Could not create SSL/TLS secure channel." Se je že tudi pred tem dogajalo, ma ne pa vsak dan ... Naknadna potrditev kasneje potem pa gre, seveda. Se še komu tako dogaja?

DamijanD ::

Račun izdan za drugo podjetje?

Primer, če obstaja trgovina A, ki izdaja račune. In imajo blagajničarja, ki ni zaposlen pri njih ampak je npr S.P. (torej pravna oseba B). Ali v primeru, če račun izda oseba B, to dejansko pomeni, da je račun izdalo podjetje B za podjetje A in mora potemtakem biti podpisan z certifikatom podjetja B?

Meni osebno se zgornji primer ne zdi to. Zanima me v katerem primeru so izpolnjeni pogoji, da se račun izdaja za drugo podjetje?

Še dva primera za razmislit:
- parkirišče: avtomatske blagajne + ročna blagajna: čez dan izdaja račune zaposleni, ponoči pa varnostna služba (drugo podjetje)
- parkirišče: avtomatske blagajne + ročna blagajna: vedno izdaja račune varnostna služba (drugo podjetje)

perci ::

DamijanD je izjavil:

Račun izdan za drugo podjetje?

Primer, če obstaja trgovina A, ki izdaja račune. In imajo blagajničarja, ki ni zaposlen pri njih ampak je npr S.P. (torej pravna oseba B). Ali v primeru, če račun izda oseba B, to dejansko pomeni, da je račun izdalo podjetje B za podjetje A in mora potemtakem biti podpisan z certifikatom podjetja B?

Meni osebno se zgornji primer ne zdi to. Zanima me v katerem primeru so izpolnjeni pogoji, da se račun izdaja za drugo podjetje?

Kaj bi naredil, ce ne bi bilo davcnih blagajn?

DamijanD ::

Nič :D

kuall ::

gego je izjavil:

Hmm, meni se sedaj nekje od konca avgusta dnevno dogaja, da en request (prvi zjutraj) crkne z "The request was aborted: Could not create SSL/TLS secure channel." Se je že tudi pred tem dogajalo, ma ne pa vsak dan ... Naknadna potrditev kasneje potem pa gre, seveda. Se še komu tako dogaja?


To je bug pri FURS demotu, ker vzpostavi TLS 1.2 potem ko vzpostavi prvi web request.

DamijanD ::

perci: Nič, ker brez davčnih blagajn načeloma nihče ne bi vedel, kje je zaposlen osebek, ki je fizično izdal račun. Zdaj sem pa slišal, da je bilo eno parkirišče opozorjeno (zadnji primer v prejšnem postu), da bi varnostna služba morala izdajati račune sama in v imenu parkirišča, kljub temu da uporabljajo infrastrukturo parkirišča. (baje - nepreverjena informacija - , da je inšpektor ugotovil, da davčne fizičnih oseb, ki izdajajo račune, niso zaposlene na parkirišču ampak v drugem podjetju) Pa me samo zanima kako je s tem.

tony1 ::

DamijanD je izjavil:

Račun izdan za drugo podjetje?

Primer, če obstaja trgovina A, ki izdaja račune. In imajo blagajničarja, ki ni zaposlen pri njih ampak je npr S.P. (torej pravna oseba B). Ali v primeru, če račun izda oseba B, to dejansko pomeni, da je račun izdalo podjetje B za podjetje A in mora potemtakem biti podpisan z certifikatom podjetja B?

Meni osebno se zgornji primer ne zdi to. Zanima me v katerem primeru so izpolnjeni pogoji, da se račun izdaja za drugo podjetje?

Še dva primera za razmislit:
- parkirišče: avtomatske blagajne + ročna blagajna: čez dan izdaja račune zaposleni, ponoči pa varnostna služba (drugo podjetje)
- parkirišče: avtomatske blagajne + ročna blagajna: vedno izdaja račune varnostna služba (drugo podjetje)


Glede parkirnin: a ni v enem prvih členov ZDDV našteto, za kateres storitve ni treba izdajati računov (npr. vozovnice za vlak/bus, kino karte in verjetno tudi parkirni listki)?

alansi ::

Danes je pa prava zabava s certifikatom blagajne.fu.gov.si.cer.

perci ::

ne govor

Jure14 ::

Kaj pa se dogaja?
Pri sebi nisem nobene napak opazil, na Pterolu pa res ni EOR na računu.

alansi ::

Nekaj časa je delal novi certifikat, potem pa zopet stari.
Hofer je celo zaprl trgovine.

tony1 ::

O, marija, v čem pa je tak problem? Saj imajo še teden dni časa, da potrdijo račune? :-P

Jure14 ::

Jaz imam kar tako:
public static bool ValidateServerCertificate(object sender, X509Certificate certificate,
X509Chain chain, SslPolicyErrors sslPolicyErrors)
{
// Accept all certificates
return true;
}

A bo tako OK?

Zgodovina sprememb…

  • spremenilo: Jure14 ()

DamijanD ::

FURS bo dne 10.11.2018 zamenjal digitalno potrdilo za vzpostavitev TLS povezave (blagajne.fu.gov.si) v sistemu davčnih blagajn. Podrobnosti posega so objavljene na spletni strani za razvijalce davčnih blagajn (novica objavljena dne 29.10.2018). Poskrbite, da bo vaša programska oprema za davčno potrjevanje računov delovala tudi po zamenjavi digitalnega potrdila.


Je to kaj povezano z zgornjimi težavami?

To pomeni, da je potrebno menjati tudi certifikate na posameznih blagajnah?

Zgodovina sprememb…

  • spremenilo: DamijanD ()

Jure14 ::

Ja, menda zaradi tega niso trgovine delale.

Zamenjati moraš certifikat, s katerim preverjaš "pristnost" FURSovega strežnika.
Torej da je blagajne.fu.gov.si res FURSov strežnik.
Če te to sploh zanima. Lahko pa tudi ne preverjaš, kdo se ti na tem naslovu oglasi, pa nimaš težav s tem certifikatom.

Tisti drugi certifikat, ki ti ga je FURS dodalil in si ga preko eDavkov shranil, ostane še nekaj let nespremenjen.

Utk ::

Kake tezave, nobenih tezav, na fursu ni nobenega obvestila.

Jure14 ::

Saj ni imel FURS težave, ampak klienti, blagajne.
So prejšnji teden na FURSu zamenjali ("posodobili") serverski certifikat.
In blagajne niso več "prepoznale" FURSovega strežnika.

In potem so na FURSu dali nazaj star certifikat na strežnik.
In postavili "testni" stežnik z novim certifikatom.

In 10.11. bodo spet dali nov certifikat na "ta pravi" strežnik.

Zgodovina sprememb…

  • spremenilo: Jure14 ()

trstenjak ::

Na portu 9009 je produkcijski strežnik in tam naj poskušamo, če deluje? Ali prav razumem, da ni testnega strežnika?

Utk ::

So prejšnji teden na FURSu zamenjali ("posodobili") serverski certifikat.
In blagajne niso več "prepoznale" FURSovega strežnika.

Tudi o tem ne vidim nobenega obvestila, razen tistih post festum.

perci ::

Zato, ker ni bilo obvestila. Nek genij pac.

Spura ::

A to vi notr hard-codeate kar certe? A niso vsi certi izdani od SI Trust Root CA in njegovih podrejenih CA?

OracleDev ::

Haha spura, sej ves kako je, vec projektov k vidis, bolj ves kako ne smes delat :)

kzendra ::

Spura je izjavil:

A to vi notr hard-codeate kar certe? A niso vsi certi izdani od SI Trust Root CA in njegovih podrejenih CA?


Ne, sm so na fursu cheap bitches in imajo self signed cert :-)
Jaz imam na validaciji return true in nimam takih težav.
Če kdo sheka furs bo to da jaz ne preverjam cert še najmanjša težava :-D

tony1 ::

Se da nekomu nalepiti tisti XKCDjev strip izpred 15ih let, v katerem je avtor opisal, kako je razvijalec Debiana pred monitorjem vrgel pošteno kocko, dobil 5 in v kodo napisal:
randomgeneratedno = 5 ; returned by fair dice role, thus random

Mavrik ::

Spura je izjavil:

A to vi notr hard-codeate kar certe? A niso vsi certi izdani od SI Trust Root CA in njegovih podrejenih CA?


*optimistično* Morda pa majo cert pinning vklopljen?
The truth is rarely pure and never simple.

Ales ::

kzendra je izjavil:

... Če kdo sheka furs bo to da jaz ne preverjam cert še najmanjša težava :-D

Na splošno opažam, da marsikdo take stvari programira, ne da bi razumel, za kaj se kaj uporablja. Dokler se pri takem pristopu k programiranju striktno sledi priporočilom in zahtevam, hkrati pa so slednja kvalitetno napisana, bo najbrž še kljub temu vse ok. Najbrž. Če se pa ob tem še seka bližnjice, pa ne bo.

Fajn je npr. da razumeš, da če kdo "sheka" FURS, njihovega certifikata sploh ne bo šel spreminjat. To je zadnja stvar, ki bi jo napadalec šel delat.

Če pa kdo izvede MITM napad nate, bo cert najverjetneje spremenjen. FURS ob tem ne bo prav nič shekan, tvoj SW pa bo in tega ne boš zaznal, ker certifikata ne preverjaš.

DamijanD ::

Tukaj se je potrebno vprašat kaj bi s takim MITM napadom napadalec rad dosegel.

trstenjak ::

V svojem programu sem lepo zbrisal preverjanje certifikata strežnika. Če so na fursu šalabajzerji, sem lahko tudi jaz. Ko bodo naslednjič nenapovedano zamenjali cert, pač ne bom imel problemov, pa še avtomatsko testiranje mi bo delovalo.

Spura ::

trstenjak je izjavil:

Na portu 9009 je produkcijski strežnik in tam naj poskušamo, če deluje? Ali prav razumem, da ni testnega strežnika?
Ce te samo cert zanima lahko sprobas delovanje https brez tega, da bi karkoli poslal.

roman60 ::

na začasnem produkcijskem portu 9009 mi zadeva deluje ( upam
da bo v ponedeljek delovalo tudi na portu 9003 ),
na testnem 9008 pa javi: Unable to connect to the remote server,
tu uporabljam testno digitalno potrdilo za TLS povezavo.
Ja, če se pa prijavim na testni 9002, je pa ok.
Ima kdo kakšno idejo ?
««
26 / 27
»»


Vredno ogleda ...

TemaSporočilaOglediZadnje sporočilo
TemaSporočilaOglediZadnje sporočilo
»

Davčne blagajne - PHP

Oddelek: Programiranje
116221 (1267) vsepocenv
»

C# davčno potrjevanje

Oddelek: Programiranje
164397 (3866) windigo
»

E-račun

Oddelek: Programiranje
217492 (4255) ivanhoe5x
»

PHP davčna blagajna

Oddelek: Programiranje
188109 (6133) brble
»

[JAVA] HTTPS client

Oddelek: Programiranje
173182 (1912) peterv6i

Več podobnih tem