问题标签 [tlv]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1815 浏览

iso8583 - 将值分配给 iso 8583 中的字段 55 的示例

有没有人有一个为 ISO 8583 消息中的第 55 个字段(保留 ISO)分配值的示例,应该为其分配 TLV 值?

0 投票
1 回答
279 浏览

iso8583 - IFA_TTLLLBINARY 的示例

嘿,我是Jpos新手,我在使用IFA_TTLLLBINARY

但我总是收到这个错误:

在此处输入图像描述

谁能告诉我显示此错误的原因。

0 投票
1 回答
2148 浏览

nfc - 获取未知标签到选择 PPSE 命令

我正在尝试阅读 Paypass Maestro Mastercard。所以我发送以下 SELECT PPSE 命令:

我得到以下回复:

选择成功后:SW1SW2=9000

当我尝试使用 TLV 解码器解码响应时,我得到以下信息:

我不知道如何解释这个包含未知标签 9F2A 的结果。那么 Maestro 卡的 AID 呢?我搜索了一下,发现是这样的:

谁能帮我解决这个问题?

0 投票
2 回答
5140 浏览

apdu - 应用程序交换配置文件解释

我正在处理 Paypass 非接触式交易,我需要发送读取记录命令。

我的 GET PROCESSING OPTIONS 命令得到以下响应:

77 16 82 02 59 80 94 10 08 01 01 00 10 01 01 01 18 01 02 00 20 01 02 00

`77 响应消息模板格式 2

AIP 的第二个字节表示支持 Mchip 配置文件(10000000)

第一个字节(59=1011001)表示卡在使用 PayPass 接口时支持应用程序中特定功能的能力。我的问题是我应该根据 AIP 第一个字节的每一位的值发送几个读取记录命令。

(AIP=01011001)

Bit 8=0:RFU Bit 7=1:支持离线静态数据认证

Bit 6=1 不支持离线动态数据认证

Bit 5=1 支持持卡人验证

Bit 4=1 需要进行终端风险管理

位 3=0 支持颁发者身份验证

位 2=0 RFU

位 1=1 组合 DDA – 支持生成 AC

我需要确保我给你的这个 AIP 的解释是正确的!预先感谢 。

0 投票
2 回答
1267 浏览

c - 使用 C 函数搜索标签 (TLV)

我正在处理 Mastercard Paypass 交易,我已经发送了一个 READ RECORD 命令并得到了结果:

此响应包含 TLV 数据对象(无空格)。我已经转换了响应,如下所述:

现在我应该检查这个响应是否包含强制标签:

  • 5A - 申请主帐号 (PAN)
  • 5F24 - 申请截止日期
  • 8C - 卡风险管理数据对象列表 1 (CDOL1)
  • 8D - 卡风险管理数据对象列表 2 (CDOL2)

所以我尝试了以下方法来检查 5A 标签(应用程序主帐号(PAN)):

不知道为什么终端什么也没显示, if 块没有执行!

我尝试5A通过以下方式手动打印标签:

它显示正确的价值!

有人可以帮助解决这个问题吗?

0 投票
1 回答
3598 浏览

nfc - 读取EMV卡时不包含持卡人姓名

我已经成功地从非接触式借记卡/信用卡中检索到卡号和有效期。但是,持卡人姓名不会在 READ RECORD 命令响应中返回。我错过了什么吗?

0 投票
1 回答
985 浏览

python - 任何更好的代码来定义针对不同类型的通用 TLV

也许更多的是基于面向对象的编程 -

将通用 TLV 定义为

我有许多相同形式但类型不同的 TLV。我怎样才能有更好的代码来减少代码中的这种情况

所以以后我可以用作 -

除了类型字段的字典外,所有 TLV 都是相同的。

0 投票
2 回答
2943 浏览

smartcard - MasterCard EMV 标签 9F7E 的数据源 - 应用程序生命周期数据

我正在为 M/Chip Select 4 版本 1.1a 上的 MasterCard EMV 卡编写配置文件,我需要一些帮助来理解9F7E(应用程序生命周期数据)标签值的数据元素。不幸的是,万事达卡手册并没有很好地解释这个标签的用途,也没有很好地解释相应的数据元素。

我从手册中了解到,第一个字节是版本号 - 很简单。但是,其他 47 个字节代表我不熟悉的数据元素,例如“Type Approval ID”、“Application Issuer ID”和“Application Code ID”。

这些数据值是在交易处理过程中生成的,还是卡上的静态值?

0 投票
1 回答
586 浏览

embedded - 克服 EMV TLV 长度限制限制

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

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

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

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

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

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

0 投票
1 回答
266 浏览

websocket - Websockets 上的 TLV 和子 TLV 或真正要使用的东西

我有使用 Web 套接字来传输数据的服务。

我需要一种方法来编码树结构并通过 websocket 传输该树结构。我一直在阅读有关 TLV 和 sub-TLV 编码的内容,这似乎是一个好主意,即它已经在诸如 Radius、LLDP 等协议中使用,这证明这是有效的,但是我的问题是这些协议通常在一个受信任的设备,即交换机/路由器之间(LLDP 除外)。我的问题是,我将传输包含子 TLV 的 TLV,这些子 TLV 确实具有随机大小/长度,并且它们没有静态定义的结构,例如,如果您查看第一个 TLV 中的概念已定义子 TLV,即

Extended IS Reachability TLV #22 然后你会看到这个 tlv 有这样的结构:

通过结构,我的意思是我已经预定义了 7 个字节的邻居 ID、3 个字节的 Metric、1 个字节的 SubTLVs 长度,然后才出现可变部分,但至少你有一些预先定义的位并且不能更改。

现在通过阅读一些书籍(主要是 H Gredler The Complete IS-IS Routing Protocol 2005 - 第 296 页),我发现了 4 种验证这些 TLV 的技术,即

1) 最大长度检查

2) Sub-TLV 溢出检查

3) 离散长度检查

4) TLV 内容模式检查

我根本无法相信用户的意见,但我还有两个问题,即如何验证值为 a) 随机长度/大小的 TLV,即我确实有一个值可能具有的范围,即不小于 1 字节不大于 700 kb 和 b) 我不能对该值执行任何模式检查,因为它是加密的,即不可读形式,因此不能对其执行任何模式。

因此我的问题是:如何实现相同的目标,即在其他结构中发送树结构,即可能是键值对或类似的东西(http 正在使用这个,应该有原因)。

TLV 方式真的是在树结构中传输数据的最佳选择吗?我知道,如果我以二进制形式发送它,我将一枪击中两只兔子,即在发送图片等文件时,我不需要使用一些有趣的 base64 编码等,但我真正想要的是一个适用的协议L5-7(即通过 websocket)将允许以树结构的形式发送数据,接收部分将能够识别和重新组装树,而无需考虑序列化和反序列化部分。那么 TLV 的第二个最佳替代方案是什么?考虑到我一方面使用 java,另一方面使用 javasctipt。