使用具有 HTTPS (SSL) 的嵌入式 (OWIN) Web 服务器分发应用程序

本文关键字:Web OWIN 服务器 应用程序 嵌入式 HTTPS SSL | 更新日期: 2023-09-27 17:56:10

我们开发了一个.NET 4.5应用程序,它在本地主机上运行嵌入式(OWIN)Web服务器。

它的某些功能要求我们从互联网上的公共网站向该网络服务器发出 AJAX 请求。问题是该站点使用HTTPS。Chrome 现在抱怨加载了不安全的内容(这是正确的)。

为了解决这个问题,我们需要让我们的嵌入式网络服务器使用SSL,这样就不会有HTTPS-HTTP流量。网上有很多创建自签名证书并将其绑定到端口的示例,但我们的应用程序也需要分发。

是否有可能(以及如何)为本地主机 (OWIN) 创建实际上可再发行的自签名证书?

我知道这意味着连接不受信任,因为它未经 SSL 颁发机构验证,但我们只是尝试使用它,以便本地主机和公共网站之间没有跨协议通信。

使用具有 HTTPS (SSL) 的嵌入式 (OWIN) Web 服务器分发应用程序

我们最终解决了这个问题;

我们正在使用 SignalR,并在客户端上分发/安装专门为此目的购买的证书。因此,我们的安装程序会同时安装应用程序和证书,并将其绑定到 OWIN 服务器。我们通过此博客获得了有关如何执行此操作的大部分信息:

https://weblog.west-wind.com/posts/2013/Sep/23/Hosting-SignalR-under-SSLhttps

它包含有关如何使其工作的详细分步说明。

编辑:

使用

netsh 命令将证书绑定到端口。我们使用InnoSetup为我们执行此操作。有关如何执行此操作的信息,请点击此处。

请注意,我们使用单个证书,该命令需要证书密钥才能绑定它。这可能是使用多个(不同)证书的问题,我不确定是否可以从证书中提取密钥以动态发出不同证书的命令。对于单个证书,我们只有一个密钥,并且是硬编码的。

也许可以提取密钥,这是一些在这方面可能会有所帮助的信息。