У меня есть приложение для форм Windows, которое развертывается через клик один раз.Приложение было создано с использованием .net 4.7.2 и использует HttpClient API для доступа к паре остальных веб-сервисов, которые размещены на внутреннем сервере.Как и следовало ожидать, доступ к сервисам возможен только через HTTPS, а сервер настроен на поддержку всех версий TLS (кстати, это сервер Windows 2016).
Клиентское приложение интрасети (т. Е. Формы Windows).приложение) развернуто в нескольких внутренних подсетях, и все работает хорошо, за исключением одного ПК (который принадлежит определенной подсети - это единственный ПК, который использует это конкретное приложение).Этот ПК сможет использовать службы только в том случае, если HttpClient настроен на использование TLS 1.1 .
Поскольку мы используем внутренние сертификаты (у нас есть внутренний центр сертификации для нашей AD), я уже проверил, и сертификат с открытым ключом объекта уже присутствует в контейнере доверенных центров сертификациикомпьютер, на котором безопасный сеанс не может быть установлен через TLS 1.2.
ПК работает под управлением Windows 10 Pro (последняя версия), поэтому он должен поддерживать TLS 1.2.Я пытался эмулировать запросы от Fiddler, и правда в том, что я получу результаты только тогда, когда я настрою для использования TLS 1.1.
Без установки протокола на TLS 1.1,Я вижу, что Фиддлер говорит, что рукопожатие не установлено, и служба никогда не "выполняется".
Теперь, согласно тому, что я прочитал, у меня не должно было быть никаких проблем скод.На самом деле, мне не нужно указывать версию TLS (похоже, что Windows 10 Pro имеет встроенную поддержку TLS 1.2, и это должно быть по умолчанию для Windows 10. Поскольку я использую .NET 4.7.2,он должен автоматически использовать системный протокол по умолчанию), но правда в том, что только использование tls 1.1 (не tls 1.2!) позволяет установить безопасный канал.
Я пытался запустить код на других машинахи все работает, как и ожидалось (я могу установить безопасный канал с tls 1.1 или tls 1.2 или даже позволить ему использовать системный протокол по умолчанию).
Поскольку я не являюсь сетевым парнем, может кто-нибудь указать мнев правильном направлении?Ребята, вы думаете, это может быть вызвано брандмауэром?Есть идеи?
Я имею в виду, похоже, что ПК распознает сертификат, используемый в сеансе HTTPS (если бы это было не так, я бы не смог использовать TLS 1.1, верно?), Но похоже, чточто-то мешает мне использовать TLS 1.2 ...
Спасибо.Луис