Что я делаю не так: глобальная платформа StoreData на javacard - PullRequest
1 голос
/ 24 февраля 2020

Я работаю с картой Java для закрытого платежного приложения. В моей карточке-образце есть приложение A0000000041010, содержащее TLV 9F14, но не в записи. Я не могу записать этот TLV на пустую карту. Мое программное обеспечение может создавать, выбирать и аутентифицировать приложение, но оно не может записывать TLV с использованием данных хранилища (криптограммы вычеркиваются с помощью xx):

Creating application: A0000000041010 OK
A0000000041010 Select: status [00] request string [00A4040007A000000004101000] return string [0200006F009000]
ApduSend EMV3:InitializeUpdate: status [00] request string [8050000008xxxxxxxxxxxxxxxx00] return string [02000000000000000000000000Fxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx9000]
ApduSend EMV3:ExternalAuthenticate: status [00] request string [8482000010xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx] return string [0200009000]
APDU failed: Referenced data or reference data not found (exact meaning depending on the command)
ApduSend GPCS:StoreData: status [00] request string [80E20000059010020303] return string [0200006A88]
Perso Bad
PROXMARK view:
73476256 |   73539712 | Rdr | 02  80  e6  0c  00  2e  0f  a0  00  00  03  96  54  53  00  00  |     |
         |            |     | 00  01  00  04  04  00  10  a0  00  00  03  96  54  53  00  00  |     |
         |            |     | 00  01  00  04  04  00  00  07  a0  00  00  00  04  10  10  01  |     |
         |            |     | 00  02  c9  00  00  84  e1                                      |  ok | ?
83668948 |   83675988 | Tag | 02  00  90  00  2b  76                                          |  ok |
93062352 |   93080944 | Rdr | 02  00  a4  04  00  07  a0  00  00  00  04  10  10  00  77  68  |  ok | ?
93323028 |   93331156 | Tag | 02  6f  00  90  00  9e  24                                      |  ok |
93355200 |   93374880 | Rdr | 03  80  50  00  00  08  xxxxxxxxxxxxxxxx  f3  |     |
         |            |     | 65                                                              |  ok | ?
95096548 |   95134628 | Tag | 03  00  00  00  00  00  00  00  00  00  00  ff  02  00  5d  xx  |     |
         |            |     | xxxxxxxxxxxxxxxx  90  00  a0  |     |
         |            |     | d8                                                              |  ok |
95352592 |   95380400 | Rdr | 02  84  82  00  00  10  xxxxxxxxxxxxxxxx    |     |
         |            |     | xxxxxxxxxxxxxxxx    ab  75                                  |  ok | ?
96440244 |   96446068 | Tag | 02  90  00  f1  09                                              |     |
96478816 |   96493952 | Rdr | 03  80  e2  00  00  05  90  10  02  03  03  d1  0e              |  ok | ?
96581172 |   96587060 | Tag | 03  6a  88  15  da                                              |     |

Мои ссылки: карта глобальной платформы Spe c , EMV Книги 2 и 3, и ISO7816-4 и -9. У меня есть пример сценария персо, показывающий APDU, которые должны работать. Вот короткий:

# Log: Writing DGI0x9010
# SendApdu: CPS.StoreData
=> 80 E2 00 0C [05] 9010|02 <0303>
<= [9000]

Я попытался отправить 9010020303 вместо моего фактического TLV, с тем же результатом.

Так что я делаю не так с этими APDU?

1 Ответ

1 голос
/ 25 февраля 2020

Получается, что мои APDU в порядке по стандарту, но апплет оплаты не стандартный. Ожидается, что TLV будут обернуты в DGI, которые обращаются к данным на чипе. Подробности указаны c для апплета и конфиденциальны.

...