Я пытаюсь создать своего рода менеджер Push, клиентская сторона, который будет слушать то, что сервер должен сказать.Сертификат WebSocket на Mono (Mac, C#)
Ничего сложного ... Я написал его на ПК, благодаря WebSocket4Net, на C#, и он отлично работает.
Но вот проблема ...: мое приложение также должно работать на Mac, используя тот же код. Я использую Mono, очевидно, и работает библиотека WebSocket4Net. К сожалению, каждый раз, когда я пытаюсь открыть сокет, у меня есть хороший «RemoteCertificateNotAvailable
», а затем «Invalid certificate received from server
».
Вот что я пытался, следуя некоторым советам из Интернета:
webSocket.AllowUntrustedCertificate = true;
System.Net.ServicePointManager.ServerCertificateValidationCallback = callbackValidation;
код является основным и выглядит так, как на веб-сайте Lib: https://websocket4net.codeplex.com
Я DON» я знаю, почему эти решения не работают. Другие сообщения говорят, что это должно работать, и я понятия не имею, почему этого не происходит.
МОЖНО работать, добавив доверенные сертификаты в моно (mozroots --import --sync) или с помощью certmgr или что-то в этом роде. Но я не хочу этого решения, так как он должен работать на любом другом компьютере, кроме моего, ничего не устанавливая. Я могу принять запуск некоторой команды в моем приложении, которая установит некоторые сертификаты ... Предположим, меня интересуют эти решения. Но я предпочел бы найти решение, подразумевающее некоторые строки кода C#.
Итак ... Кто-нибудь есть идея о том, как обойти эту проблему?