Не удается подключиться к HttpListener через TLS - PullRequest
0 голосов
/ 13 октября 2019

У меня HttpListener .exe запускается на локальном сервере в виртуальной машине,

  • , когда я подключаюсь с клиента через веб-браузер, он НЕ РАБОТАЕТ через TLS. (РЕСУРС НЕ НАЙДЕН)
  • когда я подключаюсь с клиента с помощью приложения dotnet (HttpWebRequest), он РАБОТАЕТ через TLS.
  • сертификаты настроены правильно, потому что я проверил их с размещенным на IIS веб-сайтом на том же сервере ВМ,И это прекрасно работает.

Код слушателя:


           String[] prefixes = { "https://+:8443/", "http://+:8480/" };

            // Create a listener.
            HttpListener listener = new HttpListener();
            // Add the prefixes.
            foreach (string s in prefixes)
            {
                listener.Prefixes.Add(s);
            }
            listener.Start();

            Console.WriteLine("Listening...");
            // Note: The GetContext method blocks while waiting for a request. 
            HttpListenerContext context = listener.GetContext();
            HttpListenerRequest request = context.Request;


            // Obtain a response object.
            HttpListenerResponse response = context.Response;

            // Construct a response.
            string responseString = "<HTML><BODY> Hello world SSL!</BODY></HTML>";
            byte[] buffer = System.Text.Encoding.UTF8.GetBytes(responseString);
            // Get a response stream and write the response to it.
            response.ContentLength64 = buffer.Length;
            System.IO.Stream output = response.OutputStream;
            output.Write(buffer, 0, buffer.Length);
            // You must close the output stream.
            output.Close();
            listener.Stop();
...