todvora / eet-client

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

Code optimalization #8

Closed rds76 closed 7 years ago

rds76 commented 7 years ago

Neni zbytecne 2x podepisovat stejny zdroj dat pri vytvareni requestu? public String getBKP(final TrzbaDataType data) vola jiz volany getPKP public String getBKP(final TrzbaDataType data) -> public String getBKP(final byte[] pkp) a volat new BkpElementType().withValue(securityCodesGenerator.getBKP(pkp.getValue()))... BKP otisk je podminen existenci PKP a navic pokud by se pouzil nedeterministicky podepisovaci algoritmus byla by stavajici implementace chybna

todvora commented 7 years ago

Dobrý postřeh, díky. Co nejdříve opravím, rád ale přijmu i pull request, kdyby byl zájem :-)

rds76 commented 7 years ago

Jeste je tam pak mensi zadrhel pri resubmitu po neuspesnem prvnim odeslani. Je potreba posilat stejny PKP (ten ktery se vytiskne na uctenku) jako v prvnim requestu. Coz je aktualne zaruceno, pokud vstupni data jsou totozna s puvodnim requestem, diky pouzitemu determin. RSASSA-PKCS1-v1_5. Jinak by bylo potreba data pro resubmit skladat s jiz vytvorenym PKP.

todvora commented 7 years ago

Díky za PR, musím se tím prokousat, doopravit testy a vše zmergovat. Co se týče práce s BKP a PKP, bylo by asi opravdu lepší předpočíst je před odesláním a zpřístupnit třeba pro nějakou persistenci, kdyby došlo k pádu aplikace během odesílání, případně pro znovuodesílání. Zkusím to promyslet a případně upravit kód.

Díky za nápady a pomoc, Tomáš

todvora commented 7 years ago

Výpočet BKP zmergován, viz release 2.0.1. Ta záležitost se znovuodesíláním bude potřebovat nějakou zásadnější změnu API. V současné době by to nemělo působit žádné problémy. Při dalších úpravách na to budu myslet a pokusím se to vyřešit elegantněji.

Díky za pomoc!

rds76 commented 7 years ago

Myslim, ze neni potreba to upravovat uz, ten RSA alg. se uz tezko zmeni a toto je funkcni. Ja diky za peknou a uzitecnou knihovnu. Jinak podarilo se mi to zbuildovat jako knihovnu pro JEE container Glassfish/Payara, jako jakesi cloudove reseni zpristupnene pomoci webservices. Trochu se tam mlati ty appache dependecy libs s builtin Glassfish libs, ale po mensich upravach je to pouzitelne. Kdyby se s tim nekdo trapil tak rad pomuzu.

todvora commented 7 years ago

Díky za info, kdyby někdo podobnou funkcionalitu poptával, přepošlu kontakt.

S pozdravem Tomáš