Мы ввели несколько страниц .NET в приложение Classic ASP.Когда пользователь переходит на одну из страниц .NET, мы используем HttpWebRequest для получения значений переменных сеанса со стороны ASP, отправляя запрос на страницу Class ASP с именем переменной сеанса, которую мы хотим.Этот подход работает, за исключением следующей ситуации.
На наших производственных серверах наши ИТ-специалисты отключили алгоритмы слабого шифрования с некоторым взломом реестра.Мы хотим заставить 128 против 128 (или так мне говорят люди, которые знают о безопасности больше, чем я).Однако это приводит к тому, что наш запрос на совместное использование сеанса прерывается со следующей ошибкой:
The request was aborted: Could not create SSL/TLS secure channel
Мы включили ведение журнала трассировки, как описано в этой статье .Соответствующие строки выглядят так:
System.Net Information: 0 : [3892] InitializeSecurityContext(credential = System.Net.SafeFreeCredential_SECURITY, context = 1b6acdd0:171a28, targetName = secure.xxx.com, inFlags = ReplayDetect, SequenceDetect, Confidentiality, AllocateMemory, InitManualCredValidation)
System.Net Information: 0 : [3892] InitializeSecurityContext(In-Buffers count=2, Out-Buffer length=0, returned code=AlgorithmMismatch).
System.Net.Sockets Verbose: 0 : [3892] Socket#18136189::Dispose()
System.Net Error: 0 : [3892] Exception in the HttpWebRequest#51004322:: - The request was aborted: Could not create SSL/TLS secure channel.
System.Net Error: 0 : [3892] Exception in the HttpWebRequest#51004322::GetResponse - The request was aborted: Could not create SSL/TLS secure channel.
Единственный самородок, который я могу получить из этой информации, - это проблема AlgorithmMismatch , но я не уверен, что делать сэто.
Одна вещь, о которой я читал, но мы не пробовали, - это добавление следующего кода, прежде чем мы сделаем запрос.Кажется ли, что такое простое изменение может решить эту проблему AlgorithmMismatch ?
ServicePointManager.SecurityProtocol = SecurityProtocolType.Ssl3