相关文章推荐
大鼻子的煎鸡蛋  ·  如何:使用 LINQ ...·  3 天前    · 
大气的香槟  ·  如何检测CSS flex ...·  8 月前    · 
开朗的熊猫  ·  .NET Core ...·  1 年前    · 
善良的勺子  ·  oracle分组汇总求和-掘金·  1 年前    · 

本文可帮助你解决安装 Microsoft Visual Studio 2015 Update 3 后出现的不受信任证书的警告。

原始产品版本: Visual Studio 2015
原始 KB 编号: 3180222

你已使用 Visual Studio 2015、Update 1 或 Update 2 的发布版本,通过 Hypertext 传输协议安全 (HTTPS) 开发 Web 应用程序。 但是,安装 Visual Studio 2015 Update 3 后,将开始收到有关不受信任证书的警告。

在初始安装 Visual Studio 期间,Internet Information Services (IIS) 如果尚不存在证书,Express 会将自签名证书安装到 Certificates (Local Computer)\Personal\Certificates 文件夹中。 首次调试使用安全套接字层 (SSL) 的 Web 应用程序时,系统会提示你将此证书安装到文件夹中 Certificates - Current User\Trusted Root Certification Authorities\Certificates

在升级到 Visual Studio 2015 Update 3 期间,IIS Express将新的 SHA256 自签名证书安装到文件夹中 Certificates (Local Computer)\Personal\Certificates 。 但是,由于文件夹中 Certificates - Current User\Trusted Root Certification Authorities\Certificates 已安装证书,Visual Studio 无法提示你将新的 SHA256 证书安装到文件夹中 Certificates - Current User\Trusted Root Certification Authorities\Certificates

方法 1:使用 PowerShell 脚本

这是首选方法。

  • 在 Windows PowerShell 集成脚本环境 (ISE) 中运行以下脚本:

    ipmo PKI
    $name = [GUID]::NewGuid()
    $cerFile = "$env:TEMP\$name.cer"
    $certs = Get-ChildItem Cert:\LocalMachine\My -DnsName localhost -SSLServerAuthentication |
    ? {($_.FriendlyName -eq 'IIS Express Development Certificate') -and
    ($_.SignatureAlgorithm.FriendlyName -ieq 'sha256RSA') -and
    ($_.EnhancedKeyUsageList.Count -eq 1)}
    if ($certs.Count -eq 0)
        Write-Error 'Cannot find any SHA256 certificate generated by IIS Express.
        Please make sure that the latest version of IIS Express is installed.'
        foreach ($cert in $certs)
            Export-Certificate -Cert $cert.PSPath -FilePath $cerFile -Type CERT | Out-Null
            Import-Certificate -FilePath $cerFile -CertStoreLocation Cert:\CurrentUser\Root | Out-Null
            Remove-Item $cerFile -Force
        Write-Host 'Successfully installed the certificate to
        Trusted Root Certification Authorities of the current user.'
    
  • 收到以下警告时,单击 “是 ”:

  • 脚本完成运行后,应在 PowerShell ISE 命令窗口中看到以下消息:

    将证书成功安装到当前用户的受信任根证书颁发机构。

    方法 2:将计算机配置为信任IIS Express证书

  • 单击 “开始”,键入 “运行”,然后按 Enter,打开 Microsoft 管理控制台。 在 “运行 ”对话框中,键入 mmc,然后单击 “确定”。

  • 添加管理单元以管理本地计算机的证书。 为此,请按照下列步骤操作:

  • “文件”菜单上,单击“添加/删除管理单元”

  • “添加或删除管理单元 ”对话框中,选择 “证书”,然后单击 “添加”。

  • “证书管理 单元”对话框中,选择 “计算机帐户”,然后单击 “下一步”。

  • 在“ 选择计算机 ”对话框中,选择 “本地计算机”,然后单击 “完成”。

  • “添加或删除管理单元”对话框中,再次选择“证书”,这次在“证书管理单元”对话框中选择“我的用户帐户”。

  • 将导出的证书导入到以下位置:
    Certificates - Current User\Trusted Root Certification Authorities\Certificates

    为此,请按照下列步骤操作:

  • 导航到 Certificates - Current User\Trusted Root Certification Authorities\Certificates 文件夹,然后单击 “操作”,指向 “所有任务”,然后单击“ 导入”。

  • 在“证书导入向导”中,浏览到 (受信任的根证书颁发机构) 导出的证书,然后选择 “将所有证书放在以下存储中”。

  • 单击 “下一步”,验证是否选择了正确的证书,然后单击 “完成”。

  •