[英]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.