Не могли бы вы дать мне несколько общих советов по .NET и TLS 1.2 - PullRequest
0 голосов
/ 28 сентября 2018

Я искал другие ответы, и решение, которое работало для меня, заключалось в том, чтобы вставить

System.Net.ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12;

перед вызовом служб, которые не удалось.

Однако у меня остались эти вопросы.

  1. Изменяет ли это только протокол по умолчанию для этого конкретного приложения?
  2. Поскольку большинство (все?) Служб теперь требуют обновления, почему обновление Windows не изменилосьпо умолчанию?
  3. Почему библиотеки, предоставляемые разработчиками сервисов, не включили это в свой код, поскольку сервис требует этого?
  4. Мне потребовалось много времени, чтобы найти источникмоя проблема, так как сообщения об ошибках из моего приложения - из кода Microsoft - дали только очень общую ошибку.Что я должен был прочитать, чтобы сказать мне, что обновление до TLS 1.2 не было чем-то обеспеченным обновлением Windows?Я потратил много времени, думая, что это проблема с брандмауэром ....
  5. Так что лучший совет - включать код выше при запуске каждого из моих приложений (на всякий случай !!)?

Ответы [ 2 ]

0 голосов
/ 28 сентября 2018

Изменяет ли это только протокол по умолчанию для этого конкретного приложения?

Правильно.

Поскольку для большинства (всех?) Сервисов теперь требуетсяобновить, почему обновление Windows не изменило значение по умолчанию?

Это технически серьезное изменение, поэтому выбор старых версий Frameworks в новую конфигурацию TLS не был сделан через Центр обновления Windows.Вместо этого это делается в версии фреймворка.

В некоторых случаях может произойти сбой, когда сервер, поддерживающий TLS 1.0, будет некорректно обрабатывать клиента, который предлагает TLS 1.2, даже если сервер может согласовать 1.0.

Руководство TLS от Microsoft рекомендует различные способы обработки версий каркасов.

Почему библиотеки, предоставляемые разработчиками сервисов, не включили это в свой код,поскольку служба требует этого?

TLS в .NET Framework также зависит от версии Windows.Клиентская библиотека не может разумно форсировать определенную версию TLS, если она также не поставила свою собственную реализацию TLS.

Что я должен был прочитать, чтобы сказать мне, что обновление до TLS 1.2 не было чем-то, предоставленнымобновление для Windows

К сожалению, упомянутое выше руководство полезно для понимания проблемы и различных способов ее устранения.Надеемся, что в будущем ошибки и конфигурация станут более понятными.

0 голосов
/ 28 сентября 2018

TLS 1.2 - это протокол по умолчанию в .NET Framework 4.6.2 и более поздних версиях.

Если вы убедитесь, что ваше приложение работает с целевой платформой 4.6.2 или более поздней, тогда не нужно включатьэта строка кода.

Когда я столкнулся с этой проблемой, я также должен был убедиться, что узел <httpRuntime> в Web.config явно указывает целевую платформу (например, <httpRuntime targetFramework="4.6.2" />)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...