【问题标题】:ASP.NET Core + IIS Express how to setup SSL CertificateASP.NET Core + IIS Express 如何设置 SSL 证书
【发布时间】:2016-08-11 11:14:10
【问题描述】:

我们在本地的 IIS Express 上运行带有 ASP.NET Core 的 Web API。我们正在使用在 hosts 文件中配置的自定义域名。

这很好用,但我们必须不时在 Chrome 中手动信任该站点,因此我们希望设置 IIS Express 以使用我们的 SSL 证书。

IIS Express 在launchSettings.json 中配置:

"iisExpress": {
  "applicationUrl": "http://applocal.ourdomain.com:5000",
  "sslPort": 44300
}

我们如何配置 IIS Express 以使用我们的 SSL 证书?

【问题讨论】:

  • 很可能,它使用的是 localhost 证书,而不是为您的实际假域名创建的证书

标签: c# asp.net ssl asp.net-core iis-express


【解决方案1】:

在机器上安装证书,然后在cmd中运行:

"C:\Program Files (x86)\IIS Express\IisExpressAdminCmd.exe" setupSslUrl -url:https://my.domain.name:<port> -CertHash:<Certificate thumbprint>

【讨论】:

    【解决方案2】:

    首先制作一个替换主机名的新证书,确保它是在本地机器上制作的。

    Powershell: New-SelfSignedCertificate -NotBefore (Get-Date) -NotAfter (Get-Date).AddYears(1) -Subject "YOUR.DOMAIN.NAME" -KeyAlgorithm "RSA" -KeyLength 2048 -HashAlgorithm "SHA256" -CertStoreLocation "Cert:\LocalMachine\My" -KeyUsage KeyEncipherment -FriendlyName "HTTPS PROJECTNAME development certificate" -TextExtension @("2.5.29.19={critical}{text}","2.5.29.37={critical}{text}1.3.6.1.5.5.7.3.1","2.5.29.17={critical}{text}DNS=YOUR.DOMAIN.NAME")

    现在我们需要将其复制到本地机器的可信证书中: 打开“mmc” 为本地机器(非个人用户)的证书管理器添加管理单元 找到证书并将其复制到“受信任的根证书颁发机构”

    打开证书并复制“指纹”详细信息。

    接下来你需要告诉 IIS 使用这个证书。 打开管理员 cmd 提示符并导航到位于 C:\Program Files (x86)\IIS Express 的 IIS express 文件夹,然后运行:

    IisExpressAdminCmd.exe setupSslUrl -url:https://YOUR.DOMAIN.NAME:PORTNUMBER -CertHash:THUMBPRINT

    感谢: https://improveandrepeat.com/2020/05/how-to-change-the-https-certificate-in-iis-express/
    https://www.sonicwall.com/support/knowledge-base/how-can-i-import-certificates-into-the-ms-windows-local-machine-certificate-store/170504615105398/
    https://stackoverflow.com/a/38953547/1079267
    https://devblogs.microsoft.com/aspnet/configuring-https-in-asp-net-core-across-different-platforms/

    【讨论】:

      【解决方案3】:

      Jexus Manager 为您提供添加服务器证书和更改站点绑定的用户界面。

      http://jexusmanager.com

      【讨论】:

      • 谢谢,似乎是一个不错的程序,但我的 .NET Core 应用程序没有显示。可能还不支持?
      • @fiskeboss 你需要运行这个项目至少一次,这样 VS 才能生成 applicationHost.config 文件。然后您可以将解决方案作为新服务器添加到 Jexus Manager,jexus.lextudio.com/en/latest/getting-started/…
      【解决方案4】:

      您应该将此证书导入运行此应用程序的每台计算机上的受信任的根证书颁发机构。最简单的方法是直接从浏览器打开此证书。不确定 Chrome 和 Firefox,但它肯定适用于 IE。

      【讨论】:

      • 问题是 IIS Express 使用 localhost 证书启动应用程序。我想将其配置为使用我自己的证书。信任 localhost-cert 无济于事,因为我正在使用自定义主机名运行。
      • 这是我找到的。希望这有助于lansweeper.com/kb/54/How-to-configure-SSL-in-IIS-Express.html
      • @vzayko 链接信息特定于配置“Lansweeper”。它没有推广到 IIS 的其他用例。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-11-30
      • 2017-08-08
      • 1970-01-01
      • 2017-10-31
      • 1970-01-01
      • 2017-09-26
      相关资源
      最近更新 更多