从证书签名请求中恢复私钥
Recovering private key from certificate signing request
私钥和 Public 密钥已从钥匙串中删除。
但是,我有文件 .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*
这将生成一个自签名 SSL 证书,有效期为 1 年 (-days 365
)。自签名证书的主要缺点是许多浏览器会显示讨厌的弹出窗口,警告用户无法验证站点的身份。
私钥和 Public 密钥已从钥匙串中删除。
但是,我有文件 .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*
这将生成一个自签名 SSL 证书,有效期为 1 年 (-days 365
)。自签名证书的主要缺点是许多浏览器会显示讨厌的弹出窗口,警告用户无法验证站点的身份。