나는이 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에 연결된 동일한 리더가 제대로 작동합니다! 무언가가 분명히 깨져서 무엇을 알아 내려고 노력하고 있습니다.
그래서 무엇이 문제입니까?