如何为 Rider 或 Visual Studio 解决方案的 .NET Core 应用程序配置自定义证书和密钥?

How to configure a custom cert and key for a .NET Core application for Rider or Visual Studio solution?

Visual Studio 2019 和 Jetbrains Rider .NET Core(可能还有其他)项目在系统上注册了一个“localhost”根证书,然后在启动和调试 .NET Core 应用程序时,它们 运行 Web 服务使用针对该本地主机根证书进行验证的证书和密钥。

我有自己的根证书,想 运行 在自定义域 lan.company.com 下,它也有自己的自定义证书和密钥。如何配置项目或 IDE 以在提供应用程序时使用特定的证书和密钥?

最简单明了的解决方案是在项目的appsettings.json中添加以下内容:

"Kestrel": {
  "Endpoints": {
    "HttpsFromPem": {
      "Url": "https://lan.company.com:5001",
      "Certificate": {
        "Path": "./certs/lan.company.com.crt",
        "KeyPath": "./certs/lan.company.com.key"
      }
    }
  }
}

然后修改launchSettings.jsonapplicationUrl:"applicationUrl": "https://lan.company.com:5001"

这一切都假定您已经拥有受信任的根证书以及自定义域证书和密钥。