1

我们有代码来询问来自各种 EMV TLV 的值。但是,对于 PED 序列号, http ://www.emvlab.org/emvtags/ 上标签“9F1E”的规范 具有:-

名称 说明 源 格式 模板 标签长度 P/C 接口设备 (IFD) 序列号 制造商分配给 IFD 的唯一且永久的序列号 终端 8 9F1E 8 原语

但是上面给出的限制是 8,而我们有 9 长 SN 的 VeriFone PED。

所以依赖标签“9F1E”的示例代码无法检索完整长度。

int GetPPSerialNumber()
{
    int rc = -1;

    rc = GetTLV("9F1E", &resultCharArray);

    return rc;
}

在上面,写了 GetTLV() 以获取标签 arg 并将值填充到 char 数组中。

是否有任何开发人员找到了检索完整 9 的好方法?

4

1 回答 1

3

你是对的——这里有一个不匹配的地方。TLV 的好处在于,您实际上不需要规范来告诉您该值将持续多长时间。您的 GetTLV() 本身正在施加此限制;显而易见的解决方案是放松这一点。

实际上,我们甚至没有查看 TLV 解析级别的文档长度。每个标签都映射到 BL 中的一个关联实体(有时不止一个,这要归功于方案采用自己的非接触式路线),我们可以选择要对其施加长度限制的实体。

于 2015-08-21T07:05:37.310 回答