我有一个 .PFX 文件,想用它来更新 IIS 中现有的 SSL 证书。
我可以使用导入命令。这会提示我输入 PFX 文件和密码。这正是我想要的,只不过它会创建一个新证书而不是更新现有证书。
所以我尝试了 Renew 命令。但是这个命令给出了一个完全不同的对话框,最终提示我输入 CER 文件。
我没有 CER 文件。我有一个 PFX 文件。有没有办法获取执行更新而不是创建的导入对话框?
答案1
由于 SSL 证书没有更新,它们会被新证书替换,通常与现有证书一起替换,然后使用该证书的服务会进行更新以使用新证书。
这就是为什么系统运行一段时间后,您经常会发现同一个地址有多个证书。这也是为什么在手动完成时,最好给证书命名,以确保其除了受保护的地址之外还具有唯一性,例如包括日期/年份,这样您就可以轻松看到哪一个是最新的。
一旦更新,您当然可以返回并删除旧的,但系统不会自动执行此操作,因为很可能不同的系统同时使用 mydomain.com-2023 和 mydomain.com-2022。
同样,使用 Certifytheweb 等自动系统自动更新和安装 Lets Encrypt Auto SSL 证书,您会发现您不仅列出了当前使用的证书,还列出了几个旧证书。虽然我记得一段时间后会自动删除一些旧证书。这也允许您的两个证书在开始和结束日期方面重叠。
答案2
“更新”过程会创建一个 CSR 文件,通常与 certreq.exe 和 inf 文件一起使用。CSR 被传输到颁发 CA,颁发 CA 处理请求并返回生成的 CER 文件。然后“导入”CER 文件在请求机器上,从而完成履行流程。从技术上讲,这是更安全的方式,因为只有请求者才能创建已履行的证书,该证书稍后可能会显示为 PFX 容器文件。
某些产品(包括某些 Windows 组件)在导入替换现有证书的证书后会将证书标记为“已存档”。
Certreq.exe 也可用于在任何端点上执行所有这些操作。但随后将带有私钥的证书具体化为 PFX,然后可以将其复制到其他系统或多个系统并保存/托管。