为什么 BER-TLV "DF9A" 标签被识别为 "invalid"?
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
工作正常。
有什么区别?
中提供的说明进行操作即可
“无效”案例: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
我无法理解为什么我找到了所有 BER-TLV 解析器:
- https://paymentcardtools.com/emv-tlv-parser
- https://emvlab.org/tlvutils/
- https://chrome.google.com/webstore/detail/tlv-parser/iemijfhdlipdpcjfnphcdalpccnkfedb
识别此标签:DF9A03001736
为“无效”,而:DF5603001736
和 DF0903001736
工作正常。
有什么区别?
“无效”案例: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