C# 如何使用System.Net.HttpListener在WebSocket中启用SSL
我在WindowsAzure上使用.NET4.5和HttpListener类(一个工作者角色)来创建自己的WebSocket服务器。对于HTTP非安全连接,它工作得非常好。问题是我需要使用SSL(wss://)保护WebSocket连接 我四处寻找,HttpListener类文档和互联网(即使在这里)都没有给我太多帮助 我发现httpcfg.exe应该可以帮助我配置证书,但没有帮助 这就是我的问题:C# 如何使用System.Net.HttpListener在WebSocket中启用SSL,c#,azure,websocket,.net-4.5,httplistener,C#,Azure,Websocket,.net 4.5,Httplistener,我在WindowsAzure上使用.NET4.5和HttpListener类(一个工作者角色)来创建自己的WebSocket服务器。对于HTTP非安全连接,它工作得非常好。问题是我需要使用SSL(wss://)保护WebSocket连接 我四处寻找,HttpListener类文档和互联网(即使在这里)都没有给我太多帮助 我发现httpcfg.exe应该可以帮助我配置证书,但没有帮助 这就是我的问题: 有没有办法从我的代码中启用它?比如从存储中读取证书并将其设置在HttpListener上 如果不
netsh http add sslcert ipport=IP:PORT certhash=YOU_CERT_HASH appid={GUID}
将IP和PORT更改为所需的IP地址和端口号,该地址和端口号可通过证书的指纹进行保护,并通过证书的指纹进行加密(证书应先上载到azure portal)和GUID,使用从任何GUID生成工具生成的GUID,如从Visual Studio生成的GUID(工具>创建GUID)
之后,只需设置HttpListener.Prefix.Add(“https://youIP:youPort/yourPath)
你应该表现得很好
像我一样,有些人会问如何让它在Windows Azure上运行。。。您可以在启动角色之前使用启动任务运行此命令,并根据需要设置HTTP.sys
有关如何使用启动任务的更多信息,请查看MSDN上的此文档;有关httpcfg或netsh的更多详细信息,请查看MSDN中的此其他文档