如何将私钥 (.key) 文件与 SSL 证书(来自 GoDaddy)关联,以便在 IIS 上安装

如何将私钥 (.key) 文件与 SSL 证书(来自 GoDaddy)关联,以便在 IIS 上安装

我有从 GoDaddy 下载的 ssl 证书文件,其中包含 .pem 文件、.crt 文件和 .p7b 文件。我有一个以 .key 扩展名生成的私钥。我需要将其分配给我从 GoDaddy 收到的证书,并将其安装在 IIS 证书中。

我已经从 .crt sslcertificate.cer 创建了 .cer 文件

问题实际上是,当我使用“完成证书请求”选项在 IIS 中安装证书并添加证书列表中显示的详细信息时。但是,当我刷新或转到其他选项并返回证书列表时,我看不到刚刚添加的新证书,它消失了。

通过谷歌搜索,我了解到问题是由于私钥与证书不相关。当我检查证书本身时,我可以看到没有显示密钥图标。我尝试通过 openssl 命令添加以使其成为 p12K 文件,并附加密钥,但“其结果是需要密码”并退出命令行,根据搜索结果,它应该要求输入密码(我怀疑该密钥文件中是否已设置密码)。我还尝试了 certutil -repairstore 我的“序列号”命令,但它要求智能设备连接。

这是我尝试创建 .pfx 文件时得到的结果

首先,我尝试创建一个新密钥,因为这个私钥是一个旧密钥,我不确定在创建时是否有人在其中输入了密码,这就是密码询问的原因。所以我创建了一个新的密钥文件“newkey.key”,并尝试用它制作 .pfx 文件,但它显示这个密钥不是与 .cer/crt 文件关联的正确密钥。然后我尝试从我收到的 pem 文件创建一个 .key 文件,但它仍然说无法从 pem 文件中检索数据

答案1

如果你覆盖了原始.key文件,那你就倒霉了。除非你有备份,否则证书现在就没用了。

假设您有原件...

您首先需要加入您的原来的 .key使用从 GoDaddy 收到的文件.pem创建 PKCS#12 文件:

openssl.exe pkcs12 -export -in sslcert.pem -inkey sslcert.key -out sslcert.pfx -passout pass:password 

(注意:如果您使用的是 OpenSSL 版本 3 和/或 Windows 的旧版本,则可能需要附加-nomac -certpbe PBE-SHA1-3DES -keypbe PBE-SHA1-3DES到上述命令)

接下来,双击创建的.pfx文件以将其导入。在导入向导中,选择本地计算机并点击下一个。在下一页上,点击下一个再次。在私钥保护页面上,password输入密码框并点击下一个. 在证书存储页面,选择将所有证书放入以下存储中, 点击浏览并选择个人的在点击之前好的关闭选择对话框,然后单击下一个。 点击结束

现在您需要将中级 CA 证书导入到存储中。双击收到的.p7b文件以将其打开。在出现的 certmgr 窗口中,双击证书。将出现存储在 p7b 中的证书列表。双击中间 CA 以将其打开。中间 CA 是发给由...发出不同。在我刚从 GoDaddy 下载的证书上,证书颁发给Go Daddy 安全证书颁发机构 - G2,但您的证书可能有所不同。证书显示后,点击安装证书...。将打开一个对话框,类似于上面用于导入 pfx 的对话框。在欢迎页面上,选择本地计算机并点击下一个. 在证书存储页面,选择将所有证书放入以下存储中, 点击浏览并选择中级证书颁发机构在点击之前好的关闭选择对话框,然后单击下一个。 点击结束

现在,转到IIS 管理器并导航到将绑定此证书的站点。点击绑定...在里面操作选项卡(右侧窗格)中,选择https绑定并点击编辑...。在“编辑站点绑定”对话框中,您导入的证书应该显示在SSL 证书。选择它,然后单击好的, 然后关闭

验证一切正常后,您需要删除该.key文件,因为该文件包含明文私钥,并且该.pfx文件受密码“password”保护。或者,创建.pfx一个更好的密码并将其存储在安全的地方,以防您在某个时候需要它来恢复您的 IIS 服务器。

供将来参考,使用 Windows 原生工具生成认证请求会更容易。这样,私钥已经在 Windows 商店中,您需要做的就是导入返回的证书,可能是中间 CA(如果 GoDaddy 已更改它)并将证书绑定到 IIS。

相关内容