2016-07-14 6 views
0

Я пишу код для отправки электронных идентификационных карт с помощью ISO-7816: Если я отправить команду «SELECT FILE»:Получить ISO-7816 ответ APDU имеет статус ошибки 0x6982 - Когда Initialize Update

INFO: Send command PC -> SAM: 00 a4 04 00 0f a0 00 00 00 18 43 4d 08 09 0a 0b 0c 00 00 00 
INFO: Receive from SAM -> PC: 6F 62 84 0F A0 00 00 00 18 43 4D 08 09 0A 0B 0C 00 00 00 A5 4F 73 49 06 07 2A 86 48 
86 FC 6B 01 60 0B 06 09 2A 86 48 86 FC 6B 02 02 02 63 09 06 07 2A 86 48 86 FC 6B 03 
64 0B 06 09 2A 86 48 86 FC 6B 04 02 55 64 0B 06 09 2A 86 48 86 FC 6B 04 80 00 66 0C 
06 0A 2B 06 01 04 01 2A 02 6E 01 03 9F 65 01 FF 

После этого , Я посылаю "Initialize UPDATE" команду

-> 80 50 20 00 08 81 C3 21 A7 9D 7A DE 3E 

И ответ

<- 69 82 

[ERR] Smartcard::Iso::ApduError: ISO-7816 response APDU has error status 0x6982 

Я не понимаю, почему я получаю ответ.

+0

Не могли бы вы попробуете 80 50 00 00 08 81 C3 21 A7 9D 7A DE 3E и поделитесь мне результатом? – Arjun

+0

Сделаны некоторые изменения для удобочитаемости, маркировка выходных блоков как кода. –

+0

Есть ли добавление байта (т. Е. Отправка '80 50 20 00 08 81 C3 21 A7 9D 7A DE 3E 00') что-нибудь изменить? –

ответ

0

Ну, 6982 означает, что условие доступа не выполнено, в зависимости от того, как была создана карта, это может означать, что вам необходимо проверить с помощью ключа CHV или ADM.