Для связи со смарт-картой я использую WINSCARD.DLL в качестве API для отправки команд APDU на смарт-карты.Для пары кард-ридеров это работает должным образом, но каким-то образом я получаю неизвестный возврат (он не равен http://msdn.microsoft.com/en-us/library/ms936965.aspx) методу SCardTransmit
, если я отправляю команду в ридер O2Micro.
Что работает: если я отправляю команду (значения в шестнадцатеричном формате):
CLA: 00, INS: A4, P1: 02, P2: 04, Lc: 02, Data: "4401", Le: (not present)
Я получаю ответ SW1: 61. SW2: 1F
Ответ говорит, что доступно 0x1F
байтов.Поэтому я посылаю команду:
CLA: 00, INS: A4, P1: 02, P2: 04, Lc: 02, Data: "4401", Le: 1F
Но по этой команде я не получаю данных и возвращаемое значение 0x57
.
У меня вопрос, знает ли кто-нибудь, что говорит возвращаемое значение 0x57
и, возможно, способ, как решить или обойти это.