Сведения о платформе: C #, .Net Core 2.0, WS 2016, IIS и Kestrel в обратном прокси
Мое веб-приложение должно использовать HTTPS и TLS 1.2. Он уже работал нормально с SSL, но этого недостаточно. В Интернете я нашел подробную информацию о правках реестра, необходимых для TLS 1.2 по умолчанию на моем веб-сервере, и внес эти изменения. После этих изменений реестра мой оригинальный код все еще работал. Чтобы принудительно использовать TLS1.2, я добавил следующее в свой UseKestrel () в методе buildwebhost.
options =>
{
options.Listen(System.Net.IPAddress.Loopback, 443, listenOptions =>
{
listenOptions.UseHttps(new HttpsConnectionAdapterOptions { SslProtocols = SslProtocols.Tls12 });
}
}))
Сейчас сайт выкидывает 502,5. IIS настроен с использованием исходного сертификата, а сайт привязан к порту 443. Мне сказали, что сам сертификат одинаков между SSL и TLS, поэтому мне не нужно получать другой. Когда я пытаюсь отладить код с локального хоста, мой VS возвращает ошибку, говорящую
System.ArgumentException: 'Требуется параметр сертификата сервера.'
Я нашел детали объекта "X509Certificate2" и некоторые другие реализации, в которых автор использует метод загрузки для потоковой передачи этого сертификата из местоположения на сервере, но я не знаю, нужно ли это здесь.