मेरे पास एक CAC स्मार्ट कार्ड और एक SCM माइक्रोसिस्टम्स SCR3310 USB कार्ड रीडर है । मैं SP1 के साथ विंडोज 7 अल्टीमेट चला रहा हूं।
यह सेटअप ठीक काम करता था। जब मैं अपना CAC सम्मिलित करूँगा, तो मेरे प्रमाणपत्र तुरंत प्रमाण-पत्र की दुकान (जैसा कि प्रमाण-पत्र प्रबंधक द्वारा दर्शाया गया है certmgr.msc
), और मैं उन वेबसाइटों पर लॉग इन कर सकता हूँ, जिन्हें पहुँच के लिए CAC की आवश्यकता थी।
हाल ही में, मैंने वेबसाइटों को एक्सेस करना बंद कर दिया। प्रमाण पत्र प्रबंधक में देख रहा हूं, मैं देखता हूं कि केवल एक या कभी-कभी मेरे दो प्रमाण पत्र मौजूद हैं। यदि मैं उन्हें हटा देता हूं, और मेरे कार्ड को फिर से डालें तो एक अलग प्रमाणपत्र दिखाई दे सकता है।
मैं बस लौट आया और पाठक को उसी मॉडल के साथ बदल दिया, इसलिए मुझे पता है कि यह अपराधी नहीं है।
मैंने अंततः सिस्टम लॉग को देखने के लिए सोचा, और स्मार्ट कार्ड प्रविष्टि पर निम्नलिखित त्रुटियों को देखा:
कालानुक्रमिक क्रम में त्रुटियां:
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)
ऐसा प्रतीत होता है कि हार्डवेयर ने विफलता के दौरान संकेत दिया IOCTL TRANSMIT
, जो कि उपयोगकर्ता-मोड ड्राइवर ढांचे के माध्यम से छला गया।
संपादित करें: CCID युक्ति से परामर्श करना, ऐसा प्रतीत होता है कि कार्ड वापस से जवाब दे रहा है
bmCommandStatus = 1 - Failed (error code provided by the error register)
। और Error = ICC_PROTOCOL_NOT_SUPPORTED -10 (F6h)
। मैं मान रहा हूं कि ड्राइवर ने इस त्रुटि का अनुवाद "HResult: निर्दिष्ट अनुरोध में लक्ष्य डिवाइस के लिए एक वैध संचालन नहीं है।" संदेश।
साथ ही, भेजी जा रही कमांड INS = 0xC0 थी, जो GET RESPONSE है ।
यह कैसे कह सकता है कि प्रोटोकॉल समर्थित नहीं है? जब यह काम करता है तो ड्राइवर अलग तरीके से क्या कर रहा है? ध्यान दें कि मैंने भी बस एक नए CAC के साथ यह कोशिश की थी, और मैं इसी तरह का व्यवहार देख रहा हूं। कार्ड रीडर, या ड्राइवर के साथ कोई समस्या?
ध्यान में रखते हुए मैंने सिर्फ रीडर को बदल दिया (और रिबूट किए गए ड्राइवरों को पुनः स्थापित किया, आदि) मेरे स्मार्ट कार्ड में कुछ गड़बड़ है? मैं नहीं मान रहा हूँ, क्योंकि यह दूसरे पाठक के साथ दूसरे सिस्टम पर काम करता है। मैंने एक ही सिस्टम पर एक अलग रीडर की कोशिश नहीं की है।
वास्तव में, एक ही भौतिक मशीन पर विंडोज 7 वीएम से जुड़ा एक ही पाठक ठीक काम करता है! कुछ स्पष्ट रूप से टूट गया है, और यह मुझे पागल कर रहा है कि क्या पता लगाने की कोशिश कर रहा है।
तो समस्या क्या है?