Ho una smart card CAC e un lettore di schede USB SC3310 SCM Microsystems . Sto eseguendo Windows 7 Ultimate con SP1.
Questa configurazione funzionava bene. Quando inserivo il mio CAC, i miei certificati si propagavano immediatamente all'archivio certificati (come evidenziato da Certificate Manager, certmgr.msc
) e potevo accedere a siti Web che richiedevano un CAC per l'accesso.
Di recente, ho smesso di poter accedere ai siti Web. Guardando Gestione certificati, vedo che solo uno, o talvolta due dei miei certificati sono presenti. Se li elimino e reinserisco la mia carta, potrebbe apparire un certificato diverso.
Sono appena tornato e ho sostituito il lettore con lo stesso modello, quindi so che non è il colpevole.
Alla fine ho pensato di esaminare il registro di sistema e ho notato i seguenti errori durante l'inserimento della smart card:
Gli errori, in ordine cronologico:
Smart Card Service Event ID: 610
Smart Card Reader 'SCM Microsystems SCR33xx v2.0 USB SC Reader 0' rejected
IOCTL TRANSMIT: Incorrect function. If this error persists, your smart card
or reader may not be functioning correctly.
Command Header: 00 c0 00 00
WudfUsbccidDrv Event ID: 11
A Request has returned failure.
MsgType: 0x80
ICCStatus: 0x0
CmdStatus: 0x1
Error: 0xf6 // ICC_PROTOCOL_NOT_SUPPORTED
SW1: 0x0
SW2: 0x0
WudfUsbccidDrv Event ID: 11
An operation has failed (0x0, 0x0, 0x0, 0x0).
ScT0Transmit: Failed to send request at TPDU level.
HResult: The specified request is not a valid operation for the target device.
// Note: this one comes from WUDFUsbccidDriver.dll CMyDevice::UsbScT0Transmit+7D0h
WudfUsbccidDrv Event ID: 10
Request[0](CLS=0x0,INS=0xc0,P1=0x0,P2=0x0,Lc=0,Le=256,.NETServiceMethod=0x0)
Sembra che l'hardware abbia indicato un errore durante il processo IOCTL TRANSMIT
, che si è diffuso nel framework del driver in modalità utente.
Modifica: consultando le specifiche CCID, sembra che la scheda risponda
bmCommandStatus = 1 - Failed (error code provided by the error register)
. E Error = ICC_PROTOCOL_NOT_SUPPORTED -10 (F6h)
. Suppongo che il driver traduca questo errore in "HResult: la richiesta specificata non è un'operazione valida per il dispositivo di destinazione." Messaggio.
Inoltre, il comando inviato era INS = 0xC0, ovvero GET RESPONSE .
Come può dire che il protocollo non è supportato? Cosa sta facendo diversamente il conducente rispetto a quando ha funzionato? Nota che ho appena provato questo con un nuovo CAC e sto riscontrando un comportamento simile. Un problema con il lettore di schede o il driver?
Considerando che ho appena sostituito il lettore (e reinstallato i driver, riavviato, ecc.) C'è qualcosa che non va nella mia Smart Card? Sto assumendo no, perché fa il lavoro con un altro lettore su un altro sistema. Non ho provato un lettore diverso sullo stesso sistema.
In effetti, lo stesso lettore collegato a una macchina virtuale Windows 7 sulla stessa macchina fisica funziona perfettamente! Qualcosa è chiaramente rotto, e mi sta facendo impazzire cercando di capire cosa.
Quindi qual'è il problema?