如何将证书转换为私钥?

如何将证书转换为私钥?

我正在尝试为 Web 服务器(特别是 Splunk)设置证书,但我认为证书的格式不正确。我需要提供私钥文件和 CA 证书的路径。目前,我拥有 PEM 格式的证书(两个文件的内容都以“----BEGIN CERTIFICATE-----”开头)。但这似乎不起作用,我猜测私钥文件需要采用不同的格式。基本上,我希望采用这样的格式:

openssl rsa -in MYFILE -check 

成功(目前,失败并显示“无法加载私钥”)。不过,我目前可以使用

openssl x509 -in MYFILE -text -noout

那么我该如何转换文件以便第一个命令能够成功执行呢?

答案1

证书只有公钥,没有私钥。

当它们是 PEM 格式时,有时私钥和证书都位于同一个文件中。查找BEGIN PRIVATE KEYBEGIN RSA PRIVATE KEY标头。如果找到一个,只需使用常规文本编辑器将两个 blob 分开即可。

但如果你有仅有的证书,那么你绝对不能从中得到私钥。证书中只有公钥,而非对称加密的整个安全性取决于无法根据公钥找到私钥。

答案2

听起来你同时拥有 .pem 格式(X509)的私钥和证书,并且需要将该私钥转换为 rsa 私钥格式(RSA)

这里提供了一种方法:

https://stackoverflow.com/questions/17733536/how-do-i-convert-a-private-key-to-an-rsa-private-key

相关内容