簡體   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