关于POODLE,现在在服务器上禁用SSLv3 客户端软件是在.NET 2.0中开发的,并提供TLSv1作为唯一选择。我有权访问并能够对客户端应用程序和服务器配置进行更改。
ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls;
用于强制所有HttpWebRequest.GetResponse()
次调用以使用TLSv1。
SslStream.AuthenicateAsClient()
与参数SslProtocols.Tls
一起使用,强制在安全证书检索期间使用TLSv1。
初始问题(described here)与收到关于TLS Alert
的{{1}}有关。
Wireshark在握手期间显示以下内容(AuthenicateAsClient):
Unrecognized name
客户端在此调用上抛出以下异常:
TLSv1 182 Client Hello
TLSv1 742 Alert (Level: Warning, Description: Unrecognized Name), Server Hello, Certificate, Server Hello Done
To correct this issue,修改了apache conf文件以包含正确的AuthenticateAsClient: System.IO.IOException: Unable to read data from the transport connection
---> System.Net.Sockets.SocketException: A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond
值。
现在我不再收到ServerName
警告,但我看到了另一个问题:
Wireshark在握手期间显示以下内容(AuthenicateAsClient):
Unrecognized name
客户端在此调用上抛出不同的异常:
SSL 182 Client Hello
TCP 60 443→57062 [RST, ACK] Seq=1 Ack=129 Win=0 Len=0 <--- SHOWN IN RED
有趣的是,Wireshark在System.IO.IOException: Unable to read data from the transport connection
---> System.Net.Sockets.SocketException: An existing connection was forcibly closed by the remote host
的协议列中显示了SSL
- 我怀疑这可能与Client Hello
异常有关 - BUT ,展开显示的框架下方的forcibly closed
部分,显示使用了TLSv1 ......这很奇怪,但我无法理解它......或许是关于{{的线索1}}回复?
如果我从apache conf中删除Secure Sockets Layer
值,则Wireshark会向RST, ACK
显示TLSv1,而不会对客户端进行任何更改。也许我没有正确解释Wireshark向我展示的内容......
但是,我确实在ACK消息中看到ServerName
- 我相信.NET会解释并向客户端发送异常 - 我不明白为什么会发生这种情况,因此这个问题正在发布。
我还尝试在apache conf文件中设置Client Hello
,而不是Reset bit/flag set
更改希望disabling SNI:
Wireshark和客户端应用程序显示与SSLStrictSNIVHostCheck off
问题相同的错误。
然后我尝试正确设置ServerName
AND 设置Unrecognized name
:
Wireshark和客户端应用程序显示与SSLStrictSNIVHostCheck off
错误相同的响应。
是否有一些apache conf设置可以允许此通信没有错误? ......或者如果有人能够指出我确定导致RESET标志的原因......
或者C#客户端代码中是否有某种方法可以避免通过握手发送SNI(客户端问候)? ......这就是XP工作的原因;它不会在那时发送SNI分机。
...到目前为止,我发现的唯一可行的替代方法是将客户端迁移到.NET 4.0 - 但是,这对于此代码库来说当前是不可行的。