Kesalahan Kartu Cerdas

8

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:

masukkan deskripsi gambar di sini


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?

Jonathon Reinhart
sumber
Saya baru saja melakukan sesi obrolan yang menyenangkan dengan Jasper V dari Microsoft, yang memberikan nol wawasan tentang masalah: pastebin.com/dvU3dNfa
Jonathon Reinhart
Saya memiliki masalah yang sama, apakah Anda menemukan solusinya?
Tobia
Saya menginstal Linux.
Jonathon Reinhart
Hai @JonathonReinhart, maaf telah membajak pos ini tetapi saya memiliki masalah yang sama persis, pernahkah Anda menemukan solusinya?
Lankymart

Jawaban:

2

Untuk berjaga-jaga jika seseorang terjebak dengan masalah itu - saya telah mencoba untuk memperbaikinya seperti sepanjang hari.

Inilah solusinya:

  1. Untuk Windows 64-bit - lompat ke kunci registri di

    HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Cryptography\Calais\Readers
    

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.

  1. Pergi ke Device Manager, menemukan pembaca yang bersangkutan kemudian melihat keluar untuk kata ini dalam Rincian tab: Bus reported device description.

  2. 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:

    HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Cryptography\Calais\Readers\O2Micro CCID SC Reader 0
    
  3. Sekarang buat nilai string pasangan: yang pertama dengan Nama perangkat dan yang kedua untuk grup. Inilah contoh saya:

    Device = O2Micro CCID SC Reader 0
    
    Groups = SCard$DefaultReaders
    

Itu dia. Agar berfungsi, putuskan sambungan alat pembaca dan sambungkan kembali. Dalam hal perangkat internal, Anda mungkin harus me-reboot mesin. Dan inilah .regcontoh file (ganti nama dan nomor perangkat dengan nilai Anda sendiri):

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Cryptography\Calais\Readers\O2Micro CCID SC Reader 0]
"Device"="O2Micro CCID SC Reader 0"
"Groups"=hex(7):53,00,43,00,61,00,72,00,64,00,24,00,44,00,65,00,66,00,61,00,75,\
00,6c,00,74,00,52,00,65,00,61,00,64,00,65,00,72,00,73,00,00,00,00,00
Vladimir Molodnyakov
sumber
Meskipun pertanyaan Anda sangat spesifik, terima kasih telah berbagi wawasan Anda. +1
Davor Josipovic
Maaf, tapi saya tidak mengerti apa yang harus dicapai. Perangkat saya terhubung dengan jelas, dan driver berkomunikasi dengan pembaca.
Jonathon Reinhart