问题标签 [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 投票
1 回答
1449 浏览

iphone - OpenSSL 不支持来自 iOS 的 PublicKey

我使用 SecKeyGeneratePair 在 iOS 上创建了密钥对,然后使用 SecItemCopyMatching 将密钥导出到 publicKey 和 privateKey (当然,在导出之前进行 Base64 编码)。现在我在使用公钥加密数据时遇到了问题。我使用下一个 OpenSSL 命令:

我收到来自 OpenSSL 的“无法加载公钥”响应。

我分析了 publicKey 并注意到它只包含下一个内容:

当 OpenSSL 生成的公钥包含有关算法的附加信息时,例如由 OpenSSL 创建的样本:

第一个问题是为什么 publicKey 只包含 1023 位的密钥?OpenSSL 的公钥有 1024 位长度。

我尝试为 iOS 生成的 publicKey 创建额外的 ASN.1 结构(使用 HEX 编辑器并修复 SEQUENCE 长度)。它的格式是正确的(我在这里检查过http://lapo.it/asn1js/),但我仍然不能将它用于 OpenSSL。看起来是因为 SecItemCopyMatching 返回的公钥丢失了字节。

我还检查了 privateKey 的内容,因为它里面包含 publicKey。publicKey 的长度也有 1023 位。

你能帮我吗?提前致谢。这是在 iOS 设备上生成的密钥对:

公钥:

MIGIAoGAaXp7vlZ5WmCzaL1rrBKXC8rJuc7EpH7Us/0t4R3hJoDOtRJxywegPY6wm45Oiud7UDh+9loebAg4dcpUP1le5SkbxrC9Qp8XahmvYVMXUYVGDiLTWID3e3PdE7CwEM5/lz1c1vRRWjR+2GzvV4xf5gRwCzZW1tXvXCNWsraqwE8CAwEAAQ==

私钥:

MIICWwIBAAKBgGl6e75WeVpgs2i9a6wSlwvKybnOxKR+1LP9LeEd4SaAzrUSccsHoD2OsJuOTorne1A4fvZaHmwIOHXKVD9ZXuUpG8awvUKfF2oZr2FTF1GFRg4i01iA93tz3ROwsBDOf5c9XNb0UVo0fths71eMX+YEcAs2VtbV71wjVrK2qsBPAgMBAAECgYBolCowc2hqdUosZPJmbyAXbv5HHXzWY3Hc6v8cHhXnqPpJiXoNhQgZQGpWMOgqzIv0467t7jgPgK8KCosxLBjqvQTVzBkHTsBpBAaJgxzgP04pD8EnJp6uwwx8fZcP3PQOwGkmtWf2KyAcBZD3A+snCxGTRMDOrEPzQe6kBapBwQJBASG9Go92pjIqTRMMam5A5oUt9R1/iNx0wHowStyf2KHik1GRidaENIYkobZEzjKEbskcq3LGJGna163uu/Y55l8CQF0yLFHBdMi9hYX49s8Abzkd+3sGI29hFkLrL01ZB2xV/WceNLQH7jxplRClri9Ccr1QFkMGcaXRv2X+eNu6DBECQQEdlTxZzhQwfBtuPB2nwNa2zL6+rZdj3Lxfc7xGTFQF9MNKcg6P3825rt+qPZWUm45rMpQXVBBOOkO+kAK6xwU3AkBIE8vPFy25K0qfSOOpSQ68QAIFLcQuGgpbiwU0bwycrwyiuevM6O1J7+aHz3udtWiEHfJ5t/whYM0ElwDl/0fhAkEAq0EWoY8mQjHAGPMIhIty48fDbJCeFWFPx8lR+gegR1KwcIzcCGrYnHt8ihrfPm9ySjXwWDLYhBx0A5m+IbRZaA==

0 投票
1 回答
573 浏览

asn.1 - 使用无意义的前导零编码正 ASN.1 INTEGER 是否正确?

这些编码在 ASN.1 INTEGER 类型中是否相同?

编码十进制 10

02 01 0A
02 02 00 0A
02 03 00 00 0A
...

0 投票
1 回答
505 浏览

erlang - Erlang snmp MIB。两个 mib 具有相同名称的对象

我有两个 MIB 文件包含两个具有相同名称的对象 (myentry)。我无法同时为代理加载,并且出现错误:

1> snmpa:load_mibs(snmp_master_agent, ["MY-MIB-1", "MY-MIB-2"])。

{error,{'load aborted at', "/home/artem/MY-MIB-1", {'mibentry 已定义', myentry}}}

不幸的是,我无法提供 MIB 文件。但无论如何它们都是有效的。

有没有办法解决这个问题?

0 投票
1 回答
727 浏览

erlang - 如何将 asn.1 erlang 表示法转换为 asn.1 值表示法

我想接收每个编码的 asn.1 消息对齐并将其解码为 asn.1 值表示法。有没有可用的工具?Erlang 支持编码和解码,以及从文件中读取值表示法,但解码只给出 erlang,而不是值表示法。

如何继续上面的代码。我想在这里获得 PDU http://en.wikipedia.org/wiki/Abstract_Syntax_Notation_One#Example或以下(取自维基站点)

0 投票
1 回答
15537 浏览

openssl - 使用 OpenSSL 解码 ASN.1 DER OCTET STRING

使用 OpenSSL API,我从 X.509v3 证书中提取了一个自定义扩展,其中包含:

X509_EXTENSION 对象包含一个 ASN.1 OCTET STRING 值(ex->value)。OCTET STRING 包含一个 DER 编码的 UTF-8 字符串。我正在尝试解码 OCTET STRING 以获得纯 UTF-8 字符串。

我尝试了一些事情,例如:

这些都给了我DER编码的字符串。如何获得纯 UTF-8 字符串?

0 投票
1 回答
1938 浏览

openssl - 通过 OID 使用 OpenSSL 从 X.509 证书中提取自定义扩展

我已经能够通过索引从 X.509 证书中提取自定义扩展:

如何通过 OID 而不是索引提取扩展名?

0 投票
1 回答
2108 浏览

java - Java - 将 TAP-0311 解析为树结构或 XML

首先,我在谷歌上搜索了很多这个话题。我试过看看 Bouncy Castle 和 Apache Harmony。但没有任何运气。

我正在尝试将 TAP-0311 (TAP3) 文件解析为简单的 Java 结构,例如树或 XML 等。

我有一些 TAP3 和一个相应的 TAP3-0311.asn 文件,其中包含 TAP 文件结构。

谁能帮助我了解如何在 Java 中解析单个 TAP3 文件并将其内容打印到控制台?

0 投票
1 回答
6356 浏览

asn.1 - ASN.1 SEQUENCE (OF) 真实标签值

我发现很多关于 SEQUENCE (OF) ASN.1 数据类型的标签值的相互矛盾的信息:

维基百科声称它是 0x10 和 0x30:

http://en.wikipedia.org/wiki/Abstract_Syntax_Notation_One -> 0x30

http://en.wikipedia.org/wiki/Basic_Encoding_Rules -> 0x10

根据微软的说法是 0x30:

http://msdn.microsoft.com/en-us/library/windows/desktop/bb540799%28v=VS.85%29.aspx

在 Bouncycastle 资源中可以找到:

所以它基本上是 0x10 和 0x30 之间的平局。你知道真正的价值是还是我错过了什么?

0 投票
2 回答
2238 浏览

c# - 在 C# 中将 asn1 转换为 base64

有没有办法使用 C# 代码将 X509Certificate 的 ASN.1 编码私钥转换为 Base64 格式?

0 投票
2 回答
3276 浏览

.net - 从 X509Certificate2 以 asn.1 表示法导出证书

我目前正在学习使用证书,现在我很好奇,是否可以从X509Certificate2-instance 获取已加载证书的 ASN.1 表示法。

我找到了Export-Method 并且它工作正常,但是我没有看到改变输出格式编码的可能性 - 它只是 DER 格式。

是否可以将加载的证书导出/转换为 ASCII ASN.1 证书,如下例所示:

或者是否有将DER转换为纯文本的转换器?