EID toorik

Allikas: eid.eesti.ee
Redaktsioon seisuga 2. mai 2012, kell 08:14 kasutajalt Martlaur (arutelu | kaastöö) (Uus lehekülg: '= eID juhendi toorik = == Huvitavad viited == "Uue ID-kaardi baastarkvara loomise käigus tehtud allkirjastamisplugina info ning JavaScripti teegi info ning lihtne näidisraken...')
(erin) ←Vanem redaktsioon | Viimane redaktsiooni (erin) | Uuem redaktsioon→ (erin)
Jump to navigation Jump to search

eID juhendi toorik

Huvitavad viited

"Uue ID-kaardi baastarkvara loomise käigus tehtud allkirjastamisplugina info ning JavaScripti teegi info ning lihtne näidisrakendus, kuidas teeki kasutada, on alla laetav siit (viimane versioon 0.11, uuendatud 11.11.2011)."

"Uuenenud on veebis allkirjastamise PHP näidisrakendus, mis kasutab JavaScripti teeki (idcard.js) allkirjastamisplugina valimiseks. Rakendust saab töötamas näha aadressil https://www.openxades.org/ddservice/, sealt samast on alla laetav ka lähtekood."

"Mobiil-IDga allkirjastamiseks on loodud näidisrakendus PHP-s. Näidisrakenduse koos lähtekoodiga leiad: http://demo.digidoc.ee/sign_sample/"

Sertifikaadi kehtivuse kontroll OCSP-ga (erinevalt seal väidetust toetab mod_ssl OCSP'd ilusti)

Apache'i ja IISi konfigureerimine ID-kaardi toetamiseks

libdigidoc ja jdigidoc dokumentatsioon.

Info DigiDocService testkeskkonna kohta: http://www.id.ee/?id=28727

IAIK PKCS#11 teegi, mida JDigiDoc kasutab, dokumentatsioon.

eToken tarkvara Linuxile - sealt võtta "eToken Linux SDK and Middleware" (vajab 32-bitist libpcsclite'i, samuti võib olla vajalik muuta .deb paki control faili).

Huvitavad rakendused

Käsurea rakendus eidenv kuvab kaardil olevad isikuandmed. Kasutades -x võtit käivitab argumendiks antud programmi keskonnas, kuhu on lisatud ESTEID_* muutujad samade andmetega.

cdigidoc omab ka CGI režiimi, milles ta tagastab lihtsasti (näiteks PHP's) parsitavat teksti. (NB! cdigidoc on hetkel vigane)

Kahtlased kohad

Kuna http://id.ee/?id=28735 ja Ubuntu repodest saadaval C-teegil on mõned päris suured muudatused sees, siis küsimus millist versiooni me libdigidoc'ist (ja teistest teekidest) kasutame?

Koos eToken vahevaraga suudab PC/SC üles leida digitemplil olevad andmed. OpenSC seda aga (esialgsel testimisel) ei suuda.

Kui paigaldada eToken vahevara Linuxile, siis sellega on kaasas ka paar QT teegi moodulit, mille installer paneb /usr/lib/eToken kausta ning ütleb ld.so.conf'ile, et nüüd terve süsteem neid kasutaks. Minu (Tiidu) keskkonnas tekitas see hulga jama (näiteks Skype lõpetas töötamise), kuna kaasas olid QT versiooni 4.2.3 moodulid, ent ülejäänud süsteem kasutas 4.7.4.

Kui kasutada eTokenit VirtualBoxis jooksva Windowsiga (ka teiste OS'ide korral?), siis on vaja paigaldada VirtualBox Extension Pack - vastasel juhul kuvatakse küll krüptopulga kaardilugeja, ent arvatakse, et see on tühi.

Huvitavad meetodid

JDigiDoc

JDigiDoc meetodid suvalise baidijada allkirjastamiseks PIN1'ga (näiteks autentimise jaoks) - NB! ei kontrolli serdi kehtivust:

PKCS11SignatureFactory.openSession(false, slot, pin);
PKCS11SignatureFactory.getAuthCertificate(0, null);
PKCS11SignatureFactory.sign(data, 0, null, null);
DigiDocVerifyFactory.verify(data, signature, cert, false, null);

JDigiDoc meetodid sertifikaadi kehtivuse kontrolliks:

X509Certificate.checkValidity();
DigiDocVerifyFactory.verifyCertificate(X509Certificate cert, X509Certificate caCert);
NotaryFactory.checkCertificateOcspOrCrl(X509Certificate cert, boolean bUseOcsp);

libdigidocpp

libdigidocpp korral tuleb allkirjastamiseks luua oma alamklass PKCS11Signer'ist. Õige sertifikaadi valimise näide on EstEIDSigner'is (non-repudiation(1) lipu asemel kontrollime digital-signature lippu(0)) ning PIN lugemise näide on EstEIDConsolePinSigner'is.

OCSP kinnituse pärimiseks on OCSP::checkCert(X509* cert, X509* issuer, const std::vector<unsigned char>& nonce).