问题标签 [der]

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 投票
3 回答
124161 浏览

ssl - ssl:无法加载证书

我有 2 个文件 - CSR.csr 和 newkey.key,它们似乎都是 PEM 格式,如下所示 -

当我尝试读取 CSR.csr 文件时,出现以下错误:

我读到当输入文件为 DER 格式时出现此错误,所以我尝试了以下操作 -

但现在我得到了错误 -

当输入文件已经是 PEM 格式并且尝试以 DER 格式读取它时,似乎会发生此错误。

真的很困惑如何去做,因为我是 SSL 新手。请帮忙!

0 投票
1 回答
3188 浏览

c - 使用 ECDSA 在代码和命令行中创建和验证签名

问题: 使用编写的演示代码(如下所示),我可以毫无问题地创建和验证。但是,使用 openssl 命令行工具验证签名(由演示代码创建)似乎总是失败。

我所做 的:演示代码创建一个定义的公钥/私钥对,然后签署一个定义的哈希并验证它。

这是程序输出:

它还输出以下文件:

  • privkey.pem(PEM 格式的私钥)
  • pubkey.pem(PEM 格式的公钥)
  • data.bin(哈希,没什么花哨的)
  • data_sig.der(DER编码签名:R&S值)

所有文件似乎都已正确创建。

接下来,我尝试data_sig.der使用 openssl 命令行工具进行验证。

为什么会失败?

我只能假设 4 个文件中的一个文件写入不正确,但我仔细检查了所有内容,但无法发现我的错误。

此外,使用演示程序创建的 PEM 文件,从命令行进行签名和验证工作正常:

这是演示代码(用 编译gcc demo_code.c -lcrypto -lssl -o demo_code):

0 投票
0 回答
58 浏览

c# - 使用 System.Security.Cryptography 读取 DER 格式的私钥

我有一个通过 OpenSSL 模块加载到 C 应用程序中的现有私钥。

据我了解,私钥采用 DER 格式,我现在正尝试在单独的 .NET 应用程序中使用该密钥。

有没有办法在RSACryptoServiceProvider不使用 C# 中的第三方库的情况下将其加载到 a 中?

我有一种感觉,我应该RSAParameters像这样创建一个并从密钥加载相关字节,但不确定我应该使用哪些字节

我走远了吗?

0 投票
0 回答
418 浏览

c - 如何在 OpenSSL 1.1.0 中将 STACK_OF(X509) 转换为 DER?

在从 OpenSSL 0.9.8 移植到 1.1.0 时,我遇到了一个缺失的函数。OpenSSL 团队一直在忙于清理他们的代码库,其中一项清理工作是删除了一些 ASN 处理宏和函数。我们过去可以使用以下代码从STACK_OF(X509)证书转换为:DER

注意:为简洁起见,删除了错误处理

这不再链接,并且构建过程因未解析的外部符号而出错。

我检查了 0.9.8 代码库,发现那ASN1_seq_pack_X509是一个宏。在跟踪深度嵌套的宏之后,我发现我上面的调用最终看起来像这样:

并且ASN1_seq_pack不再存在于 OpenSSL 1.1.0 中。所以这是我的问题。应该如何从STACK_OF(X509)to转换DER

0 投票
1 回答
1329 浏览

ssl - 与 PEM 和 DER 证书混淆

我正在开发一个使用第三方框架和 SSL 的 iOS 应用程序。
为了连接到服务器,我需要传递服务器证书、客户端证书和密码:

因此,我要求他们的支持提供证书以进行连接,他们向我发送了一个 zip 文件(我使用的是 mac):

  • chain_2016.pem(mac 标识为“Root”)
  • 密码
  • yourCertificate.pem(“标准”)
  • yourCertificate.p12(“个人”)

密码短语文件包含两个字符串,p12 文件的密码短语和一个 32 个字符长的字符串,我不知道它的用途。它看起来像这样:53CFE0E1914EF853E148F29C0A56B716

我知道 p12 文件和密码是正确的。但让我感到困惑的是两个 PEM 文件,我只需要一个 DER 编码证书。我尝试使用将每个 PEM 转换为 DER
openssl x509 -in ...
但它不起作用......

我打印了两者的内容,chain_2016yourCertificate.pem注意到其中yourCertificate.pem包含chain_2016两个额外的证书。

链_2016.pem

你的证书.pem

由于这是我第一次使用 SSL,我希望有人可以帮助我。谢谢 !

更新:
谢谢 pedrofb,正如我所说,我已经尝试过:

我尝试使用将每个 PEM 转换为 DER
openssl x509 -in ...
但它不起作用......

使用这个框架有两个步骤。首先,建立与服务器的连接,然后执行操作。使用任何一个转换后的 DER 文件都允许我连接,但是当我尝试执行某个操作(例如登录)时,我得到“您无权执行此操作”。这是否意味着证书一切正常,而错误来自与 SSL 无关的其他地方?

0 投票
1 回答
1589 浏览

c - 如何使用 openssl API 读取 DER 格式的服务器证书?

我想读取 DER 格式的服务器证书并将其存储在我们的数据库中,我找到了一个使用 X509 结构打印证书的 api,但我没有看到任何 API 可以将其作为字符串获取。谁能指出API或任何示例来阅读证书?

0 投票
1 回答
3666 浏览

java - DER 在 Java 中解码 ECDSA 签名

我已经在 J​​ava 中生成了一个 ECDSA 签名,我想从中获取 R 和 S 值。据我了解,我生成的签名是 DER 编码的。有人可以向我提供一些 Java 代码(可能使用 Bouncy Castle)来检索 R 和 S 值作为 BigIntegers 吗?

注意:如果有帮助,我使用内置提供程序通过 JCE 的 Signature 类生成签名,我的 P_256 EC 密钥对的签名长度通常在 70 到 72 个字节之间徘徊。

0 投票
1 回答
307 浏览

ssl-certificate - X.509 RFC 5280 中结构描述中的 [0], [1], ... 是什么意思?

我正在研究 RFC 5280 ( https://www.rfc-editor.org/rfc/rfc5280 ) 并注意到 TBSCertificate 结构定义中的奇怪标记 ([0], [1], [2], [3])

在 ASN.1 中,它使用特殊字节 0xA0、0xA1、0xA2、0xA3 进行编码。找不到关于这些字节编码的任何解释。有人可以解释一下吗?

0 投票
1 回答
9945 浏览

java - 将证书字符串转换为字节数组

我得到一个代表 PEM 证书的字符串:

我将上面的字符串分配给 String variable String myCertStr

转换myCertStr为 DER 编码字节 [] 的正确方法是什么?

(我正在使用 Java 7,我对为此使用 3rd 方库不感兴趣,我正在寻找一种 JDK7 的方法。)

0 投票
1 回答
2122 浏览

android - 在我的情况下以编程方式安装 X509 证书

我正在开发一个 Android 项目。我有一个 PEM 证书字符串:

(我将上面的证书字符串分配给一个名为 的变量CERT_STR

我通过以下方式将 PEM 字符串转换为 X509Certificate:

然后,我尝试通过以下方式以编程方式安装证书:

当我运行我的应用程序时,我看到系统对话框弹出“正在提取...”,我知道系统正在提取我的证书,但该对话框一直显示在那里说“正在提取...”。

为什么?我安装证书的代码哪里错了?