2015-01-21 488 views
6

我有要求从*.cer文件中提取公钥(RSA)。我希望提取密钥并将其存储在.pem文件中,以便我可以使用其值来使用jsencrypt加密值。如何从.cer中提取RSA公钥并使用OpenSSL将其存储在.pem中?

下面的命令转换一个.cer.pem

openssl x509 -inform der -in certificate.cer -out certificate.pem 

然而,它并不生成公钥但与*.cer文件的内容的文件的文件。

​​

我应该使用什么命令提取公钥并将其存储在一个文件.pem

+0

Stack Overflow是用于编程和发展问题的站点。这个问题似乎与题目无关,因为它不涉及编程或开发。请参阅帮助中心的[我可以询问哪些主题](http://stackoverflow.com/help/on-topic)。也许[超级用户](http://superuser.com/)或[Unix&Linux堆栈交换](http://unix.stackexchange.com/)会是一个更好的地方。另请参阅[我在哪里发布关于Dev Ops的问题?](http://meta.stackexchange.com/q/134306) – jww 2016-09-22 13:59:22

+1

与这些东西战斗往往是开发人员的事。关于证书管理有很多关于SO的问题。这不是超级用户或Linux或Dev Ops,所有这些都不够具体。我相信这实际上是正确的地方。 – Ghoti 2017-08-17 12:51:05

回答

17

使用此命令我能够生成.pem与公钥的内容。

openssl x509 -inform der -in certificate.cer -pubkey -noout > certificate_publickey.pem 

主要生产:

-----BEGIN PUBLIC KEY----- 
MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCsM+whXrxmbCkPfkwY2EehYpIp 
*blah blah blah blah* 
-----END PUBLIC KEY----- 
+4

谢谢。只是一个更正:对于一个.cer文件输入,'inform'参数应该是'der' – Gobe 2016-05-25 15:56:34

+2

我确信我在回答中写的是正确的,并且对我有效......我确实使用了'-inform pem '。虽然'-inform der'也可以工作,那很酷。 – 2017-04-27 06:01:14

+1

对于其他人来说,'-inform DER'对我不起作用,但'-inform PEM'工作。 – 2018-01-30 11:35:37

相关问题