如何将证书转换为私钥?

gst*_*eff 7 ssl openssl

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

openssl rsa -in MYFILE -check 
Run Code Online (Sandbox Code Playgroud)

成功(现在,由于“无法加载私钥”而失败)。但是,我目前可以通过以下方式验证它

openssl x509 -in MYFILE -text -noout
Run Code Online (Sandbox Code Playgroud)

那么如何转换文件以便第一个命令成功呢?

use*_*686 16

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

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

但是如果您只有证书,那么您绝对无法从中获取私钥。证书只有公钥,非对称加密的整个安全性取决于在给定公钥的情况下无法找到私钥。


小智 5

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

这里提供了一种方法:

/sf/ask/1241347551/