У меня есть приложение Xamarin.Forms, которое взаимодействует с концентратором SignalR. Для связи используется мой собственный SSL-сертификат, которому, однако, не доверяют. Нет проблем с обработкой недоверенных сертификатов на Android и iOS с использованием интерфейса ICertificatePolicy
и реализации ServicePointManager.ServerCertificateValidationCallback
. Однако я не могу найти разумную альтернативу для Windows 8.1, Windows Phone 8.1 и универсального приложения Windows 10.
Существует ли альтернатива? Неважно, если это зависит от платформы, я могу использовать Xamarin DependencyService
. Однако это должно инициировать событие передачи сертификата, чтобы я мог спросить пользователя, принимает ли он конкретный сертификат.
ОБНОВЛЕНИЕ
Как я только что узнал, метод ICertificatePolicy вообще не вызывается, остается актуальным только метод ServicePointManager.ServerCertificateValidationCallback (для iOS и Android). Есть ли альтернатива этому классу в Windows Phone 8.1 и универсальном приложении Windows 10?
ОБНОВЛЕНИЕ 2
Я пробовал следовать этого руководства, включив самозаверяющий сертификат в приложение Windows 10 и написав код, представленный в Windows Phone 8.1. Не сработало.
Затем я попытался реализовать это обходное решение. Даже это не сработало.
Моя последняя попытка состояла в том, чтобы создать доверенный сертификат SSL после это руководство, но даже после точного выполнения шагов я получил ненадежный сертификат. И, конечно же, мне не удалось подключиться ни с Windows 10, ни с Windows Phone 8.1.
Кажется, единственный оставшийся вариант — использовать HttpBaseProtocolFilter
, как описано в этом ответе, но я не знаю, как это реализовать в клиенте SignalR.
Существует ли функциональное решение?