ebics-java / ebics-java-client

Java open source EBICS client - Support for French, German and Swiss banks
GNU Lesser General Public License v2.1
36 stars 35 forks source link

Add camt format support. #1

Closed cyrilfr closed 4 years ago

cyrilfr commented 4 years ago

Add the support for camt.052/053/054 file format.

cyrilfr commented 4 years ago

Maybe the pain formats should be added too.

The fetchFile() method fails because the unserialization doesn't unserialize (or the serialization fails to serialize) the key digests.

So to make a fetch request, I had to add those lines before the call:

EbicsBank bank = session.getUser().getPartner().getBank();
bank.setDigests(KeyUtil.getKeyDigest(bank.getE002Key()), KeyUtil.getKeyDigest(bank.getX002Key()));

(I post here because there is no Issue section.)

uwemaurer commented 4 years ago

I enabled this issue section now. (was not removed intentionally)

Do you get an error message for the unserialization? Looking at the code it should unserialize the key digests aswell. Maybe you can save the bank object again after setting the keys and then try to unserialize this newly saved bank.

Am Fr., 4. Okt. 2019 um 08:23 Uhr schrieb Cyril Franceschini < notifications@github.com>:

Maybe the pain formats should be added too.

The fetchFile() method fails because the unserialization doesn't unserialize (or the serialization fails to serialize) the key digests.

So to make a fetch request, I had to add those lines before the call:

EbicsBank bank = session.getUser().getPartner().getBank(); bank.setDigests(KeyUtil.getKeyDigest(bank.getE002Key()), KeyUtil.getKeyDigest(bank.getX002Key()));

(I post here because there is no Issue section.)

— You are receiving this because you modified the open/close state. Reply to this email directly, view it on GitHub https://github.com/uwemaurer/ebics-java-client/pull/1?email_source=notifications&email_token=AAA46VBJTIU4R4ZAGP2V65TQM3OPBA5CNFSM4I4ZIP32YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEAKSSTA#issuecomment-538257740, or mute the thread https://github.com/notifications/unsubscribe-auth/AAA46VCIJ6DCFRDUGHCGMRTQM3OPBANCNFSM4I4ZIP3Q .

cyrilfr commented 4 years ago

I don't get an error during the unserialization but the digests are wrong so the EBICS server respond with an error. Using the snippet from above before calling fetchFile of FileTransfer in the fetchFile method of EbicsClient updates the digests and makes it work. I experienced this issue a long time ago so I don't exaclty remember the nature of the wrong digests. To me they look good (in format) but they aren't the ones used for the initialization requests and are refused by the server obviously. I run the initialization requests and the file fetch request in separate steps like written in the Wiki.