2011-07-07 20 views
4

C++経由でスマートカードにアクセスしようとしています。 私はすでにConnectionとCardHandleを持っています。スマートカードにコマンドを送信したときの6E 00の意味

しかし、SCardTransmitを介してAPDUコマンドを送信すると、カードからの応答として6E 00が得られます。 どのAPDUコマンドを送信しても問題ありません。例については 毎回6E 00

  • FF CA FA 00 00(カードのATR - リセットへの答え)または
  • FF CA FF 82 00(ASCIIでの製品名)

"PC/SC Diag"のようなPC/SC Testtootlでコマンドを送信したときと同じことです。

誰かがアイデアを持っていますこのエラーコードの意味とその問題の解決方法は?

私を助けてください!!!! ;-)

答えて

5

ISO 7816-4 0x6E00によると、 "クラスがサポートされていません" という意味。

APDUで正しいCLA値を使用していますか?

クラス(CLA)バイトは通常0x00、0xA0、0xC0または0xF0であり、時にはカードのセキュアメッセージを示す0x0Cでマスクされます。 AFAIK、唯一の無効なCLA値は0xFFです。

これはカードによって異なりますが、ベンダーのカード仕様はありますか?

+0

ああ、0Cか00を使うと、別のErrorcode 6A 86が出てきます。どこでエラーコードのリストを見つけることができますか? ベンダの仕様がありません – Pusher

+0

カードにAPDUを送信する前に[ISO 7816-4標準](http://www.cardwerk.com/smartcards/smartcard_standard_ISO7816.aspx)を読む必要があります。 –

+0

'0x6a86'は" P1〜P2のパラメータが正しくない "という意味です –

0

BasicCard PDFマニュアルには、152-153ページのエラーコードのリストがあります。

「CLAバイトのコマンドが認識されません」という記述があります。

"6A 86"はカード固有のコマンドに対する応答であり、BasicCardリストには表示されません。

関連する問題