ID
Minu ID.eeSisujuhtFoorumAbi
AVALEHT » Tehniline info » Veebiserverite konfigureerimine EST ENG 
Veebiserverite konfigureerimine
otsing:
 
   

IIS-i konfigureerimine ID-kaarti küsima

(esialgse juhendi autor: Mihkel Ütt, Seesam Elukindlustus)

Taustainfoks vt ka Microsofti saidist SSL-sessiooni loomise kirjeldus.

  • Windows 2000 server, sh Internet Information Services, servicepackid
  • installeeri Juur-SK veebiserverisse, trusted root store
  • võiks ka installeerida ESTEID-SK ja ESTEID-SK 2007  sertifikaadid veebiserverisse, intermediate CA store
  • NB: lisades veenduda, et lisad ikka Masina (Computer) certificate store'sse, mitte kasutaja tasemel. Seega tasub certmgr.msc-ga asjad üle vaadata.
  • Veebiserverile võiks-peaks installeerima ka SSLi tegemiseks vajaliku sertifikaadi. Kuidas seda sertifikaati teha, ei hakka vast kirjeldama (eriti kui ise teha otsast peale). Konkreetse virtuaalserveri SSL
    sertifikaadi määramine käib tolle virtuaalhosti propertiesist, kahtlemata jaotisest Directory security.
  • Sealtsamast ja just virtuaalserveri tasemelt saab määrata ka CTLi (Certificate trust list), see teeb edasise elu ja kontrollimise lihtsamaks. Listi peab lisama Juur-SK, ESTEID-SK ja ESTEID-SK2007 sertifikaadid. Enable CTL.
  • Kogu saidi ulatuses võiks jaotisest Client Certificates valida Ignore, siis pole iga suvalise lehe küsimisel sertifikaat oluline.

Oletame, et sertifikaadi järgi tuvastamiseks kasutame ainult üht faili (sisuliselt logon). Teeme näiteks faili logon.asp kasvõi serveri juurkataloogi. Faili sisuks võiks panna midagi sellist (VBscript -- NB: siin ja allpool koodinäidetes < ja % vahelt vaja üks tühik ära koristada, kohalik sisuhaldus ei luba muidu lihtsalt lehel kommentaari-märgendust):

< %
If Len(Request.ClientCertificate("Subject")) = 0 Then
Response.Write("No client certificate was presented")
End if

For Each key in Request.ClientCertificate
Response.Write( key & ": " & Request.ClientCertificate(key) & "
")
Next
%>

Eelmine ei tee muud kui kasutab üht IISi sisseehitatud objekti ja selle kollektsiooni. Ammendavat materjali leiab MSDNist.

IIS Manageri alt tuleks leida see failike (logon.asp), võtta properties, sealt file security ja jaotisest Secure communications nupp Edit. MäärataAccept client certificates. Sel juhul IIS küsib kliendilt sertifikaati, kuid
ei kurjusta kui ta seda ei saa.

Edasine elu on suhteliselt lihtne juba: Accept client certificatemääranguga faili kliendile saates poogitakse vajalik lisaküsimus sertifikaadi saamiseks headeritesse, brauser peaks asjast positiivselt aru saama ja sertifikaati küsima-valida laskma.

Nüüd loetakse vastav sertifikaat veebiserverisse, sisseehitatud vahenditega kontrollitakse seda automaatselt CRLi vastu. Kehtivusaeg on asi, millest mööda ei, saa kuivõrd võime, kuid ei tarvitse seda arvestada:

...
Request.ClientCertificate("VALIDFROM") > now() or Request.ClientCertificate ("VALIDUNTIL") < now()
...

CRLiga tegeleb jällegi IIS ise, minu andmetel kasutab protokolliks HTTPd.

Nüüd saab IISi abil välja lugeda isikukoodi vastavast sertifikaadi Subjecti alamharust:

Request.ClientCertificate("Subject2.5.4.5")

Niisiis, kuvamaks ruutjuurt isikukoodist võiks muu HTMLi vahele kirjutada midagi sellist:

< %= Sqr(Request.ClientCertificate("Subject2.5.4.5")) %>


ANDMEKAITSE AUTORIKAITSE KONTAKT
pass.eesk.eepilet.ee
ID-PROJEKT
ID-KAART
KASUTUSALAD
TARKVARA
TEHNILINE INFO