我对.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
运行时环境即可运行应用程序。
运行该应用程序可能需要哪些初始配置设置?
答案 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
}
}
}
}
}