スマートカードエラー


8

私が持っているCACスマートカード、およびSCM MicrosystemsのSCR3310のUSBカードリーダーを。Windows 7 Ultimate SP1を実行しています。

この設定は以前は問題なく機能していました。CACを挿入すると、証明書はすぐに証明書ストアに伝達され(Certificate Managerが証明certmgr.msc)、アクセスにCACを必要とするWebサイトにログオンできます。

最近、ウェブサイトにアクセスできなくなりました。証明書マネージャーを見ると、証明書が1つ、場合によっては2つしか存在しないことがわかります。カードを削除してカードを再度挿入すると、別の証明書が表示される場合があります。

返品して同じモデルに交換したので、原因ではないことがわかりました。

ついにシステムログを確認しようと思いましたが、スマートカードの挿入時に次のエラーに気づきました。

ここに画像の説明を入力してください


時系列のエラー:

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に接続された同じリーダーは問題なく動作します。何かが明らかに壊れていて、それが私が何を理解しようとしているのか気が狂っている。

それで問題は何ですか?


:私はちょうど問題に正確にゼロ洞察を提供し、マイクロソフトからジャスパーVとの素敵なチャットセッション、持っていたpastebin.com/dvU3dNfa
ジョナサン・ラインハルトの

同じ問題がありますが、解決策はありますか?
トビア

Linuxをインストールしました。
Jonathon Reinhart

こんにちは@JonathonReinhart、この投稿をハイジャックして申し訳ありませんが、まったく同じ問題があります。解決策を見つけたことがありますか?
Lankymart 2016

回答:


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. 次に、2つの文字列値を作成します。1つ目はデバイス名、2つ目はグループです。これが私の例です:

    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

申し訳ありませんが、これで何ができるかわかりません。デバイスは明確に接続されており、ドライバーはリーダーと通信しています。
Jonathon Reinhart
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.