#.net #ssl #tls1.2
#.net #ssl #tls1.2
Вопрос:
У меня есть настольное приложение, которое использует веб-службы (SharePoint).
Поскольку я обновил TLS до 1.2, я получаю эту ошибку:
System.Net.WebException: The request was aborted: Could not create SSL/TLS secure channel.
Код не устанавливает протокол программно, но это довольно старый код, поэтому я подозреваю, что он использует 1.1.
Я знаю, что могу изменить это в коде, но прежде чем я это сделаю, я хотел спросить: есть ли какой-либо способ установить версию протокола в app.config и таким образом избежать изменения кода?
Ниже приведен стек вызовов, если это может помочь:
Заранее спасибо.
System.Net.WebException: The request was aborted: Could not create SSL/TLS secure channel.
at System.Web.Services.Protocols.WebClientProtocol.GetWebResponse(WebRequest request)
at System.Web.Services.Protocols.HttpWebClientProtocol.GetWebResponse(WebRequest request)
at System.Web.Services.Protocols.SoapHttpClientProtocol.Invoke(String methodName, Object[] parameters)
Некоторые сведения о режиме:
К сожалению, я знаю, что именно было сделано, обновление было выполнено кем-то другим, то же самое для версии .NET, которую я не знаю, 3.5 или более поздней.
Я спрашиваю, можно ли настроить параметр, показанный ниже, в app.config, чтобы мне не нужно было повторно компилировать в application:
System.Net.ServicePointManager.SecurityProtocol = System.Net.SecurityProtocolType.Tls12
Надеюсь, это имеет смысл?
Комментарии:
1. Поскольку я обновил TLS до 1.2 , можете ли вы уточнить (например, запускали ли вы программу установки или делали что-то вручную)? Кроме того, какая это версия .NET?
2. Привет, Джон, спасибо за ответ, я добавил еще несколько деталей к сообщению.
3. learn.microsoft.com/en-us/dotnet/framework/network-programming/… Microsoft задокументировала все. Кстати, никогда не угадаешь, что произошло. Используйте такой инструмент, как Wireshark, для анализа рукопожатий TLS, и тогда детали должны быть для вас очевидны.
4. TLS не поддерживается в .NET 3.5, и обходного пути нет. Итак, я думаю, вы застряли при перекомпиляции. Эта ссылка может помочь.
5. Спасибо вам обоим за ваши ответы: «Я думаю, вы застряли при перекомпиляции» — это правильный путь. Попробовать стоило.