Katkise Smart Card service (SCardSvr) remont (Windows XP, ID-kaart)
Sissejuhatus
Asi algas järjekordse ID-kaardi faili moodi. Üks XP Home kast lihtsalt keeldus ID-kaardilt andmeid lugemast läbi tavalise USB OMNIKEY 1021 lugeja, samal ajal kõrval XP Pro läpakas sama lugejaga kõik toimib nagu õlitatult. Blogiks läheb, kuna mingi keskmisest rohkem ajuvaba asi oli katki läinud ja Google oli keskmisest tublisti vähem abiks. Võib-olla keegi teine nüüd säästab need mõttetult kulutatud tunnid oma elus.
1. Event Viewer, System log
SCardSvr pritsib igal käivitumisel:
Event ID: 602 WDM Reader driver initialization cannot open reader device: The system cannot find the path specified
Ei mäleta, et selle jura googeldamine oleks midagi märkimisväärset tootnud. Seega, vaatame mis Control Panel -> ID-kaart räägib.
2. Control Panel, ID-kaardi utiliit fail
Utiliit keeldub üldse kaardilt andmeid lugemast, visates ekraanile:
EstEID CSP Error: Windows'i kiipkaardi alamsüsteem ei funktsioneeri
Selle veateate googeldamine oli samuti oma tulemuslikkuselt maailma mõttetumate tegevuste hulka kuuluv. Jah, ma sain teada, et selle veateatega seda probleemi ei ravi, ent seda tüüpi teadmiste ämber ajab juba ammu üle ääre.
3. Event Viewer, System log
Paar tükki oli seda ka:
Event ID: 610 Smart Card Reader 'OMNIKEY CardMan 1021 0' rejected IOCTL GET_STATE: Access is denied.
Samuti üldjoontes midagi tarka ei andnud, peale selle info kuskil MSi KB-st, et see veateade peaks enamvähem normaalne olema kui kaart sees pole ja üritatakse midagi lugejaga teha. No võib-olla on meil siis vähemalt toimiv draiver.
4. SCardSvr reinstall
Kuna kõrval läpakas kõik toimib, liikus mõte SCardSvr’i reinstalli peale. Seda ei tea ju Windows all kunagi, kas järsku mingi DLL on segi pööranud. Õnneks keegi tark mees oli midagi seoses mingi Windowsi iTunes-failiga juba kokku nikerdanud.
http://www.lazybit.com/index.php/2007/12/19/windows_xp_re_install_smart_card_service
Natuke nikerdamist ja peale restarti nägime juba midagi uut ja huvitavat. Loomulikult mitte töötavat ID-kaarti küll.
Event ID: 104 Comm Responder could not access the Calais key: Access is Denied Event ID: 110 Comm Responder could not create communications object Event ID: 201 Failed to initialize Server Application: Access is Denied
Vähemalt me teame, et reinstall tegi midagi..
5. Remondime SCardSvr Event ID 104
Õnneks scardsvr 104 googeldamine oli esimese tulemusena jackpot:
Article ID: 832082 Smart card stops functioning or you cannot access the local registry when you upgrade from Windows 2000 Server to Windows XP SP 1 or earlier
Tsiteerime:
The smart card may not function correctly because the Local Service is not granted Read permission for the following registry subkey: HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/Cryptography/Calais/Current
- Esiteks: Current võti oli XP Home masinast üldse uttu tõmmanud selle aja peale kui ma sinnakanti üldse jõudsin. Seda pole võimalik enam tuvastada, kas SCardSvri reinstall oli selle kadumise põhjuseks või oligi kogu algne probleem selles.
- Teiseks: regedit käima, Full õigused ülalnimetatud võtmele LOCAL SERVICE nimelisele tegelasele ja voila – meil on toimiv ID-kaart.
- Kolmandaks: oleks väga huvitav teada, kuidas kiipkaardi allsüsteem saab selliselt paigast ära minna, et sellist remondiprotseduuri on vaja. Selge on, et kellegi minutaolise puudumisel 99% juhtudel selle arvuti peal ID-kaarti järgmise OS-i reinstallini ei kasutata ja ongi meil järgmised mitte-osalevad kodanikud.