1

openSSL用来创建RSA public and private key. 我创建成功,输出是 2 个带有格式private_key.pempublic_key.pem.

因此,要求是公钥需要在 中.cer extensionBase 64 format并以标头开头:-----BEGIN

我做了一些研究,但找不到要转换pemcer

有任何想法吗?谢谢。

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
4

2 回答 2

0

对于你的公钥以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 签名。

于 2017-09-26T15:59:45.187 回答
-1

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
于 2017-09-20T08:01:04.120 回答