Exempel 2

Detta exempel visar följande flöde:

a) Datorn startas upp utan kort i läsaren (endast en kortläsare ansluten)
b) När dialogen ”Tryck CTRL-ALT-DEL” visas sätts kortet i och PIN anges i den dialog som automatiskt visas
c) Med kortet sittande i kortläsaren loggar användaren in i Windows med namn och lösen

Förväntat beteende

Inloggningen lyckas och Net iD har kopierat kortets certifikat till MyStore

Testat med

OS = Windows XP SP3
Net iD = 5.6.3.64 SVR1101
Kort = Telias företagskort med e-leg och SITHS-par
Kortläsare = HP tangentbord KUS0133 101 med 4.33.0.0

Råtrace när allt går bra

002.txt

Kommentar 1

I index.html ovan kommer du att se ett antal felmeddelanden av denna typ:

nyckelnfinnsinte

Det är helt i sin ordning. Det är INTE så att någon förväntad nyckel är försvunnen eller att kortet är trasigt.

Anledningen är att Microsofts CryptoAPI alltid letar efter två slags nycklar i varje container.

Anropande process är ju här winlogin.exe så tro inte att Net iD bestämmer över inloggningen på egen hand.

CryptoAPI letar dels efter nyckel av typen AT_KEYEXCHANGE men även efter nycklar av typen AT_SIGNATURE. När CryptoAPI letar i en given container efter en nyckel av typen AT_KEYEXCHANGE så ser det ut såhär:

key_found

I vårt fall har Net iD, av olika randiga och rutiga skäl, delat upp kortet fyra certifikat i varsin container. Namnsatta med thumbprint från certifikaten.

certutil_containernames

Här har vi alltså en container per certifikat. Vilket svarar direkt mot kortet e-legitimationspar och SITHS-paret där två certyifikat har KeyUsage=Digital signatur, Nyckelchiffrering (a0) och två har KeyUsage=Oavvislighet (40)

När då CryptoAPI enligt sin vana trogen letar efter nycklar av typen AT_SIGNATURE i en container där ingen sån nyckel finns blir logiskt nog svaret:

nyckelnfinnsinte

7_CryptAcquireContext

Läs mer om containers här

Kommentar 2

Räds icke heller den synbart otäcka utskriften ”Unable to open server id map: ‘iid-32-0-ServerID’, (Det går inte att hitta filen.)”

Det är inte värre än att Net iDs PIN-cachefunktionalitet ännu inte startas (I detta fall SSO1)

SSO1 = SSO som intern process i Net iD
SSO2 = SSO som separat Windows-tjänst

Några rader längre ner sparkas det hela igång, i praktiken efter att PIN angetts under själva påloggningen.

SSO1_notyetstarted