使用命令行将自签名证书添加到受信任的根证书存储

Joh*_*dep 8 iis ssl trusted-root-certificates

有没有办法使用命令行将证书添加到本地计算机的受信任根证书颁发机构?我尝试使用 certmgr.exe,它显示成功,但是当我检查根 CA 时,我在那里看不到我的证书。

我跟着这里的指南:

http://msdn.microsoft.com/en-us/library/ms172241.aspx
Run Code Online (Sandbox Code Playgroud)

基本上尝试这个命令:

certmgr.exe -add -c mycertificate.cer -s -r localMachine root
Run Code Online (Sandbox Code Playgroud)

该命令在命令行上运行并显示成功,但我无法通过 mmc 在实际受信任的根存储中看到证书,这是自签名证书的过程不同吗?我已经设置了一个带有 SSL 绑定的 IIS 服务器到这个最初放在“我的”商店中的证书。但是我通过自动脚本做所有事情,所以我想知道如何使用 cmd 行选项将此证书添加到受信任的根 CA 中?

tri*_*sse 2

您是否手动尝试过(通过双击 CER 文件)?如果即使手动也无法正常工作,您可能会遇到Vista 错误

从命令行 (cmd.exe) 安装根 CA 证书

(这需要 Windows SDK。Visual Studio 将为您安装它并将其添加到%PATH%.)

certmgr /add /c mycertificate.cer /s /r localMachine root

注意不会报错;该命令将始终返回成功(即使使用不存在的证书文件!)。如果运行此命令后证书未显示在证书管理器 ( certmgr.msc) 中,请使用以下手动步骤重复该过程,以检查证书文件中是否存在任何错误。

安装根 CA 证书的手动步骤

  1. 双击该.cer文件。
  2. “证书”对话框中,单击“安装证书”以启动“证书导入向导”
  3. 在欢迎页面上,单击下一步
  4. “证书存储”页面上,选择“将所有证书放入以下存储”,然后单击“浏览”
  5. “选择证书存储”对话框中,选择“显示物理存储”
  6. 双击“受信任的根证书颁发机构”,选择“本地计算机”,然后单击“确定”
  7. “证书存储”页面上,单击“下一步”
  8. 在摘要页面上,查看详细信息并单击完成

从 PowerShell 安装根 CA 证书

请参阅下面@harrymc 的精彩答案。