如何从SSL证书中提取密钥?

问题描述:

我有一个我购买的.pem.crt,.der格式的SSL证书。我想知道如何从证书中获取密钥文件。有没有办法做到这一点?如何从SSL证书中提取密钥?

+1

你在说私人密钥吗? – Bruno

+0

为什么?您已经拥有私钥和公钥。那就是你开始的地方。您生成了一个密钥对,创建了一个CSR,将其签名,现在您拥有签名证书。如果你失去了你开始使用的钥匙,那么无论如何你都会被打垮,你必须重新开始。 – EJP

您可以提取公钥。这具有有限的用处。也许你会用另一个不使用证书的工具(如SSH或PGP)使用相同的密钥。

使用OpenSSL:

openssl x509 -pubkey -noout <cert.pem> pubkey.pem 

不能获得来自证书的私钥。那会让整件事变得毫无意义,不是吗?

+0

运行命令时,我得到一个错误: 'OpenSSL的RSA -pubout key.pem' ' 无法加载私钥 99416:错误:0906D06C:PEM套路:PEM_read_bio:没有起始行:/ SourceCache /OpenSSL098/OpenSSL098-47.1/src/crypto/pem/pem_lib.c:648:Expectcting:ANY PRIVATE KEY ' – nkcmr

+1

@nkcmr我很抱歉。我以为我正在测试证书上的命令,但它实际上是我为's_server'使用的文件。在这种格式下,私钥被附加到证书中,并且该私钥的存在允许“rsa”实用程序工作。请使用我更正的答案。 – erickson