自托管SignalR跨平台SSL/TLS

本文关键字:SSL TLS 跨平台 SignalR | 更新日期: 2023-09-27 18:23:46

我在C#/.Net4.5中创建了一个应用程序,它在localhost上自托管SignalR,在Windows和Mac OSX上运行良好。现在我需要将SSL/TLS添加到SignalR中,但找不到如何以跨平台方式实现这一点的示例。对于windows,有几个使用netsh的例子,但对于Mac OS X(或Linux,但这是次要的)没有。

所以我的问题是:

  • 有没有一种方法可以设置SignalR在Windows和Mac OS X上使用SSL证书?(例如,使用.Net或Mono类)
  • 如果没有,我如何在Mac OS X上做到这一点
  • 其次,是否可以在没有管理权限的情况下进行?(我可以使用任何端口,而不仅仅是80或423)

我已经知道如何创建自签名证书和根CA,以及如何将它们添加到存储中。

至于我使用的:

  • 信号R 2.2.0
  • Owin 3.0.1
  • .Net 4.5

我现在如何创建SignalR:

string urlSignalR = "http://localhost:63000";
var SignalRServer = WebApp.Start(urlSignalR, SignalRStartup);
private void SignalRStartup(IAppBuilder app)
{
    app.UseCors(CorsOptions.AllowAll);
    app.MapSignalR();
}

自托管SignalR跨平台SSL/TLS

Mono有一个名为httpcfg、的命令行实用程序

http://manpages.ubuntu.com/manpages/gutsy/en/man1/httpcfg.1.html