gpt4 book ai didi

ASN.1 定义构造八位字节串/位串

转载 作者:行者123 更新时间:2023-12-02 01:22:53 25 4
gpt4 key购买 nike

我查看了许多链接,但没有找到如何识别构造的八位字节串/位串。我将其解析为 TLV,V 包含八位字节串/位串的值。 V 中是否有位负责它,因为它在标签中?

最佳答案

根据 ITU-T X.690这是为 BER 定义的:

The encoding of an octetstring value shall be either primitive or constructed at the option of the sender.



DER 将编码限制为仅原始类型。这同样适用于位串。

要按照构造对 ASN.1 对象进行编码,您需要将 TLV 中的 TAG 八位字节的第 6 位设置为 1,如 here 所述.整个 TAG 元素应该是二进制 00(<-tag class 通用)1(构造)00100(<-tag 编号)= 00100100 = 24 hex = 36 dec。

位串将是相似的 - 二进制 00100011 = 23 hex = 35 dec。

编辑:

经过与@CryptoGuy 的长时间讨论,我意识到我没有正确回答您的问题。 Value 中没有任何内容可以说明结构。如果您知道您正在解析的对象包含在值中编码结构的八位字节字符串,那么您相应地实现您的应用程序。

如果您不知道要解析的对象,则必须尝试解析可以构造的任何类型,即序列、集合、八位字节字符串等。
据我所知,没有其他方法可以做到这一点。

关于ASN.1 定义构造八位字节串/位串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38874188/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com