Descarcare mesaje din SPV autentificare cu token USB

::diverse topicuri legate de Visualfox
Forum rules
:: limbajul folosit in acest forum va fi unul civilizat, in limita subiectelor din topicurile deschise.
:: orice manifestare necivilizata (agresiune verbala, comportament neadecvat, reclama abuziva fara legatura cu forumul) va duce la stergerea contului de user.
:: pt. inscriere USER NOU la acest FORUM, folositi linkul https://profox.ro/forum-register/
Post Reply
mmarius28
Posts: 17
Joined: 23 May 2022, 14:48

Descarcare mesaje din SPV autentificare cu token USB

Post by mmarius28 »

Buna,
Vreau sa descarc mesaje si recipise din SPV, de la serviciul web: https://webserviced.anaf.ro/SPVWS2/rest ... je?zile=50

Autentificarea se face cu token usb.

Stie cineva cum se utilizeaza token usb din Visual FoxPro?

O metoda pe care am gasit-o este cu Chilkat.
gabi123
Posts: 168
Joined: 28 Jun 2022, 20:56

Re: Descarcare mesaje din SPV autentificare cu token USB

Post by gabi123 »

gasesti discurii pe aici :
https://www.profox.ro/forum/viewtopic.php?p=2923#p2923
Chilkatul e o luna free apoi trebuie platit
User avatar
admin
Posts: 219
Joined: 16 Jun 2022, 17:03

Re: Descarcare mesaje din SPV autentificare cu token USB

Post by admin »

citeste sintaxele propuse de colegi in forum pt winhttp ...

primul pas este sa ceri lista de mesaje de pe anaf:
***xzilefrz=nr. de zile descarcate, cifselectat=cif-ul pt care descarci lista, doar cifrele din cif
cURL = "https://webserviced.anaf.ro/SPVWS2/rest ... ="+Alltrim(Str(xzilefrz))+"&cif="+Alltrim(CIFSELECTAT)
loHTTP = Createobject("WinHttp.WinHttpRequest.5.1")
loHTTP.Open("GET", cURL , .F.)
loHTTP.setRequestHeader("content-type", "text/plain")
loHTTP.Send()
xraspuns=loHTTP.ResponseText

apoi descarci mesajele din lista primita, unul cate unu , pe baza indexului din lista (index3):
***xxcif=cif descarcat (doar cifre)
***index3=id descarcare din mesaj
xxfis='attachment; filename="'+Alltrim(index3)+'.pdf"'
cURL = "https://webserviced.anaf.ro/SPVWS2/rest ... im(index3)
loHTTP = Createobject("WinHttp.WinHttpRequest.5.1")
loHTTP.Open("GET", cURL , .F.)
loHTTP.SetRequestHeader("content-type", "text/plain") && or other mime types for other file types.
loHTTP.SetRequestHeader("content-disposition", xxfis)
loHTTP.Send()
xraspuns=loHTTP.ResponseText
xraspuns2=loHTTP.responseBody

cand apelezi linkul windows iti va cere automat pe ecran sa selectezi tokenul cu semnatura si sa bagi pinul , apoi executa linkul...
tokenul si parola vor ramane active pana la inchiderea scriptului
sau poti selecta tokenul in script:
loHTTP.SetClientCertificate(xsircertif)
unde xsircertif reprezinta NUMELE CERTIFICATULUI SI pozitia certificatului in certmgr.msc din windows. Ex: CURRENT_USER\My\IONESCU SERBAN
valori permise locatie certificat: My, Root, TrustedPeople , etc...
dar nu merge intotdeauna...


Codurile sunt doar exemple.. trebuie adaptate la scriptul tau :)
mmarius28 wrote: 28 Aug 2024, 23:18 Buna,
Vreau sa descarc mesaje si recipise din SPV, de la serviciul web: https://webserviced.anaf.ro/SPVWS2/rest ... je?zile=50

Autentificarea se face cu token usb.

Stie cineva cum se utilizeaza token usb din Visual FoxPro?

O metoda pe care am gasit-o este cu Chilkat.
mmarius28
Posts: 17
Joined: 23 May 2022, 14:48

Re: Descarcare mesaje din SPV autentificare cu token USB

Post by mmarius28 »

Multumesc,

Mai jos este singura solutie care a functionat, si cu ajutorul lui ChatGPT :)

WinHttp.WinHttpRequest.5.1 nu afiseaza lista de certificate. Trebuie sa folosesti si

Code: Select all

loHTTP.SetClientCertificate("LOCAL_MACHINE\\My\\" + TRIM(lcThumbprint))
Dar nu am reusit sa recunoasca certificatul, nici cu thumbprint, nici cu Common Name (CN).

Cu MSXML2.XMLHTTP, Windows afiseaza lista de certificate la prima executie, dar la urmatoarele, certificatul ramane in cache-ul din Windows si nu se mai afiseaza lista de certificate si se foloseste certificatul de la prima executie.

Dupa mai multe incercari, cu Claude.ai si ChatGPT, am ajuns la solutia de mai jos, care curata cache SSL si afiseaza lista de certificate la fiecare executie. Bonus: nu cere parola la a doua executie cu acelasi certificat.

Code: Select all

DECLARE INTEGER InternetSetOption IN "wininet.dll" ;
    INTEGER hInternet, INTEGER dwOption, STRING lpBuffer, INTEGER dwBufferLength

#DEFINE INTERNET_OPTION_END_BROWSER_SESSION 42

* Clear SSL cache by ending the browser session
=InternetSetOption(0, INTERNET_OPTION_END_BROWSER_SESSION, 0, 0)

xzilefrz=50
CIFSELECTAT='123456'
cURL = "https://webserviced.anaf.ro/SPVWS2/rest/listaMesaje?zile="+Alltrim(Str(xzilefrz))+"&cif="+Alltrim(CIFSELECTAT) + "&nocache=" + TRANSFORM(SECONDS())

loHTTP = Createobject("MSXML2.XMLHTTP")
loHTTP.Open("GET", cURL , .F.)
loHTTP.setRequestHeader("content-type", "text/plain")
loHTTP.Send()
xraspuns=loHTTP.ResponseText
_cliptext = xraspuns
gabi123
Posts: 168
Joined: 28 Jun 2022, 20:56

Re: Descarcare mesaje din SPV autentificare cu token USB

Post by gabi123 »

Salut,
Intreb utilizatorii de chilkat
In situatia autentificarii cu token fizic , la descarcarea zipului uneori nu vrea sa descarce si vine un html Dupa o zi doua trei de obicei se descarca
Aveti si voi cazuri ? sau e de la mine
Pe autentificare OAUTH nu se intampla asa ceva
Alta observatie este ca cu chilkat toate operatiile sunt mai lente decat pe celelate metode MSXML sau WINHTTP
Post Reply