问题标签 [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.
iso8583 - 将值分配给 iso 8583 中的字段 55 的示例
有没有人有一个为 ISO 8583 消息中的第 55 个字段(保留 ISO)分配值的示例,应该为其分配 TLV 值?
iso8583 - IFA_TTLLLBINARY 的示例
嘿,我是Jpos
新手,我在使用IFA_TTLLLBINARY
但我总是收到这个错误:
谁能告诉我显示此错误的原因。
nfc - 获取未知标签到选择 PPSE 命令
我正在尝试阅读 Paypass Maestro Mastercard。所以我发送以下 SELECT PPSE 命令:
我得到以下回复:
选择成功后:SW1SW2=9000
当我尝试使用 TLV 解码器解码响应时,我得到以下信息:
我不知道如何解释这个包含未知标签 9F2A 的结果。那么 Maestro 卡的 AID 呢?我搜索了一下,发现是这样的:
谁能帮我解决这个问题?
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 的解释是正确的!预先感谢 。
c - 使用 C 函数搜索标签 (TLV)
我正在处理 Mastercard Paypass 交易,我已经发送了一个 READ RECORD 命令并得到了结果:
此响应包含 TLV 数据对象(无空格)。我已经转换了响应,如下所述:
现在我应该检查这个响应是否包含强制标签:
- 5A - 申请主帐号 (PAN)
- 5F24 - 申请截止日期
- 8C - 卡风险管理数据对象列表 1 (CDOL1)
- 8D - 卡风险管理数据对象列表 2 (CDOL2)
所以我尝试了以下方法来检查 5A 标签(应用程序主帐号(PAN)):
不知道为什么终端什么也没显示, if 块没有执行!
我尝试5A
通过以下方式手动打印标签:
它显示正确的价值!
有人可以帮助解决这个问题吗?
nfc - 读取EMV卡时不包含持卡人姓名
我已经成功地从非接触式借记卡/信用卡中检索到卡号和有效期。但是,持卡人姓名不会在 READ RECORD 命令响应中返回。我错过了什么吗?
python - 任何更好的代码来定义针对不同类型的通用 TLV
也许更多的是基于面向对象的编程 -
将通用 TLV 定义为
我有许多相同形式但类型不同的 TLV。我怎样才能有更好的代码来减少代码中的这种情况
所以以后我可以用作 -
除了类型字段的字典外,所有 TLV 都是相同的。
smartcard - MasterCard EMV 标签 9F7E 的数据源 - 应用程序生命周期数据
我正在为 M/Chip Select 4 版本 1.1a 上的 MasterCard EMV 卡编写配置文件,我需要一些帮助来理解9F7E(应用程序生命周期数据)标签值的数据元素。不幸的是,万事达卡手册并没有很好地解释这个标签的用途,也没有很好地解释相应的数据元素。
我从手册中了解到,第一个字节是版本号 - 很简单。但是,其他 47 个字节代表我不熟悉的数据元素,例如“Type Approval ID”、“Application Issuer ID”和“Application Code ID”。
这些数据值是在交易处理过程中生成的,还是卡上的静态值?
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 的好方法?
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。