【问题标题】:Parse a certificate signing request (CSR) with openssl API使用 openssl API 解析证书签名请求 (CSR)
【发布时间】: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.copenssl req程序的源代码。如果您使用-x509 开关,您将获得一个签名证书(假设存在其他适当的开关)。如果该命令缺少-x509 开关,那么您将获得一个 CSR。
  • 非常感谢,我不知道存在的应用程序/它向您展示了 openssl 命令是如何实现的。这是非常有帮助的。 :)
  • 是的,OpenSSL 充满了自我记录的代码。通常,app 目录中的程序就是你所拥有的。

标签: openssl x509 pem csr


【解决方案1】:

我想我找到了答案: http://www.umich.edu/~x509/ssleay/x509_reqs.html

函数是:PEM_read_X509_REQ()。我还没有尝试过,但我很确定使用此函数可以访问 CSR 数据结构,就像 PEM_read_X509() 允许您访问 x509 证书的数据结构一样。

最好的问候。

【讨论】:

    猜你喜欢
    • 2015-11-28
    • 2014-08-07
    • 1970-01-01
    • 2016-02-23
    • 1970-01-01
    • 2017-06-05
    • 2010-09-18
    • 1970-01-01
    • 2017-11-02
    相关资源
    最近更新 更多