स्मार्ट कार्ड की त्रुटियां


8

मेरे पास एक 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 वीएम से जुड़ा एक ही पाठक ठीक काम करता है! कुछ स्पष्ट रूप से टूट गया है, और यह मुझे पागल कर रहा है कि क्या पता लगाने की कोशिश कर रहा है।

तो समस्या क्या है?


मेरे पास माइक्रोसॉफ्ट से एक जैस्पर वी के साथ एक प्यारा चैट सत्र था, जिसने समस्या में बिल्कुल शून्य अंतर्दृष्टि प्रदान की: pastebin.com/dvU3dNfa
जोनाथन रेइनहर्ट

मुझे एक ही समस्या है, क्या आप इसका समाधान ढूंढते हैं?
तोबिया

मैंने लिनक्स स्थापित किया।
जोनाथन रेनहार्ट

हाय @JonathonReinhart, इस पोस्ट को हाईजैक करने के लिए क्षमा करें, लेकिन मेरे पास एक ही मुद्दा है, क्या आपको कभी कोई समाधान मिलता है?
लंकिमार्ट सेप

जवाबों:


2

बस अगर कोई व्यक्ति इस मुद्दे पर फंस जाता है - मैं इसे पूरे दिन की तरह ठीक करने की कोशिश कर रहा हूं।

यहाँ समाधान है:

  1. 64-बिट विंडोज के लिए - रजिस्ट्री कुंजी पर जाएं

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

कुछ पाठक पहले से ही होने चाहिए। और यदि नहीं, तो यही कारण है कि आपके पास सभी ड्राइवर स्थापित हो सकते हैं, लेकिन फिर भी सभी कार्य नहीं कर रहे हैं।

  1. Device Managerप्रश्न में पाठक को खोजने के लिए जाएं , विवरण टैब में इस स्ट्रिंग के लिए देखें Bus reported device description:।

  2. उपरोक्त कुंजी के लिए एक उपकुंजी बनाएँ। नाम बिल्कुल उसी के समान होना चाहिए Bus reported device description। फिर अंत में एक काउंटर जोड़ें। तो कुंजी इस तरह होनी चाहिए:

    HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Cryptography\Calais\Readers\O2Micro CCID SC Reader 0
    
  3. अब एक दो स्ट्रिंग मान बनाएँ: पहला डिवाइस नाम के साथ और दूसरा समूहों के लिए। यहाँ मेरा उदाहरण है:

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

बस। इसे काम करने के लिए पाठक को डिस्कनेक्ट करें और इसे वापस कनेक्ट करें। आंतरिक उपकरणों के मामले में, आपको मशीन को रिबूट करना पड़ सकता है। और यहाँ .regफ़ाइल उदाहरण है (अपने स्वयं के मूल्यों के लिए डिवाइस का नाम और नंबर बदलें):

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

यद्यपि आपका प्रश्न बहुत विशिष्ट है, अपनी अंतर्दृष्टि साझा करने के लिए धन्यवाद। +1
जोसफोविक

मुझे क्षमा करें, लेकिन मुझे समझ नहीं आ रहा है कि यह क्या पूरा करना चाहिए। मेरा डिवाइस स्पष्ट रूप से जुड़ा हुआ है, और ड्राइवर पाठक के साथ संवाद कर रहा है।
जोनाथन रेनहार्ट
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.