提问人:Kamil 提问时间:4/7/2022 最后编辑:Kamil 更新时间:4/24/2022 访问量:255
为什么BER-TLV“DF9A”标签被识别为“无效”?
Why BER-TLV "DF9A" tag is recognized as "invalid"?
问:
我无法理解为什么我找到的所有 BER-TLV 解析器:
- https://paymentcardtools.com/emv-tlv-parser
- https://emvlab.org/tlvutils/
- https://chrome.google.com/webstore/detail/tlv-parser/iemijfhdlipdpcjfnphcdalpccnkfedb
将此标签:识别为“无效”,而:并正常工作。DF9A03001736
DF5603001736
DF0903001736
有什么区别?
答:
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
非常感谢!这解释了一切!
评论