What is the meaning of 6E 00 when I send a command to a SmartCard

こ雲淡風輕ζ 提交于 2019-12-07 05:19:28

问题


I try to access a SmartCard via C++. I got already the Connection and the CardHandle.

But when I send an APDU Command via SCardTransmit, i'll get 6E 00 as the answer from the card. No matter which APDU Command i send. Everytime 6E 00.

For Example:

  • FF CA FA 00 00 (Card's ATR - Answer To Reset) or
  • FF CA FF 82 00 (Product name in ASCII)

The same thing when i send the Command with an PC/SC Testtootl like "PC/SC Diag".

Has anybody an Idea what the meaning of this Error-Code and how to solve the problem?

Please help me !!!! ;-)


回答1:


According to ISO 7816-4 0x6E00 means "Class not supported".

Are you using the correct CLA value in the APDU?

The class (CLA) byte is usually 0x00, 0xA0, 0xC0 or 0xF0 and sometimes masked with 0x0C that indicates Secure Messaging on some cards. AFAIK, the only invalid CLA value is 0xFF.

But this varies from one card to another, do you have the card specification from the vendor?




回答2:


It means "Wrong Instruction Class". Maybe it's just the wrong type of card?

http://tools.ietf.org/html/draft-urien-eap-smartcard-05




回答3:


The BasicCard PDF manual has a list of error codes on page 152-153.

The one you got they describe as "CLA byte of command not recognized".

"6A 86" is likely the response to a card specific command and I dont see it in the BasicCard list.



来源:https://stackoverflow.com/questions/6609412/what-is-the-meaning-of-6e-00-when-i-send-a-command-to-a-smartcard

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!