При добавлении записи APDU выдается сообщение об ошибке 69, 86, даже если существует файл EF - PullRequest
0 голосов
/ 04 июля 2019

ЗАПИСЬ ОБНОВЛЕНИЯ APDU выдает ошибку SW = 1 69 SW2 = 86: команда не разрешена (нет текущего EF)

APDU: CLA = 0x00 , INS = 0xE2, P1 = 0x00 , p2 = 0x00 , len = length of data  , data 

Я выбираю файл EF перед выполнением кода с результатом: sw1=90 sw2=00 так значит, существует.

Я также попытался запустить файл Create EF, и он выдает ошибку:

sw1 = 6A sw2=89 : File Already Exists.

Я запускаю также вызов и внешнюю аутентификацию до записи обновления, но проблема все еще остается.

Есть ли еще что-то, что я должен рассмотреть?

1 Ответ

1 голос
/ 04 июля 2019

Ошибка 69 86 не означает, что файл не существует, но в настоящий момент не выбран ни один EF, с которым может работать APPEND RECORD. Мое лучшее предположение состоит в том, что между вашим выбором (доказательством существования EF) и попыткой добавить к нему что-то происходит, что портит выбор, e. г. выбор DF, содержащего ключ аутентификации, или выбор EF, содержащего ключ, если ОС вашей смарт-карты хранит их таким образом.

Единственное предложение: попытайтесь повторно выбрать EF непосредственно перед добавлением или используйте P2, чтобы указать короткий идентификатор EF, если вы по-прежнему находитесь в правильном DF по крайней мере.

...