【问题标题】:OpenSSL RSA extract public key with .cer formatOpenSSL RSA 提取 .cer 格式的公钥
【发布时间】:2018-02-28 23:22:37
【问题描述】:

我正在使用openSSL 创建RSA public and private key。我创建成功,输出是 2 个格式为 private_key.pempublic_key.pem 的键。

所以,要求是公钥必须在.cerextensionBase 64 format,并以标题开头:-----BEGIN

我做了一些研究,但找不到将 pem 转换为 cer 的方法

有什么想法吗? 谢谢。

P/S:这是我用来生成密钥的脚本:

openssl genrsa -out private_key.pem 2048
openssl rsa -in private_key.pem -outform PEM -pubout -out public_key.pem

更新

最后,我找到了解决方案,只为那些需要它的人。

set OPENSSL_CONF=C:\Program Files (x86)\GnuWin32\share\openssl.cnf
openssl genrsa -out private_key.pem 2048 -sha256 -passout pass:abc123
openssl req -new -x509 -sha256 -key private_key.pem -out public_key.cer -days 3650

【问题讨论】:

  • Stack Overflow 是一个编程和开发问题的网站。这个问题似乎离题了,因为它与编程或开发无关。请参阅帮助中心的What topics can I ask about here。也许Super UserUnix & Linux Stack Exchange 会是一个更好的提问地点。
  • 我认为这个问题是“如何从密钥制作证书?”。关于 CER 作为 CERtificate 和作为 ASN.1 数据的规范编码规则存在轻微的歧义(根据答案)。但我认为在他们的意思是证书的问题中有足够的线索。

标签: openssl ssl-certificate rsa cer public-key-exchange


【解决方案1】:

你的公钥以header开头:-----BEGIN,直接用私钥生成base64证书。

openssl genrsa -out key.pem 2048
openssl req -new -x509 -days 1826 -key key.pem -out ca.crt

这将生成一个嵌入了相关公钥的自签名证书,有效期为 5 年。或者使用,

openssl req -new -key key.pem -out cert.csr

生成证书签名请求并由 Root 签名。

【讨论】:

    【解决方案2】:

    PEM 是一种规范的编码格式(参见RFC-7468),专门设计用于包含在邮件中,因此它仅使用基本字符集。 DER 是另一种规范的编码格式,使用二进制编码方案。

    CER 不是规范,它是一种文件扩展名,通常用于传送证书(或者,不太常见的是,密钥)。

    由于 CER 有时用作包含 DER 编码加密材料的文件的扩展名,因此人们会误用 CER 首字母缩写词并谈论 CER 编码。但这没有任何意义。最后,其他一些人谈到了 PEM 编码材料的 CER 文件。

    我做了一些研究,但找不到将 pem 转换为 cer 的方法

    您不会,这没有任何意义:您创建密钥的方式使它们已经被 PEM 编码。

    因此,您可能需要做的唯一事情就是将以 PEM 编码的密钥文件转换为 DER 格式,无论文件扩展名是什么。

    为此,请使用 openssl:

    openssl rsa -inform PEM -in private_key.pem -outform DER -out private_key.der
    openssl rsa -pubin -inform PEM -in public_key.pem -outform DER -out public_key.der
    

    【讨论】:

      猜你喜欢
      • 2015-03-19
      • 2012-09-26
      • 2021-10-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-07-28
      • 1970-01-01
      相关资源
      最近更新 更多