OpenSSL RSA使用.cer格式

时间:2017-09-20 03:39:40

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

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

因此,要求公钥需要位于.cer extensionBase 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

2 个答案:

答案 0 :(得分:0)

对于以标题开头的公钥:----- 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签名。

答案 1 :(得分:-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