OpenSSL RSA使用.cer格式提取公钥
我正在使用OpenSSL RSA使用.cer格式提取公钥,openssl,ssl-certificate,rsa,cer,public-key-exchange,Openssl,Ssl Certificate,Rsa,Cer,Public Key Exchange,我正在使用openSSL创建RSA公钥和私钥。我创建了成功,输出是两个键,格式为private\u key.pem和public\u key.pem 因此,要求公钥必须是.cer扩展名,Base 64格式,并以头开始:----BEGIN 我做了一些研究,但找不到将pem转换为cer 有什么想法吗? 谢谢 p/S:下面是我用来生成密钥的脚本: openssl genrsa -out private_key.pem 2048 openssl rsa -in private_key.pem -outf
openSSL
创建RSA
公钥和私钥
。我创建了成功,输出是两个键,格式为private\u key.pem
和public\u key.pem
因此,要求公钥必须是.cer
扩展名
,Base 64格式
,并以头开始:----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
PEM是一种标准编码格式(请参阅),专门设计用于包含在邮件中,因此它仅使用基本字符集DER是另一种标准编码格式,使用二进制编码方案 CER不是标准的,它是一个文件扩展名,通常用于传递证书(或者,不太常见的是密钥) 由于CER有时被用作包含DER编码加密材料的文件的扩展名,因此人们误用CER首字母缩写并谈论CER编码。但这毫无意义。最后,还有一些人谈论CER文件,用于PEM编码材料 我做了一些研究,但没有找到将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
对于以头开始的公钥:--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用户签名。Stack Overflow是一个用于编程和开发问题的网站。这个问题似乎离题了,因为它与编程或开发无关。请参见帮助中心中的。也许或者会是一个更好的提问的地方。我认为这个问题的可能重复是“如何从密钥生成证书?”。关于CER作为证书和ASN.1数据的规范编码规则,存在着轻微的歧义(根据答案)。但我认为问题中有足够的线索表明他们是指证书。