CodeReview
Isečak iz prepiske e-poštom, da se ne izgubi.
U subotu, 02. 07 2011. у 17:58 +0200, Goran Rakic piše:
1) EidInfo 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.
2) EidCard klasa komunicira sa karticom i čita TLV iz pojedinačnih EF. U
konstruktor se prosleđuje veza sa terminalom (kod Jave to je Card
objekat iz terminal.connect()). Javni API readEidInfo(), readEidPhoto().
3) 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.
Sample za u terminalu koristi samo (1) i (2): lib/sample/JFreesteel.java
GUI aplikacija koristi i (3), tj. cela aplikacija je jedan listener: viewer/SerbianEdiViewer.java
Nedostaje mi asinhroni interfejs u EidCard koji zapravo radi.
Ideja je da metoda EidCard.readEidPhotoAsync() primi callback, pokrene
novi thread, 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.
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. Official Windows application
is not doing this at the moment. I do not know if there is a single signature
for all data (with or without photo), or each EF is signed individually.

