问题标签 [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 回答
171 浏览

php - 如何将字符串中的两个字符视为一个字节?

考虑:

$tag 是一个包含两个字符“4”和“F”的字符串。我希望能够将它们分别视为整个字节(4F)的上半字节和下半字节,以便我可以继续计算位模式(01001111)

由于这些在技术上是字符,因此可以将它们各自视为一个字节 - ASCII 表上的 4 是 0x52,F 是 0x70。

几乎所有允许操作字节的 PHP 内置函数(到目前为止我已经看到)都是后一种描述的变体:'4' 是 0x52,而不是字节的高半字节。

我不知道有什么快速或内置的方法可以让 PHP 以我想要的方式处理这个问题,但感觉它应该在那里。

如何将字符串“4F”转换为字节 4F,或将每个字符视为半字节对中的半字节。是否有任何内置函数可以让 PHP 将像“4F”或“3F0E”这样的字符串作为成对的半字节来处理?

谢谢。

0 投票
2 回答
538 浏览

ruby - 如何在 Ruby 中解析 A​​SN1

仍然对 ASN1 有点困惑。我正在使用 ruby​​ openssl 解析 RFC3161 时间戳响应,所以我知道规范。我很确定结构已正确加载,但我对如何找到我想要的部件/键感到困惑。我知道有序列(有序)和集合(无序/唯一)。

我看到我们可以调用asn1_object.value[0].value[0],但这很笨拙,我希望如果我知道键或标题,我可以像 JSON 或 YAML 一样对待它,然后调用 asn1_object['TSTInfo']['serialNumber']. 它不是这样工作的吗?

我们是否应该使用序列的属性,这些属性应该是有序的并且已经知道它们的位置,因为我们也有规范和长度?这对我来说很奇怪,但也许那是因为我以前没有使用过很多 TLV 格式。不幸的是,openssl 的文档很少,只是如何OpenSSL::ASN1.decode(der)通过索引加载对象和访问值。还有一种traverse方法,但这不会产生标题名称或我认为在这种情况下使用的任何东西。

0 投票
2 回答
3929 浏览

java - java中解析TLV数据的问题,如何获取值,长度

我尝试了许多示例代码来解析 APDU 对 TLV 格式的响应。如果响应长度较短,我可以正确解析它,但如果长度较长则面临问题(如何在没有任何库的情况下计算标签的长度)

注意:我在常量中使用预定义的标签

代码:

addTagValue 方法

读取标签长度:

我无法正确获取几张卡片的长度(如果 apdu 响应很长)请帮助

0 投票
1 回答
858 浏览

format - 如何从 NXP MIFARE Ultralight 标签中读取记录的有效负载?

我有几个 NXP MIFARE Ultralight 标签(类型 2),其中包含第一条记录中的一些数据。我正在使用 ACS 1252U 读取标签,我尝试手动迭代一些数据以了解标签上的内容,但我似乎无法弄清楚如何确定记录的开始位置以及它结束的地方。

以下是有关 NFC 标签的一些详细信息以及我正在尝试读取的记录:

这是我的一个标签中的一些数据,从第 04 页开始:

现在,如果我将所有这些转换为 ASCII,我会得到以下信息:

我所知道的是,我所追求的实际数据(或有效载荷)从 开始99701,但是我到底应该怎么知道呢?数据中肯定有一些东西可以告诉我记录的有效负载从哪里开始以及在哪里停止?

0 投票
1 回答
635 浏览

java - 如何解码包装在标签 77 中的 APDU GPO 响应

我按照教程进行操作,并从 GPO 命令收到以下响应:

当我尝试解析响应时:

有人可以帮助我获取应用程序交换配置文件 (AIP) 和应用程序文件定位器 (AFL) 的方法。本教程仅使用标签 80 解释了这一点,并且参考书EMV_v4.3_Book_3_Application_Specification说该标签77超出了他们的解决方案范围。

0 投票
2 回答
780 浏览

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
0 投票
1 回答
240 浏览

smartcard - ASN.1 数据对象中变量前面方括号内的内容是什么意思?

euiccSignature1 [应用程序 55] 八位字节串,--EUICC_Sign1,标签 5F37

以上是我在 ASN.1 数据对象中的内容。我要对它进行DER编码。有人能告诉我我与那个“标签 5F37”有什么关系吗?那个方括号里面是什么?

0 投票
2 回答
2672 浏览

binaryfiles - 如何解码/编码电缆调制解调器配置文件?

我目前正在研究DOCSIS和相关的一些内部工作。我有点挣扎的一件事是如何制作电缆调制解调器配置文件。

从我收集到的:

  • CM 配置是基于TLV格式的二进制文件。
  • 这些配置使用 TFTP 服务器部署,在启动时通过 DHCP 提示调制解调器本身。

我有兴趣了解这些配置文件的结构。除了过去几天阅读的内容外,我对 TLV 几乎一无所知。

  • TLV 只是一种将数据串在一起的通用方法吗?似乎 TLV 以二进制形式和类似 json 的明文字符串形式使用。
  • TLV 的 T 和/或 L 部分是固定大小(以字节为单位)吗?我怎么知道它们在哪里分开?
  • 我想我在某处读到 CM 配置使用称为 TLV-BER 的 TLV 子集。如果我没记错的话,这增加了对 TLV 嵌套的支持。这是如何运作的?

我听说 DOCSIS 在CableLabs上有很好的记录,但我还没有找到这些信息。有用的链接表示赞赏。

我拥有一个二进制配置文件,我可以使用在线工具对其进行解码,但假设我想为此目的制作自己的工具,我该怎么做?

编辑:这是二进制文件前 64 个字节的摘录,供参考。

0 投票
1 回答
300 浏览

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) 感到困惑。这些是什么?

0 投票
2 回答
7504 浏览

contactless-smartcard - 解析 EMV 9F10 令牌

IAD我在处理完之后收到了以下内容GPO command,那么我的问题是,如何9F10 EMV token构造?这是令牌。

我只需要将CVR部分发送到获取交换机。