【发布时间】:2020-03-21 19:02:09
【问题描述】:
我正在使用一些 EMV 标签,其中大多数标签的长度为 1 或 2 字节,例如
9F02, 81,.. 我知道有一个特定的位配置知道我如何确定标签长度以确定标签是否为 2 字节长度或更大,我使用:
unsigned char tags[]={0x9F,0x02};
if((tags[0]&0x1F)==0x1F){
...
}
但是当我有一些比这更大的标签时,我不知道该怎么做。
我正在使用 EMV 数据,我正在使用认证卡进行测试,我收到了 these tags are: DF8111, DF8119, DF811E, DF812C 它们与 CVM 相关。
【问题讨论】:
-
你必须知道系统定义了什么。您没有提供足够的信息让我们能够为您提供帮助。 TLV 编码有许多可能的系统。 “EMV”是指“EuroPay、MasterCard、Visa”吗? BER 大概是 ASN.1 基本编码规则。但我们不必猜测。
-
抱歉,我正在使用 EMV(Europay、mastercard、Visa)卡数据。
-
我试图在 google 中找到,但实际上使用 3 字节长度的标签的做法似乎并不常见。
-
这表明可能没有 3 字节标签。为什么你认为这就是你得到的?
-
搜索“emv 规范”会出现 4.2 和 4.3 版本(后者似乎是从 2011 年 11 月开始的,所以 4.2 版本应该不是很相关),以及一个网站 emvco.com 和链接到 PDF 文件。有第 3 册——我不确定第 1 册或第 2 册中可能包含什么内容。第 3 册中提到了 BER-TLV。PDF URL 包含 2017 年的日期。您仍然需要澄清您的问题是什么——在哪里您认为您从中获得了无证编码。我无能为力了。