问题标签 [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.
php - 如何将字符串中的两个字符视为一个字节?
考虑:
$tag 是一个包含两个字符“4”和“F”的字符串。我希望能够将它们分别视为整个字节(4F)的上半字节和下半字节,以便我可以继续计算位模式(01001111)
由于这些在技术上是字符,因此可以将它们各自视为一个字节 - ASCII 表上的 4 是 0x52,F 是 0x70。
几乎所有允许操作字节的 PHP 内置函数(到目前为止我已经看到)都是后一种描述的变体:'4' 是 0x52,而不是字节的高半字节。
我不知道有什么快速或内置的方法可以让 PHP 以我想要的方式处理这个问题,但感觉它应该在那里。
如何将字符串“4F”转换为字节 4F,或将每个字符视为半字节对中的半字节。是否有任何内置函数可以让 PHP 将像“4F”或“3F0E”这样的字符串作为成对的半字节来处理?
谢谢。
ruby - 如何在 Ruby 中解析 ASN1
仍然对 ASN1 有点困惑。我正在使用 ruby openssl 解析 RFC3161 时间戳响应,所以我知道规范。我很确定结构已正确加载,但我对如何找到我想要的部件/键感到困惑。我知道有序列(有序)和集合(无序/唯一)。
我看到我们可以调用asn1_object.value[0].value[0]
,但这很笨拙,我希望如果我知道键或标题,我可以像 JSON 或 YAML 一样对待它,然后调用 asn1_object['TSTInfo']['serialNumber']
. 它不是这样工作的吗?
我们是否应该使用序列的属性,这些属性应该是有序的并且已经知道它们的位置,因为我们也有规范和长度?这对我来说很奇怪,但也许那是因为我以前没有使用过很多 TLV 格式。不幸的是,openssl 的文档很少,只是如何OpenSSL::ASN1.decode(der)
通过索引加载对象和访问值。还有一种traverse
方法,但这不会产生标题名称或我认为在这种情况下使用的任何东西。
java - java中解析TLV数据的问题,如何获取值,长度
我尝试了许多示例代码来解析 APDU 对 TLV 格式的响应。如果响应长度较短,我可以正确解析它,但如果长度较长则面临问题(如何在没有任何库的情况下计算标签的长度)
注意:我在常量中使用预定义的标签
代码:
addTagValue 方法
读取标签长度:
我无法正确获取几张卡片的长度(如果 apdu 响应很长)请帮助
java - 如何解码包装在标签 77 中的 APDU GPO 响应
我按照本教程进行操作,并从 GPO 命令收到以下响应:
当我尝试解析响应时:
有人可以帮助我获取应用程序交换配置文件 (AIP) 和应用程序文件定位器 (AFL) 的方法。本教程仅使用标签 80 解释了这一点,并且参考书EMV_v4.3_Book_3_Application_Specification
说该标签77
超出了他们的解决方案范围。
java - EMV TLV 解析有时不显示构造值(子项)
我的方法parseTLV()
有时不能正确地归结为构造值(子 TLV)。我使用过滤器((tag & 0x20)! = 0)
来检测构造值,但有时它不能按预期工作。
例如
导致以下结果parseTLV
:
- 标签:
70
- 值:8C159F02069F03069F1A0295055F2A029A039C019F3704
- 标签:
8C
- 值:9F02069F03069F1A0295055F2A029A039C019F3704
但是,我希望得到
- 标签:
70
- 值:8C159F02069F03069F1A0295055F2A029A039C019F3704
- 标签:
8C
- 值:9F02069F03069F1A0295055F2A029A039C019F3704
- 标签:
9F02
- 值:06
- 标签:
9F03
- 值:06
- 标签:
9F1A
- 值:02
- 标签:
95
- 值:05
- 标签:
5F2A
- 值:02
- 标签:
9A
- 值:03
- 标签:
9C
- 值:01
- 标签:
9F37
- 值:04
- 标签:
smartcard - ASN.1 数据对象中变量前面方括号内的内容是什么意思?
euiccSignature1 [应用程序 55] 八位字节串,--EUICC_Sign1,标签 5F37
以上是我在 ASN.1 数据对象中的内容。我要对它进行DER编码。有人能告诉我我与那个“标签 5F37”有什么关系吗?那个方括号里面是什么?
binaryfiles - 如何解码/编码电缆调制解调器配置文件?
我目前正在研究DOCSIS和相关的一些内部工作。我有点挣扎的一件事是如何制作电缆调制解调器配置文件。
从我收集到的:
- CM 配置是基于TLV格式的二进制文件。
- 这些配置使用 TFTP 服务器部署,在启动时通过 DHCP 提示调制解调器本身。
我有兴趣了解这些配置文件的结构。除了过去几天阅读的内容外,我对 TLV 几乎一无所知。
- TLV 只是一种将数据串在一起的通用方法吗?似乎 TLV 以二进制形式和类似 json 的明文字符串形式使用。
- TLV 的 T 和/或 L 部分是固定大小(以字节为单位)吗?我怎么知道它们在哪里分开?
- 我想我在某处读到 CM 配置使用称为 TLV-BER 的 TLV 子集。如果我没记错的话,这增加了对 TLV 嵌套的支持。这是如何运作的?
我听说 DOCSIS 在CableLabs上有很好的记录,但我还没有找到这些信息。有用的链接表示赞赏。
我拥有一个二进制配置文件,我可以使用在线工具对其进行解码,但假设我想为此目的制作自己的工具,我该怎么做?
编辑:这是二进制文件前 64 个字节的摘录,供参考。
ndef - 解析 MiFare Ultralight NFC 标签的内容
我目前正在使用 NFC/NDEF,我遇到了一个问题,我无法理解传入的数据。我对 NDEF 标准有一个大致的了解,并查看了 MIFARE 数据表,所以我能够挑选出一些东西,但是有一些字节似乎不合适并且让我感到困惑。
这是标签上数据的十六进制转储,通过以下方式收集nfc-mfultralight r
:
我知道前 16 个字节04 02 2f a1 d2 11 5f 81 1d 48 00 00 e1 10 12 00
(
从字节 21 开始,我可以看到 TLV 记录的开头,结尾带有 Terminator TLV 标志 ( 03 1b ... fe
),表示长度为 27 的 NDEF 类型的记录。这与预期的 NDEF 记录的长度匹配。
但是,我对字节 16..20 ( 01 03 a0 0c 34
) 感到困惑。这些是什么?
contactless-smartcard - 解析 EMV 9F10 令牌
IAD
我在处理完之后收到了以下内容GPO command
,那么我的问题是,如何9F10 EMV token
构造?这是令牌。
我只需要将CVR
部分发送到获取交换机。