为什么BER-TLV“DF9A”标签被识别为“无效”?

Why BER-TLV "DF9A" tag is recognized as "invalid"?

提问人:Kamil 提问时间:4/7/2022 最后编辑:Kamil 更新时间:4/24/2022 访问量:255

问:

我无法理解为什么我找到的所有 BER-TLV 解析器:

将此标签:识别为“无效”,而:并正常工作。DF9A03001736DF5603001736DF0903001736

有什么区别?

TLV电视台

评论


答:

2赞 user478681 4/24/2022 #1

只需按照 EMV 第 3 册附录 B1 中提供的描述进行操作即可

“无效”情况:DF9A03001736

DF - 1101 1111
9A - 1001 1010 - here, in the second byte of the Tag, the b8 is set (1), which means that 'Another byte follows', so the following byte (value 03) is also part of the Tag
03 - 0000 0011 - the last byte of the Tag, i.e. the actual Tag is DF9A03

因此,在我们的序列中,我们有:

DF9A03 - Tag
00 - Length (no value)
17 - is already a new Tag
36 - length of the Tag 17 ... 

因此,解析器 (https://paymentcardtools.com/emv-tlv-parser) 失败,因为没有可用的数据(解析标记 17 时出错:数据不足)

正确示例:DF5603001736

DF - 1101 1111
56 - 0101 0110 - there are no more bytes that constitute Tag, so we just have Tag DF56

顺序为:

DF56 - Tag
03 - Length
001736 - Value

评论

0赞 Kamil 5/27/2022
非常感谢!这解释了一切!