.NET为应用程序配置服务器证书

时间:2019-11-29 14:01:27

标签: c# .net https

我对.NET完全陌生,遇到一个与代理应用程序有关的问题。 其IoT代理应用程序将被部署并运行Windows和Linux系统。

该应用程序是基于Web服务的应用程序,并使用HTTPS证书来启用客户端和代理之间的安全通信。当我尝试在其中一个系统上运行该应用程序时,出现错误

System.InvalidOperationException: Unable to configure HTTPS endpoint. No server certificate was specified, and the default developer certificate could not be found.

浏览了大多数文章之后,我发现我们需要在系统上下载并安装'dotnet'运行时并在以下命令下运行

dotnet dev-certs https
dotnet dev-certs https --check

但是,对于开发环境,可以运行这些命令。我正在寻找一种解决方案,无需下载和安装dotnet运行时环境即可运行应用程序。

运行该应用程序可能需要哪些初始配置设置?

2 个答案:

答案 0 :(得分:0)

这不是您缺少的运行时(您将无法执行应用程序并获取异常)。您缺少服务器的有效证书。

在开发计算机上,您将发出命令

 dotnet dev-certs https --trust

安装受信任的自签名证书。在生产服务器上,您必须从证书服务器安装证书,或者从受信任的证书颁发机构公开访问证书。

答案 1 :(得分:0)

最后,能够在具有PFX证书的Windows 7和Windows 10计算机上运行应用程序。

您需要生成证书。您可以点击下面的链接来生成证书。

https://www.sslsupportdesk.com/export-ssl-certificate-private-key-pfx-using-mmc-windows/

需要在JSON文件中配置Kestrel设置。以下是使用证书的可能的JSON配置

{
  "Kestrel": {
    "Endpoints": {
      "Https": {
        "Url": "https://localhost:9448",
        "Certificate": {
          "Path": "path/to/certificate/file/your-cert.pfx",
          "Password": "PwdOfCert",
          "AllowInvalid": true
        }
      }
    }
  }
}