Установка апплета SIM Toolkit на карту Java завершается с ошибкой SW 6A88.

Я пытался установить очень маленький пример апплета, используя функции набора инструментов SIM, такие как uicc.toolkit.ProactiveHandler. После написания апплета и создания файла sampleapp.cap с помощью инструмента converter из SDK Java Card мне не удалось установить файл sampleapp.cap на карту Java Card, которую я использовал для разработки. Я использую глобальную платформу pro и получаю в ответ 6a88 SW при попытке загрузить апплет.

Строить:

converter -classdir build -applet $APP_AID sampleapp.SampleToolkitApp sampleapp $PKG_AID 1.0 (генерирует build/sampleapp/javacard/sampleapp.cap)

Для установки (с установленным устройством чтения карт памяти Java):

gp -d -v --install build/sampleapp/javacard/sampleapp.cap

выход:

A>> T=1 (4+0000) 00A40400 00 
A<< (0018+2) (45ms) 6F108408A000000003000000A5049F6501FF 9000
[DEBUG] GlobalPlatform - Auto-detected ISD AID: A000000003000000
[DEBUG] GlobalPlatform - Auto-detected block size: 255
A>> T=1 (4+0008) 80500000 08 6CB661C0B31315CB 00
A<< (0028+2) (117ms)     00003126960097F931740102007110F669CA335E5BAF5F8BF724DC1E 9000
[DEBUG] GlobalPlatform - Host challenge: 6CB661C0B31315CB
[DEBUG] GlobalPlatform - Card challenge: 007110F669CA335E
[DEBUG] GlobalPlatform - Card reports SCP02 with version 1 keys
[DEBUG] PlaintextKeys - session keys: 
ENC: Ver:0 ID:0 Type:DES3 Len:16 Value:5246B7B44BB830257A6546CF9FF70413 KCV: 9E246B
MAC: Ver:0 ID:0 Type:DES3 Len:16 Value:250DC88427E2C97165280D315EB39640 KCV: 8FE051
KEK: Ver:0 ID:0 Type:DES3 Len:16 Value:AD1197EAA5AAB912CB91F82C7B7DC125 KCV: 55D1A7
[DEBUG] GlobalPlatform - Verified card cryptogram: 5BAF5F8BF724DC1E
[DEBUG] GlobalPlatform - Calculated host cryptogram: 608223EB1CE199AA
A>> T=1 (4+0016) 84820100 10 608223EB1CE199AA6AA94AAC2B12D3C2
A<< (0000+2) (42ms) 9000
CAP file (v2.1) generated on Wed Jun 29 14:12:28 EDT 2016
By Sun Microsystems Inc. converter 1.3 with JDK 1.7.0_80 (Oracle Corporation)
Package: sampleapp v1.0 with AID B115737612
Applet: SampleToolkitApp with AID B1157376121E
Import: A0000000620101 v1.2
Import: A0000000090003FFFFFFFF8910710002 v2.6
Total code size: 445 bytes (672 with debug)
SHA256 (code):     E4E65C31237BDA2CF893A4145309C1DA541290028EF7E8B3AEEC1279C58DF805
SHA1   (code): 97C8E9C2E364E4185D501552430FCF65A80A9CCF
A>> T=1 (4+0010) 84F28002 0A 4F00D59C73CC637DAD77 00
A<< (0000+2) (46ms) 6A86
A>> T=1 (4+0010) 84F28000 0A 4F0072678A1AE9D9D06E 00
A<< (0011+2) (50ms) 08A000000003000000079E 9000
A>> T=1 (4+0010) 84F24000 0A 4F0006A4F0528D4EFB48 00
A<< (0009+2) (54ms) 064DF87F7FB8BE0700 9000
A>> T=1 (4+0010) 84F22000 0A 4F0092C86D9389102AD4 00
A<< (0051+2) (68ms) 07A0000000035344010007A0000000035350010009534B544558544C4942010008A0000002270110000100054DF87F7FB80100 9000
A>> T=1 (4+0010) 84F21000 0A 4F001D7AC0FD69CBCB37 00
A<< (0000+2) (46ms) 6A81
[WARN] GlobalPlatform - GET STATUS failed for 80F21000024F0000 with 6a81
A>> T=1 (4+0026) 84E60200 1A 05B11573761208A0000000030000000000009BDAA789A47D5BB5
A<< (0001+2) (138ms) 00 9000
A>> T=1 (4+0255) 84E80000 FF C48201BD01000FDECAFFED010204000105B11573761202001F000F001F000A001E0042002700B40012001D000000E000050002000202010004001E02020107A0000000620101060210A0000000090003FFFFFFFF891071000203000A0106B1157376121E008006002700800300FF00040400000027FFFF001A002E42800301FF000702000000AE00B1800200810101080700B40005318F00013D181D1E8C000F2E1B8B00027A0140188C00037A02107C0004076D0504700303780110038000047A0421188B000560037A198B00062D7C000404415B8000041A032510806A08116E008D00071A042510206B227C0004076C081169868D00479BF5BDFAB2F540
A<< (0000+2) (1s213ms) 6A88
pro.javacard.gp.GPException: LOAD failed SW: 6A88
    at pro.javacard.gp.GPException.check(GPException.java:66)
    at pro.javacard.gp.GlobalPlatform.loadCapFile(GlobalPlatform.java:667)
    at pro.javacard.gp.GlobalPlatform.loadCapFile(GlobalPlatform.java:625)
    at pro.javacard.gp.GPTool.main(GPTool.java:518)
LOAD failed SW: 6A88

Используя SmartCafe Expert 3.2 72k, которую я приобрел в виде карты Java. Также используется JavaCard SDK 2.2.1, который является поддерживаемой версией для этой карты, и использовал техническую спецификацию 3GPP TS 43.019 v6.0.0 STK API и ETSI TS 102 241 13.0.0 UICC API для Java Card.

Программное обеспечение 6A88 указывает, что «справочные данные не найдены». Это что-то особенное для моей карты, в которой не реализован стек STK?


person pmelanson    schedule 29.06.2016    source источник
comment
В качестве продолжения: ответ Авраама правильный. После дальнейших писем оказалось, что SIM-карты для разработки в небольшом количестве (например, 1 или 3) недоступны для людей, которые не являются крупными телекоммуникационными компаниями. Тем не менее, некоторые из них могут продаваться на alibaba, ebay или подобных сайтах.   -  person pmelanson    schedule 18.07.2016


Ответы (1)


SmartCafe Expert 3.2 72k — это простая обычная карта Java Card, не содержащая внутри API-интерфейсов SIM Toolkit. Поэтому он не может установить те апплеты, которые использовали API-интерфейсы SIM Toolkit.

В процессе загрузки ОТКРЫТИЕ на карточке пытается сделать линк между вашим апплетом и используемыми библиотеками. Поскольку он не может найти там библиотеку SIM Toolkit, он возвращает эту ошибку.

person Ebrahim Ghasemi    schedule 30.06.2016
comment
У меня было такое подозрение. Пора снова ходить по магазинам, но я ценю ответ. Есть ли у вас какие-либо мудрые советы о том, какие карты Java Card будут поддерживать API STK? например если в описании говорится о карте Java и SIM-карте, есть ли шанс, что она будет поддерживать апплеты Java Card и API-интерфейсы STK? - person pmelanson; 30.06.2016
comment
Нет. Это обычная карта размером с SIM-карту. Вам необходимо получить SIM-карту с возможностями JavaCard. Спросите у своего оператора, может быть. - person Martin Paljak; 29.01.2017