Как сделать INITIALIZE_UPDATE на смарт-карте?

Новое на смарт-карте здесь, информация о том, как взаимодействовать с смарт-картой, довольно разбросана по сети...

Я посмотрел на API GlobalPlatform и попробовал их пример, но я не понимаю, как JavaCard материал может в конечном итоге привязываться и взаимодействовать с реальным кард-ридером... поэтому я в конечном итоге использую javax.smartcardio и я могу получить ATR, а затем я выполнил следующую команду, чтобы попытаться получить домен безопасности: 00 A4 04 00 06 A0 00 00 01 51 00 00

И я получаю это обратно как ResponseAPDU: 6F408407A0000001510000A535732F06072A864886FC6B01600C060A2A864886FC6B02020201630906072A864886FC6B03640B06092A864886FC6B0403709F6501FF

Затем я пытаюсь отправить INITIALIZE_UPDATE команда, которая 80 50 00 00 08 00 00 00 00 00 00 00 00после этого считыватель карт мигает добрые 45 секунд до 1 минуты и в итоге возвращается SW: 9000Однако в ResponseAPDU ничего не было...

Из того, что я прочитал, я должен получить некоторые разнообразные данные и т.д., чтобы я мог продолжить инициализацию карты... Может кто-нибудь сказать мне, что не так с моей командой?

И если здесь есть эксперт по GlobalPlatform API, могут ли они сказать мне, как именно я могу использовать материал JavaCard для связи со считывателем смарт-карт или это невозможно? Было бы замечательно, если это возможно, тогда я мог бы пропустить все вещи SecureChannel и использовать те из GP API.

Редактировать: я пытался использовать инструмент GlobalPlatform gp.exe, чтобы просто ткнуть карту для основной информации, и она по-прежнему не удается.

gp -info
Reader: ACS ACR39U ICC Reader 0
ATR: 3BD6970081B1FE451F078031C1521118F9
More information about your card:
    http://smartcard-atr.appspot.com/parse?ATR=3BD6970081B1FE451F078031C1521118F9

***** Card info:
Card CPLC:
ICFabricator: 4790
ICType: 6A15
OperatingSystemID: 8231
OperatingSystemReleaseDate: 4176
OperatingSystemReleaseLevel: 0096
ICFabricationDate: 6133
ICSerialNumber: 00001AA0
ICBatchIdentifier: 1424
ICModuleFabricator: 1142
ICModulePackagingDate: 6133
ICCManufacturer: 1143
ICEmbeddingDate: 6133
ICPrePersonalizer: 1144
ICPrePersonalizationEquipmentDate: 6133
ICPrePersonalizationEquipmentID: 130B0000
ICPersonalizer: 0000
ICPersonalizationDate: 0000
ICPersonalizationEquipmentID: 00000000
***** CARD DATA
Unknown tag: 31
***** KEY INFO
VER:1 ID:1 TYPE:AES LEN:32
VER:1 ID:2 TYPE:AES LEN:32
VER:1 ID:3 TYPE:AES LEN:32

затем я пытаюсь просто перечислить содержимое карты (это нормально для пустой карты?)

gp -l
pro.javacard.gp.GPException: STRICT WARNING: Card cryptogram invalid!
Card: FC3F2DC68462F1DF
Host: 5B54B15BCAD52B52
!!! DO NOT RE-TRY THE SAME COMMAND/KEYS OR YOU MAY BRICK YOUR CARD !!!
        at pro.javacard.gp.GlobalPlatform.giveStrictWarning(GlobalPlatform.java:207)
        at pro.javacard.gp.GlobalPlatform.openSecureChannel(GlobalPlatform.java:583)
        at pro.javacard.gp.GPTool.main(GPTool.java:463)

0 ответов

Другие вопросы по тегам