在 Windows 7 上使用 powershell 将自签名证书添加到受信任的证书列表中

在 Windows 7 上使用 powershell 将自签名证书添加到受信任的证书列表中

我在 Windows 7 上创建了一个自签名证书,并使用该证书部署了一个网站,只是为了尝试一下。

当我配置 HTTPS 端点并使用 HTTPS 协议访问网站时,我得到了“不是受信任的证书”错误正如预期。

然后我尝试使用以下 PowerShell 代码使该证书成为我的机器上受信任的证书:

$cert = (get-item cert:\CurrentUser\MY\1D5B3DEF207B70C7426953315A8C06EB38E50FAA)
$store = get-item cert:\LocalMachine\Root
$store.Open("ReadWrite")
$store.Add($cert)
$store.Close()

它不起作用,我仍然收到相同的错误。然后,我将其从受信任的证书列表中删除,并再次尝试使用以下代码:

$cert = New-Object System.Security.Cryptography.X509Certificates.X509Certificate2("c:\certs\foo2.foo.cc.cer")
$store = get-item cert:\LocalMachine\Root
$store.Open("ReadWrite")
$store.Add($cert)
$store.Close()

那也没用。我遗漏了什么?

答案1

您的代码看起来不错,我假设您也没有遇到任何错误。需要检查以下几点:

  • 打开证书 MMC 并确保您的证书已被添加。
  • 检查证书的通用名称和主题备用名称。您在浏览器中输入的 URL 的域名必须匹配一个。
  • 确保证书有效期未过去。
  • 确保您使用的 Web 客户端使用 Windows 信任存储。Firefox 有自己的信任存储。
  • 将浏览器中的证书 SHA1 哈希与您正在安装的证书 SHA1 哈希进行比较,以确保其正确无误。

相关内容