繁体   English   中英

Mono上的WebSocket证书(Mac,C#)

[英]WebSocket Certificate on Mono (Mac, C#)

我正在尝试创建某种推送管理器(客户端),它将听服务器所说的话。

没什么难的...感谢WebSocket4Net,在C#上,我已经在PC端编写了它,并且效果很好。

但这是问题所在...:我的应用程序也必须在Mac上使用相同的代码运行。 我显然使用Mono,并且WebSocket4Net lib有效。 不幸的是,每次尝试打开套接字时,我都会看到一个漂亮的“ RemoteCertificateNotAvailable ”,然后是一个“ Invalid certificate received from server ”。

以下是我在网上的一些建议下尝试的方法:

webSocket.AllowUntrustedCertificate = true;
System.Net.ServicePointManager.ServerCertificateValidationCallback = callbackValidation;

该代码是基本代码,看起来像lib网站上的代码: https : //websocket4net.codeplex.com

我不知道为什么这些解决方案不起作用。 其他帖子说这应该工作,我不知道为什么它不在这里。

它可以通过将受信任的证书手动添加到Mono(mozroots --import --sync)或使用certmgr或类似方法来工作。 但是我不想要这种解决方案,因为它需要在我的计算机以外的任何其他计算机上工作,而无需安装任何工具。 我可以接受在我的应用程序中运行一些将安装一些证书的命令...假设我对这些解决方案感兴趣。 但是我宁愿找到一个暗示一些C#代码行的解决方案。

那么...有人绕过这个问题有想法吗?

好的,WebSocket4Net库的创建者实际上在8月对此进行了修复。 System.Net.ServicePointManager.ServerCertificateValidationCallback现在可以使用。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM