CodeReview - grakic/jfreesteel GitHub Wiki
Kratko uputstvo o korišćenju API-a se nalazi u README datoteci.
Isečak iz prepiske e-poštom, da se ne izgubi dok ne bude napisano nešto bolje.
U subotu, 02. 07 2011. у 17:58 +0200, Goran Rakić piše:
-
EidInfo je klasa koja sadrži podatke očitane iz struktura sa kartice i javne metode za "formatirano" čitanje. Kada se napuni, instanca ove klase može da se koristi u drugim programima, npr. ispiše u terminal, baci na GUI formu ili PDF izveštaj.
-
EidCard klasa komunicira sa karticom i čita TLV iz pojedinačnih EF. Instanca se dobija preko EidCard.fromCard() uz prosleđenu vezu sa terminalom (kod Jave to je Card objekat iz terminal.connect()). Javni API readEidInfo(), readEidPhoto().
-
Opciono može da se koristi i Reader klasa koja omotava PC/SC terminal i implementira Observer-Listener za događaje kartica ubačena - izbačena. Listener dobija EidCard objekat pa korisnik samo prosleđuje koji terminal želi da očita.
Primer jednostavnog programa u terminalu koristi samo (1) i (2): sample/JFreesteel.java u jfreesteel/
GUI aplikacija koristi (3), tj. cela aplikacija je jedan listener: EidViewer.java u eidviewer/
Nedostaje mi asinhroni interfejs u EidCard koji zapravo radi.
Ideja je da metoda EidCard.readEidPhotoAsync() primi callback, pokrene novu nit, pročita sliku i cimne callback kada je sve gotovo. Međutim card.beginExclusive() kod mene izgleda ne radi kao pravi mutex lock iako bi po dokumentaciji trebalo.
Takođe u EidCard treba dodati metode za čitanje X509 sertifikata za el. potpis (ako postoji) i sertifikata za autentikaciju i intermediate MUPCA Gradjani koji se takođe nalazi na kartici.
Preneto sa http://codereview.appspot.com/4754047/:
On 2011/07/17 20:24:08, fmil wrote:
Another improvement may be splitting this class into three parts -- since it already tries to do three separate things. But it's not essential and can be done later.
I do not see use case where you would want document info and not personal info.
The fact there are 3 different EF blobs stored on the card internally can be easily changed in the future with new series of cards. All 3 files are read much faster than you can remove and insert new card.
There is a missing feature in EidCard that should be able to validate EidInfo against the signature stored somewhere on a card.