问题
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