Saya memiliki kartu pintar CAC , dan pembaca kartu USB SCM Microsystems SCR3310 . Saya menjalankan Windows 7 Ultimate dengan SP1.
Pengaturan ini berfungsi dengan baik. Ketika saya akan memasukkan CAC saya, sertifikat saya akan segera menyebar ke toko sertifikat (seperti dibuktikan oleh Manajer Sertifikat, certmgr.msc
), dan saya bisa masuk ke situs web yang membutuhkan CAC untuk akses.
Baru-baru ini, saya berhenti bisa mengakses situs web. Melihat di Manajer Sertifikat, saya melihat bahwa hanya satu, atau kadang-kadang dua sertifikat saya hadir. Jika saya menghapusnya, dan masukkan kembali kartu saya, sertifikat yang berbeda mungkin muncul.
Saya baru saja kembali dan mengganti pembaca dengan model yang sama, jadi saya tahu itu bukan pelakunya.
Saya akhirnya berpikir untuk melihat log sistem, dan melihat kesalahan berikut saat pemasangan kartu pintar:
Kesalahan, dalam urutan kronologis:
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)
Tampaknya perangkat keras menunjukkan kegagalan selama IOCTL TRANSMIT
, yang mengalir melalui kerangka kerja driver mode pengguna.
Sunting: Berkonsultasi dengan spesifikasi CCID, tampaknya kartu merespons kembali
bmCommandStatus = 1 - Failed (error code provided by the error register)
. Dan Error = ICC_PROTOCOL_NOT_SUPPORTED -10 (F6h)
. Saya mengasumsikan driver menerjemahkan kesalahan ini ke "HResult: Permintaan yang ditentukan bukan operasi yang valid untuk perangkat target." pesan.
Juga, perintah yang dikirim adalah INS = 0xC0, yaitu DAPATKAN TANGGAPAN .
Bagaimana bisa dikatakan protokol tidak didukung? Apa yang dilakukan pengemudi berbeda dari ketika itu bekerja? Perhatikan bahwa saya juga baru saja mencoba ini dengan CAC baru, dan saya melihat perilaku serupa. Ada masalah dengan pembaca kartu, atau driver?
Mengingat saya baru saja mengganti pembaca (dan menginstal ulang driver, reboot, dll) apakah ada yang salah dengan Kartu Smart saya? Aku menduga tidak, karena tidak bekerja dengan pembaca lain pada sistem lain. Saya belum mencoba pembaca yang berbeda di sistem yang sama.
Bahkan, pembaca yang sama terhubung ke VM Windows 7 pada mesin fisik yang sama berfungsi dengan baik! Sesuatu jelas rusak, dan itu membuat saya gila mencoba untuk mencari tahu apa.
Jadi apa masalahnya?
Jawaban:
Untuk berjaga-jaga jika seseorang terjebak dengan masalah itu - saya telah mencoba untuk memperbaikinya seperti sepanjang hari.
Inilah solusinya:
Untuk Windows 64-bit - lompat ke kunci registri di
Seharusnya sudah ada beberapa pembaca. Dan jika tidak, maka itulah alasan mengapa Anda mungkin memiliki semua driver yang diinstal, tetapi masih tidak berfungsi sama sekali.
Pergi ke
Device Manager
, menemukan pembaca yang bersangkutan kemudian melihat keluar untuk kata ini dalam Rincian tab:Bus reported device description
.Buat subkunci untuk tombol di atas. Nama harus persis sama dengan itu
Bus reported device description
. Kemudian tambahkan penghitung di akhir. Jadi kuncinya harus seperti ini:Sekarang buat nilai string pasangan: yang pertama dengan Nama perangkat dan yang kedua untuk grup. Inilah contoh saya:
Itu dia. Agar berfungsi, putuskan sambungan alat pembaca dan sambungkan kembali. Dalam hal perangkat internal, Anda mungkin harus me-reboot mesin. Dan inilah
.reg
contoh file (ganti nama dan nomor perangkat dengan nilai Anda sendiri):sumber