스마트 카드 오류


8

나는이 CAC 스마트 카드 및 SCM 마이크로 SCR3310의 USB 카드 리더 . SP1이 포함 된 Windows 7 Ultimate를 실행하고 있습니다.

이 설정은 잘 작동했습니다. CAC를 삽입하면 인증서가 인증서 저장소로 즉시 전파되고 (Certificate Manager가 증명 한대로 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로 이것을 시도했으며 비슷한 동작을 보았습니다. 카드 리더 또는 드라이버에 문제가 있습니까?


방금 리더를 교체하고 드라이버를 다시 설치하고 재부팅 한 경우 스마트 카드에 문제가 있습니까? 이 때문에, 아니 겠지 않는 다른 시스템의 다른 독자와 함께 일을. 같은 시스템에서 다른 독자를 시도하지 않았습니다.

실제로 동일한 실제 컴퓨터에서 Windows 7 VM에 연결된 동일한 리더가 제대로 작동합니다! 무언가가 분명히 깨져서 무엇을 알아 내려고 노력하고 있습니다.

그래서 무엇이 문제입니까?


방금 Microsoft의 Jasper V와 멋진 대화 세션을 가졌습니다. pastebin.com/dvU3dNfa
Jonathon Reinhart

같은 문제가 있습니다. 해결책을 찾으십니까?
Tobia

나는 리눅스를 설치했다.
Jonathon Reinhart

안녕하세요 @JonathonReinhart,이 게시물을 납치하여 죄송하지만 정확히 같은 문제가 있습니다. 해결책을 찾으셨습니까?
Lankymart

답변:


2

누군가가 그 문제를 겪을 경우를 대비하여 하루 종일 문제를 해결하려고 노력했습니다.

해결책은 다음과 같습니다.

  1. 64 비트 Windows의 경우-레지스트리 키로 이동하십시오.

    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
Davor Josipovic 2016 년

미안하지만 이것이 달성해야 할 것을 이해하지 못합니다. 장치가 명확하게 연결되어 있고 드라이버가 리더와 통신하고 있습니다.
Jonathon Reinhart
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.