Не удается подключиться к серверу сокетов из internet explorer.
В настоящее время я реализовал один защищенный сервер с помощью TCPListener и пытаюсь подключиться к нему из клиента, который является приложением Javascript через браузер. Я пытаюсь общаться с помощью SSLStream, и правильный сертификат предоставляется следующим способом.
private static X509Certificate2 GetServerCert() { X509Store store = new X509Store(StoreName.My, StoreLocation.LocalMachine); store.Open(OpenFlags.ReadOnly); X509Certificate2Collection cert = store.Certificates.Find(X509FindType.FindByThumbprint, "XXXXXX- THUMBPRINT_OF_CERTIFICATE_HERE- XXXXXXX", true); return cert[0]; }
Теперь, когда я подключаюсь к этому серверу с помощью "wss: / / ipaddress:port", рукопожатие и передача данных работают хорошо, если клиент работает из браузера Chrome, но когда я подключаюсь к нему из Internet explorer, клиент подключается к серверу, но никакие данные не принимаются с помощью SSLStream, т. е. нулевые байты из SSLStream, и снова автоматически отключается от сервера. Пожалуйста, дайте мне знать, есть ли какие-либо конкретные настройки браузера для подключения к TCPListener для запросов wss.
Версия Internet Explorer: 11.0.9600.18738 (не работает)
Версия Chrome: 61.0.3163.100 (официальная сборка) (64-битная) (рабочая)
Используемый сертификат добавляется в доверенное хранилище сертификатов.
Даже если он работает из Chrome, есть еще один вопрос, он всегда получает два запроса на один клик от клиента. При первом попадании он получает пустой заголовок, а затем автоматически при втором попадании он получает полный заголовок.
Что я уже пробовал:
Небезопасные запросы от одного и того же клиентского приложения правильно работают с сервером TCPListener из обоих браузеров(Internet Explorer и Chrome).
"ws: / / ipaddress: port"