正在从证书签名请求中恢复私钥



私钥和公钥已从密钥链中删除。

但是,我确实有.certSigningRequest.文件

有没有一种方法可以从.certSigningRequest获得pem编码格式的私钥?

简而言之,没有

.certSigningRequest是发送给您选择的证书颁发机构(CA)的内容。然后,在验证你确实拥有你所保护的网站后,证书颁发机构会对你的证书进行签名,生成你现在不幸丢失的签名证书。

SSL证书的意义在于证明你就是你所说的自己。让CA对证书进行签名可以为其提供信任,这就是为什么您不能仅使用.certSigningRequest重新生成证书的本质原因。

向您的CA申请新证书

许多CA会同情你,并允许你向他们申请新的签名证书。当然,这将取决于您的CA是谁,以及您获取新证书所需的路径。

如果你的CA允许,你将无法使用你仍然拥有的.certSigningRequest——如果没有附带的密钥,该文件现在就毫无用处了&证书签名请求,然后将该请求转发给CA。

生成新的自签名证书

如果这不是一个选项,或者如果你对从CA重新获得额外的信任不感兴趣,你可以通过执行以下命令生成一个自签名证书(假设你使用的是基于Debian的Linux/Apache):

openssl req -new -x509 -sha256 -days 365 -nodes -out /etc/ssl/localcerts/apache.pem -keyout /etc/ssl/localcerts/apache.key
chmod 600 /etc/ssl/localcerts/apache*

这将生成一个有效期为1年的自签名SSL证书(-days 365)。自签名证书的主要缺点是,许多浏览器都会显示一个令人讨厌的弹出窗口,警告用户网站的身份无法验证。

最新更新