logi sisse meist KKK

Tahan programmist luua ID-kaardiga autenditud SSL ühendust. Kas selle kohta on olemas mingeid koodinäiteid või oskab äkki keegi kirjeldada põhimõtet? Äkki see info on teistelegi huvitav, seepärast mõtlesin, et postitan enne tuhnima hakkamist küsimuse.

Kontekst:

  • Keeleks on tõenäoliselt Java, kuigi see ei ole iseenesest piiratud. Javas tundub ID-kaart suhteliselt hästi toetatud olevat. Alternatiiv oleks näiteks Firefoxist Javascriptiga.
  • Platvorm kas Windows või Linux, vahet pole. Eelistatud oleks multiplatvormne lahendus.
  • Programmil puudub kasutajaliides, PIN kood sisestatakse pinpadilt.
  • Korra ühenduse loomise järel soovin ma teha mitu päringut üle selle ühenduse. Kasutaja ei peaks selle pärast oma PIN koodi mitmekordselt sisestama.
  • Programm peaks käivituma automaatselt peale ID-kaardi sisestamist seadmesse.

küsitud Jan 16 '10 at 22:44

Tambet%20Matiisen's gravatar image

Tambet Matiisen ♦♦
77791125


Java multiplatvormsus on hea ID-kaardi toe puhul suhteliselt näiline. Suhtlemine käib läbi native-teegi (sa ju mäletad signeerimise appleti ja libpkcs11wrapperiga toimuvat?

Soovitaks vaadata ID-kaardi "utiliiidi" lähteteksti. konkreetsemalt sslConnect.cpp

link

vastatud Jan 17 '10 at 16:53

sigamozart's gravatar image

sigamozart
2994

Thnx, just midagi sellist vaja oligi. Ei teadnud, et ID-kaardi arendus nii avatud on, väga lahe. Oligi aeg oma rooste läinud C++/Qt kogemust värskendada.

(Jan 17 '10 at 21:27) Tambet Matiisen ♦♦

Bouncy Castle 1.46 sisaldab TLS klienti kuhu saab käesurumise faasis kui klienti tuvastatakse realiseerida allkirjastamise isikutuvastuse serdiga läbi kaardi. Allkirjastamiseks saab võtta IAIK pkcs11 wrapper jarri millele pakutakse mh. vabatarkvaralitsentsi. Kui SSL soketi ära teed, siis:

  import org.bouncycastle.crypto.tls.TlsProtocolHandler;
  ...
  TlsProtocolHandler handler = new TlsProtocolHandler(socket.getInputStream(),
    socket.getOutputStream());
  handler.connect(tls client);

kliendil on meetod TlsAuthentication getAuthentication() kust kaudu antakse ette TlsSignerCredentials isend millel on operatsioon byte[] generateCertificateSignature(byte[] md5andsha1) throws IOException;

Nüüd tuleb võtta IAIK pkcs#11 mooduli sessioon, otsida välja isikutuvastuse sert/token ja allkirjastada sellega baidid ära. IAIK kasutust on näha jDigidoc algtekstidest (PKCS11SignatureFactory)

link

vastatud Jun 28 '11 at 13:30

mgvali's gravatar image

mgvali
111

Sinu vastus
lülita eelvaade

Jälgi seda küsimust

By Email:

Pärast sisselogimist saad tellida muudatuse teavitusi siit

By RSS:

Answers

Answers and Comments

Markdown Basics

  • *kaldkiri* või __kaldkiri__
  • **paks kiri** või __paks kiri__
  • link:[tekst](http://url.com/ "pealkiri")
  • pilt?![alt tekst](/path/img.jpg "pealkiri")
  • nummerdatud nimekiri: 1. Foo 2. Bar
  • to add a line break simply add two spaces to where you would like the new line to be.
  • põhilised HTML märgendid on samuti toetatud

Pinu tööpakkumised

kõik pakkumised »

Küsimuse sildid:

×16
×5
×2

küsitud: Jan 16 '10 at 22:44

nähtud: 4,704 korda

viimati uuendatud: Jun 28 '11 at 13:30

Litsents: Creative Commons Attribution License | Kontakt: info@pinu.ee