我从 GoDaddy 下载了 ssl 证书文件,其中包含 .pem 文件、.crt 文件和 .p7b 文件。我有一个以 .key 扩展名生成的私钥。我需要将相同的分配给从 Godaddy 收到的证书,并在 IIS 证书中安装相同的证书。
我已经从 .crt sslcertificate.cer 创建了 .cer 文件
问题实际上是,当我使用“完整证书请求”选项在 IIS 中安装证书并添加它在证书列表中显示的详细信息时。但是当刷新或转到其他选项并返回到证书列表时,我看不到刚刚添加的新证书,它消失了。
通过谷歌搜索,我可以理解问题是由于私钥与证书无关。当我检查证书本身时,我发现没有显示钥匙图标。我尝试通过 openssl 命令添加以使其成为还附加了密钥的 p12K 文件,但“其结果是需要密码”并根据搜索结果退出命令行,它应该要求输入密码(我怀疑是否有密码已经在该密钥文件或其他文件中设置)。我也尝试过 certutil -repairstore 我的“序列号”命令,但它要求连接智能设备。
首先,我尝试创建一个新密钥,因为这个私钥是一个旧密钥,并且在创建时不确定是否有人在其中输入了密码,这就是密码询问的原因。所以我创建了一个新的密钥文件“newkey.key”并尝试用它制作 .pfx 文件,但它显示这个密钥不是与 .cer/crt 文件关联的正确密钥。然后我尝试从我收到的 pem 文件创建一个 .key 文件,但它仍然说无法从 pem 文件中检索数据
如果您覆盖了原始
.key
文件,那么您就不走运了。除非您有备份,否则该证书现在毫无用处。假设你有原...
您首先需要将您的原始
.key
文件与.pem
从 GoDaddy 收到的文件结合起来,以创建一个 PKCS#12 文件:(注意:如果您使用的是 OpenSSL 版本 3 和/或旧版本的 Windows,您可能需要附加
-nomac -certpbe PBE-SHA1-3DES -keypbe PBE-SHA1-3DES
到上述命令中)接下来,双击创建的
.pfx
文件将其导入。在导入向导中,选择Local Machine并单击Next。在下一页上,再次单击“下一步”。在 Private key protection 页面上,password
在Password框中输入,然后单击Next。在 Certificate Store 页面上,选择Place all certificates in the following store,单击Browse并选择Personal ,然后单击OK关闭选择对话框,然后单击Next。单击完成。您现在需要将中间 CA 证书导入商店。双击收到的
.p7b
文件将其打开。在出现的 certmgr 窗口中,双击Certificates。将出现存储在 p7b 中的证书列表。双击中间 CA 将其打开。中间 CA 是Issued To和Issued By不同的那个。在我刚刚从 GoDaddy 下载的证书上,证书颁发给了Go Daddy Secure Certificate Authority - G2,但您的证书可能有所不同。显示证书后,单击安装证书...。将打开一个对话框,类似于用于导入上面的 pfx 的对话框。在欢迎页面上,选择本地机器,然后单击下一步。在 Certificate Store 页面上,选择Place all certificates in the following store,单击Browse并选择Intermediate Certification Authorities,然后单击OK关闭选择对话框,然后单击Next。单击完成。现在,转到IIS 管理器并导航到该证书将绑定到的站点。单击“操作”选项卡(右侧窗格)中的“绑定...” ,选择https绑定并单击“编辑...”。在 Edit Site Binding 对话框中,您导入的证书应该在SSL certificate下可见。选择它,然后点击OK,然后点击 Close。
验证一切正常后,您需要删除该
.key
文件,因为它具有明文形式的私钥,并且该.pfx
文件受密码“password”保护。或者,创建.pfx
一个更好的密码并将其存储在安全的地方,以防您在某个时候需要它来恢复您的 IIS 服务器。为了将来参考,使用 Windows 本机工具生成认证请求会更容易。这样,私钥已经在 Windows 商店中,您需要做的就是导入返回的证书,可能是中间 CA(如果 GoDaddy 已更改它)并将证书绑定到 IIS。