Cra*_* W. 5 ssl httpwebrequest webexception
我们在Classic ASP应用程序中引入了一些.NET页面.当用户点击其中一个.NET页面时,我们使用HttpWebRequest通过将请求发送到具有我们想要的会话变量名称的类ASP页面来从ASP端获取会话变量值.除以下情况外,此方法有效.
在我们的生产服务器上,我们的IT人员通过一些注册表黑客攻击禁用了弱密码算法.我们想要强制128超过128(或者我告诉那些比我更了解安全性的人).但是,这会导致我们的会话共享请求中止并出现以下错误.
The request was aborted: Could not create SSL/TLS secure channel
Run Code Online (Sandbox Code Playgroud)
我们打开了跟踪日志记录,如本文所述.相关的线条似乎是这些.
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.
Run Code Online (Sandbox Code Playgroud)
我可以从这个信息中得到的唯一一个问题是问题是AlgorithmMismatch,但我不知道该怎么做.
我读过的一件事,但我们还没有尝试,是在我们提出请求之前添加以下代码.看起来这样一个简单的改变是否有可能解决这个AlgorithmMismatch?
ServicePointManager.SecurityProtocol = SecurityProtocolType.Ssl3
Run Code Online (Sandbox Code Playgroud)
我们终于弄清楚了。除了禁用弱密码之外,IT 人员还调整了一些其他设置。他们已将 HKLM\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\SSL 3.0\Client 的启用 (DWORD) 值设置为 0。这意味着机器无法生成 SSL 请求。将该键的启用从 0 更改为 1 可以让一切正常工作。
| 归档时间: |
|
| 查看次数: |
6903 次 |
| 最近记录: |