todvora / eet-client

Client and library for #EET communication - http://www.etrzby.cz/ , written in Java
MIT License
48 stars 26 forks source link

Client interface changes for v3.0 - please comment #15

Closed todvora closed 7 years ago

todvora commented 7 years ago

There are some flaws and imperfections in this EET client implementation which I'd like to fix in next major release 3.0. Please feel free to add some more or comment on current:

Changes mentioned here will be implemented on branch client-interface-changes, if you want to review the code, send pull request or check, how is the client evolving.

Dacesilian commented 7 years ago

Generování zprávy trvá relativně dlouho i na výkonném počítači. Je možné to zrychlit?

19:39:04.502 - volání client.submitReceipt 19:39:05.944 - (WebserviceLogging.java:20) - Outbound Message 19:39:06.117 - první (InMemoryCRLStore.java:103) - CRL loaded from URI 19:39:06.269 - poslední CRL loaded from URI 19:39:06.312 - odesláno

Trvá to cca 1810 milisekund. Nejsem si jistý, co tak trvá. Je možné CRL stáhnout předem a specifikovat cestu na disku, aby se nemusely pokaždé stahovat?

FIK dostanu v pořádku, takže je to použitelné, ale 2 sekundy prodleva je nepříjemná.

Děkuji.

todvora commented 7 years ago

Ta prodleva je opravdu kvůli načítání CRL. Ty se ale načítají jen při prvním odeslání a následně jsou cachované v paměti. Stáhnout CRL předem nedává moc smysl, protože se pravidelně aktualizují.

Je klient vytvářen pro každé odeslání zvlášť, nebo zůstává vytvořená instance, která se znovu použije?

Řešením by bylo vynechat CRL a použít jen OCSP, to ale zas vytváří request při každé přijaté odpovědi. I když, pravda, rychlý a s minimální datovou náročností.

Dacesilian commented 7 years ago

Máte naprostou pravdu. Měl jsem to zkusit rovnou několikrát bez restartu :) Opravdu to trvá už jen cca 170 ms. Takže stažení CRL jen poprvé je v pořádku.

todvora commented 7 years ago

Díky za info. V logu si všimněte hlášek:

2017-02-09 19:25:57.188 [pool-4-thread-1] INFO  cz.tomasdvorak.eet.client.security.crl.InMemoryCRLStore - CRL loaded from URI http://qcrldp1.ica.cz/rca15_rsa.crl, storing in cache. Next update: Thu Feb 08 11:45:44 CET 2018

CRL obsahuje informaci, do kdy je platný. Tu následně knihovna využívá, aby včas provedla update CRL a získala seznam nově zneplatněných certifikátů.