【发布时间】:2014-08-23 23:54:28
【问题描述】:
我在一个项目中工作,在该项目中我收到一个 pem 格式的 .csr 文件,我需要对其进行签名以创建 x509v3 签名证书。我不能在 openssl 中使用 X509_sign() 方法,因为我需要使用第三方签名服务,我需要将数据发送到签名(在本例中为 .csr)文件,它会返回我的签名(带有 rsa 的 sha256) .
我的主要问题是我不知道如何在内存中打开 CSR,我的意思是,我知道如何使用 openssl API 创建或加载 x509 证书,但我找不到如何加载 CSR 以便使用所有方法从 CSR 中检索所有数据并将其发送到我的第三方工具以对其进行签名。如果我可以加载 csr,我将能够对其进行签名并创建一个全新的 x509。
【问题讨论】:
-
查看
<openssl src>/apps/req.c中openssl req程序的源代码。如果您使用-x509开关,您将获得一个签名证书(假设存在其他适当的开关)。如果该命令缺少-x509开关,那么您将获得一个 CSR。 -
非常感谢,我不知道存在的应用程序/它向您展示了 openssl 命令是如何实现的。这是非常有帮助的。 :)
-
是的,OpenSSL 充满了自我记录的代码。通常,
app目录中的程序就是你所拥有的。