问题标签 [asn.1]

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 投票
2 回答
212 浏览

c++ - 某人如何定义数据类型,然后在数据类型定义之后立即在同一文件中包含的其他文件中使用它

我需要 asn1 BER 编码器/解码器,并发现它是“asn1c”编译器的一部分(这是链接http://lionet.info/asn1c/blog/)。

我使用“configure, make, make install”程序编译整个东西没有问题,但似乎不可能单独编译。

我正在尝试将此包的 BER 编码器/解码器功能编译到 NetBeans 中的静态库中。但是,我遇到了一些“包含”废话的大问题。这是一个例子......

在 asn1parser.h 文件中有一个名为“asn1c_integer_t”的新类型的 typedef

但是,前一个文件中包含的一些文件(例如 asn1p_oid.h)正在使用前一个文件中定义的新数据类型。

这对我来说毫无意义,而且我不断收到以下错误:

asn1parser.h:32: 错误:在 'asn1c_integer_t' 之前需要 '='、','、';'、'asm' 或 '<strong>attribute'</p>

谁能帮我解决这个问题?

0 投票
4 回答
4551 浏览

java - 如何将 Java 对象转换为 ASN.1 流?

我想知道是否有一种简单的方法可以将 java 对象转换为 ASN.1 字节流。提前致谢。

0 投票
2 回答
1686 浏览

c++ - 易于使用的可扩展序列化/编组?

我有一个关于数据结构序列化的问题。数据结构的序列化有很多可能性(也称为编组放气,请参阅wiki-article)。每种编程语言、框架、标准或库似乎都带有自己的序列化方法。许多人还定义了自己的数据/接口描述语言(我更喜欢仅在代码内部定义的语言依赖数据结构)。仅举几例(参见wiki 文章):COM IDL、CORBA IDL、Thrift IDL、google 协议缓冲区“.proto”、XSD、ASN.1 IDL 等等。其中一些序列化能够生成语言本机数据结构和用于序列化和反序列化这些结构的代码。

我对这个主题做了一些研究,但我仍然没有决定。所以我的问题是:我 应该使用哪个序列化?

我的要求可扩展性、空间效率(至少是二进制)、有效访问数据、易于使用(可能使用生成的代码和 getter 和 setter)和 c++ 兼容性。

可扩展性应该提供向前和向后的兼容性。更具体地说,我编写的数据格式通常会随着时间的推移而增长,因为我添加了新的数据字段,这是我在开发之初无法预见的。现在我希望能够使用更新的软件版本从过时的格式中读取存储的数据,在旧存储数据中找不到的数据字段可以填充默认值或其他内容。另一方面,我希望能够读取用新描述写入的数据。然后,使用“旧”数据描述编译的软件应忽略未知数据字段(可能会产生一些警告)。

有什么建议吗?关于该主题的进一步阅读的建议也将不胜感激。

- - 编辑 - -

1) boost::serialization 似乎很流行。它有一些非常好的特性,文档非常好,语法似乎很简单。也许我有点挑剔,但有些事情我不喜欢:我看不出它如何处理前向兼容性(见4)。我更喜欢生成的代码。

2) google protobuf 似乎更适合我的需求,但我还没有深入研究它们。它们似乎很好地处理了向前和向后的兼容性(参见5)。他们有不同语言的代码生成器,开发人员知道非常相似的概念,例如(参见常见问题解答)。我将对 protobufs 进行更深入的研究。

3)提升精神似乎不是我搜索的东西。

0 投票
4 回答
45342 浏览

security - X.509 证书的“公用名”属性中允许使用哪些字符串?

在 X509 证书的 DN 的通用名称字段中,如 OID“2.5.4.3”的 ASN.1 表示法中定义的那样,允许的值是多少?

我知道限制最多为 64 个字符,但是否允许所有字符?数字?
例如,是否.允许?根据 ASN 定义,IP 地址 (xxxx) 是否是有效序列?
是否允许使用域名?

0 投票
1 回答
1555 浏览

delphi - Delphi 中的任何 Asn1 实现

Delphi 中是否有任何不错的 asn1 实现或库?

0 投票
1 回答
875 浏览

ascii - ASN 和 ASCII 的区别

请解释 ASN 和 ASCII 格式之间的区别。它们是用来做什么的?

0 投票
1 回答
3129 浏览

ios - 将 XML Dsig 格式转换为 DER ASN.1 公钥

我正在开发一个 iPhone 应用程序,该应用程序以以下形式从 ASP.NET Web 服务中检索 RSA 公钥:

然后我需要将此响应转换为NSData *适当的格式(来自一些激烈的谷歌搜索,很可能是“ASN.1 DER”二进制格式。我已经准备好将这两个部分从它们的 Base64 表示形式转换为原始二进制值的代码,但我终其一生都无法找到一种合理的方法来创建一体式二进制密钥。

等待key的代码是来自Apple的示例项目-addPeerPublicKey:(NSString *) keyBits:(NSData *)的类的方法(代码在这里)。SecKeyWrapperCryptoExercise

我很乐意以另一种方式实现这一点——我只需要加密一个字符串(不需要解密)。不过,据我所知,如果我能缩小这种格式差距,内置的安全框架就可以满足我的需求。如果有一种方法可以转换密钥并从 Web 服务发送 Base64 编码的密钥,那也适用于我——但我也找不到任何 ASN.1 编码的方法。

0 投票
2 回答
713 浏览

java - ASN.1/二进制笔记具体注释?

我正在使用 Java 中的“二进制笔记”ASN.1 环境。首先,我手动创建了一个 asn.1 序列的类。

现在我想知道那个“@”符号是什么意思?我试图在二进制笔记的来源中找到提示,结果如下:

有人可以向我解释这个符号吗?会好的。提前致谢。

尼里基

0 投票
2 回答
6386 浏览

python - 如何使用 pyasn1 解析 subjectAltName 扩展数据?

我有一些 pyOpenSSL 给我的数据,'0\r\x82\x0bexample.com'. 这应该是 subjectAltName X509 扩展的值。我尝试使用 pyasn1 (并基于 pyasn1 示例之一)对此扩展的 ASN1 规范的必要部分进行编码:

显然我在接近尾声时有点无聊,并没有完全指定GeneralName类型。但是,测试字符串应该包含 a dNSName,而不是跳过的值之一,所以我希望没关系。

当程序运行时,它失败并出现我无法解释的错误:

任何关于我哪里出错以及如何使用 pyasn1 成功解析此扩展类型的提示将不胜感激。

0 投票
3 回答
7623 浏览

c# - C# 读取 der 编码的私钥

如何从 ASN1 DER 格式的私钥中获取字段?是否有一个库可以分别解码和获取字段?

我需要提取模数、指数和所有其他字段。

或者也许有办法将其转换为 .net xml 格式?