Я выяснил некоторые проблемы и обнаружил, что у каждого ISD или CM есть по крайней мере один «базовый ключ безопасного канала», который будет использоваться для создания сеансовых ключей безопасного канала.
Теперь у моей карты есть 2 набора ключей с версиями 0x01 и 0x20 (предварительно загружены на карту эмитентом).Под каждой версией есть 3 идентификатора ключа с типом ключа 0x80 (DES) и длиной ключа 16 байт.
Итак, во время команды обновления Initialize я указал P1 (версия ключа) как 0x01, и карта предоставила слово состояния ошибки '69 85 '(Условия использования не выполняются), но когда я определяю версию ключа как 0x20, он работает нормально, и необходимые данные получены.
Пожалуйста, помогите мне понять, почему моя карта отвечает версией ключа 0x20, а не 0x01.
Просто для понимания, информация ключа ISD:
E0 3A
C0 04 Id Ver Type Len
01 01 80 10
C0 04
02 01 80 10
C0 04
03 01 80 10
C0 04
01 20 80 10
C0 04
02 20 80 10
C0 04
03 20 80 10
C0 04
01 71 80 10 Type2 Len2 Key usage Key access
C0 0E
01 70 FFA1 0080 FFA0 0001 0181 0101
У меня есть два набора ключей (0x01 и 0x20) и каждая версия ключа и 3 набора ключей.
Когда я указываю P1 как 0x01:
CMD: 00 A4 04 00 08 A0 00 00 00 03 00 00 00
RSP: 61 13
CMD: 00 C0 00 00 13
RSP: 6F 11 84 08 A0 00 00 00 03 00 00 00 A5 05 9F 65 02 01 00 90 00
CMD: 80 50 01 00 08 AF 7B E0 42A9 5E C2 30 00
RSP: 69 85
Когда я указываю P1 как 20:
CMD: 00 A4 04 0008 A0 00 00 00 03 00 00 00
RSP: 61 13
CMD: 00 C0 00 00 13
RSP: 6F11 84 08 A0 00 00 00 03 00 00 00 A5 05 9F 65 02 01 00 90 00
CMD: 80 50 20 00 08 AF 7B E0 42 A9 5E C2 30 00
RSP: 61 1С
CMD: 00 C0 00 00 1C
RSP: 11 22 33 44 55 66 77 88 99 AA 20 02 1B 45 33 F6 23 28 3E 96 CF E4 3FE4 22 C0 F2 4F 90 00