gpt4 book ai didi

smartcard - EMV 智能卡 TLV 格式错误?

转载 作者:行者123 更新时间:2023-12-01 02:13:51 25 4
gpt4 key购买 nike

我正在开发用于读取 EMV 卡的智能卡读卡器。我正在处理一张万事达卡,我试图读取特定记录。结果显示读数很好,但是当我解析结果时,它们似乎不遵循 TLV 标准,其中结果采用 Tag/Template-Length-Value 格式。返回的结果示例是:

70 - 读取记录响应标签
81 - 应指明长度
e0 - 应该是标签/模板...?
8f - 应指示上一个的长度。标签...?
01 05 9f 32 ... 90 00

我的问题是前几个字节。第一个字节表示它是一个 READ RECORD 模板,但第二个字节应该表示长度,第三个字节应该是值,它是下一个标签的开始。但是没有标有 E0 的 EMV 标签,所以我是否错误地翻译了结果,或者是否遗漏了什么。我使用相同的命令阅读了以前的记录,结果很好:
70 - 标签
27
61 - 另一个标签/模板指示器等
25 4f 07 ... 90 00
我可能做错了什么?或者如何翻译这些结果?

最佳答案

这里的长度以 BER 格式编码。这意味着81表示后面有一个长度字节(只有7F以下的长度可以直接编码在一个字节中),所以E0是长度,8F是标签。有关更多详细信息,请参阅。 ISO 7816-4(在 2005 版本中是第 5.2.2.2 章 BER-TLV 长度字段)。最后的 90 00 是 SW1/SW2,当然表示读取成功。

关于smartcard - EMV 智能卡 TLV 格式错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26902973/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com