C# DGI 0202的Store命令给出6A88错误

C# DGI 0202的Store命令给出6A88错误,c#,smartcard,emv,C#,Smartcard,Emv,我正试图用我的工具对下面的数据进行个性化设置,但出现“6A88”错误。 以下是DGI的个性化设置。 亲爱的阿琼,请从一开始就找到下面完整的命令 错误日志: Send----->91023BA539500D5669736120456C656374726F6E8701019F1101019F120D5669736120456C656374726F6E5F2D02656E9F38039F1A02BF0C059F4D020B0A 响应------->9000 Send----->91041282023C

我正试图用我的工具对下面的数据进行个性化设置,但出现“6A88”错误。

以下是DGI的个性化设置。 亲爱的阿琼,请从一开始就找到下面完整的命令

错误日志:
Send----->91023BA539500D5669736120456C656374726F6E8701019F1101019F120D5669736120456C656374726F6E5F2D02656E9F38039F1A02BF0C059F4D020B0A
响应------->9000

Send----->91041282023C00940C0801001001040018010201
响应------->9000

Send----->01014F704D57134166390514720355D2012226165638140000F9F183136353633303030303003831343030300305F201A454E434F445445F303335352020202020020
响应------->9000

Send----->20 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 F1DD5EB80F1DBAA3846529A392BD448B3984
响应------->9000

Send----->02023970708F01929224FB1D71CEDE213DB6F40CED0069B2C4E49FA4EF16D9C7701BD1F93E60DB5833EAE7C010219F3201039F4701039F4903F3704
响应------->6A88


成功日志:

Send----->91023BA539500D5669736120456C656374726F6E8701019F1101019F120D5669736120456C656374726F6E5F2D02656E9F38039F1A02BF0C059F4D020B0A
响应------->9000

Send----->91041282023C00940C0801001001040018010201
响应------->9000

Send----->01014F704D57134166390514720355D2012226165638140000F9F183136353633303030303003831343030300305F201A454E434F445445F303335352020202020020
响应------->9000

Send----->20 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 F1DD5EB80F1DBAA3846529A392BD448B3984
响应------->9000

Send----->02023970708F01929224FB1D71CEDE213DB6F40CED0069B2C4E49FA4EF16D9C7701BD1F93E60DB5833EAE7C010219F3201039F4701039F4903F3704
响应------->9000

有人能帮我解决这个问题吗?
而其他工具则成功地对芯片上的相同数据进行个性化处理。

EMV CPS 1.11911年7月,第11页:

DGI必须以二进制格式在两个字节上编码,后跟 长度指示器编码如下:在二进制格式的1字节上,如果 数据长度从“00”到“FE”(0到254字节)。在…上 3字节,第一个字节设置为'FF',后面是2个二进制字节 格式从“0000”到“FFFE”(0到65 534),例如,“FF01AF”表示 长度为431字节

您的长度编码为BER TLV

编辑>

有问题的部分是
DGI 0201
,它可能被解释为129字节长(即
0201 81 B67081B39081B0…31C5

然后,此“块”的剩余字节可能被解释为另一个DGI的开始:
D150 6B D59DCC…3984
——这是不完整的,因此此DGI的剩余字节应位于以下“块”中

一旦接收到完整的
DGI D150
,它将触发
0x6A88
错误


注意:“block”=
存储数据
有效载荷

请共享从第一个APDU到该命令的两个工具(返回成功和返回失败)的日志。这将有助于人们分析问题所在。另外,如果您成功使用了其他工具,为什么不介意使用此工具?6A88表示未找到引用数据,您的命令对我来说似乎很好。这里是个性化标签,如8F、92、9F32、9F47和9F49。您是否已成功个性化标记90-颁发者公钥证书???您能否共享这两个日志以便更好地理解。在此之前,DGI 0201的
存储数据
是否有效?我是否正确认为日志仅在错误值上有所不同?是的,我能够在没有任何错误的情况下对0201进行个性化设置,但在这两种情况下都是如此。在这两个日志中,唯一的区别是Visa信用卡的成功日志和Visa Electron的不成功日志。我在所有DGI中对这两个标签进行个性化设置。在这个问题上,请任何人都能帮助我。谢谢你的解释。您是对的,DGI命令应该像0201B67081B390…84,但仍然有一个问题,为什么同一个命令为其他命令返回9000@Faraz:您是否可以尝试在不使用0x81(第三个字节)的情况下发送命令?@Arjun可能不同的“工具”使用不同的方式来解析数据。也许不同的卡片/小程序…我真的不知道。希望OP能告诉我们。亲爱的所有人,感谢你们在这个问题上花费宝贵的时间。但我想说的是,我使用相同的芯片和相同的脚本进行个性化设置,唯一不同的是,正如我已经提到的VISA Electron提供错误和VISA Credit成功进行个性化设置。我使用相同的DGI和相同的标签进行个性化设置。一个数据是个性化的,而另一个不是。好的,但是这个VISA Electron和VISA Credit意味着什么(即,您为这两个数据更改了什么)?在您的日志中,它始终是VISA Electron(根据DGI 9103 |申请标签)。此外,当您按照建议将
020181B67081B390…
更改为
0201B67081B390…
时会发生什么?