我正在使用openSSL
来创建RSA
public and private key
。我创建成功,输出是格式private_key.pem
和public_key.pem
的2个键。
因此,要求公钥需要位于.cer
extension
,Base 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
答案 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