Forum Delphi.cz

Delphi => Obecné => Téma založeno: JS 11-01-2018, 22:45:23

Název: EET, pro "mirus77"
Přispěvatel: JS 11-01-2018, 22:45:23
Po odeslání třech EET to nahlásí "Neplatný původ odpovědi".
Nastaveno: USE_LIBEET;USE_DIRECTINDY
Poslední aktualizace na GitHub 24.10.2017 (62 commits).

Do 31.7.2017 (59 commits) to fungovalo správně.
Název: Re:EET, pro "mirus77"
Přispěvatel: mirus 11-01-2018, 23:35:02
Pomůžu
,byl to pokus o ověření certifikátu podle organizace v certifikátu co podepsal odpověď, ale nějak se to úplně nezdařilo.
Není to při 100% funkční a zatím se mi to neosvědčilo v ostrém provozu. Ještě jsem se nedostal k tomu to odladit.

Pomůže. Toto.
Kód: Delphi [Vybrat]
  1.   ...
  2.   EET.ResponseTrustCertOrganization := '';
  3.   ...
  4.  
Název: Re:EET, pro "mirus77"
Přispěvatel: JS 12-01-2018, 08:28:14
Dík.
Název: Re:EET, pro "mirus77"
Přispěvatel: mirus 16-01-2018, 01:29:02
Tak jsem zjistil, že se problém vyskytuje v kombinaci s USE_LIBEET. Zřejmě chyba v libeetSigner.dll.
Po třetím pokusu ověření mi to nevrací z té knihovny cerfikát odpovědi z uložiště cerfifikátů. Proto to hlášení o neplatné certifikátu odpovědi.
Když se použije původní xmlsec, tak se zdá, že v této kombinaci to funguje.
I tak to předělán na samostaný event pro ověření. Původní property odstraním, ať si to každý vyhodnotí podle svého.

Udělal jsem to proto, abych nemusel stále hledat aktuální platný certifikát a mohl ověřit odpověď v budoucnu.
Název: Re:EET, pro "mirus77"
Přispěvatel: mirus 16-01-2018, 01:54:19
Tak jsem to znovu zkompiloval s USE_LIBEET a chyba se neprojevuje. .... Zkusím nasadit logovací mechanismus do ostrého provozu co to vrací uvidím co s tím.
Název: Re:EET, pro "mirus77"
Přispěvatel: Delfin 16-01-2018, 02:30:10
Nemam poneti jak je tomu v CR, jen doufam ze alespon Pirati nastoli v podobnych pripadech API prip. ABI versioning pro klicove aplikace.
Název: Re:EET, pro "mirus77"
Přispěvatel: mirus 16-01-2018, 20:39:41
Tak snad jsem to našel. Aktualizován libeetsigner.dll na verzi 1.0.2 zkompilované stačí stáhnout z  https://github.com/mirus77/DelphiEET (bin/bin64).
Jinak zdrojový kód na https://github.com/mirus77/libeet
Oprava platí pro kombinaci s použitím direktivy USE_LIBEET a knihovny libeetsigner.dll.

Vypadá to, že funguje, byl tam, takový malý mem leak při ukládání certifikátu z odpovědi do uložiště certifikátů. Zlobilo to od 4 pokusu ověření odpovědi.