【发布时间】:2013-11-19 19:27:38
【问题描述】:
我有一些 SSL 客户端代码 (C#),如下所示:
X509Certificate2 cert = new X509Certificate2(@"client.pfx");
X509Certificate2Collection x09s = new X509Certificate2Collection();
x09s.Add(cert);
TcpClient client = new TcpClient(controllerIP, port);
sslStream = new SslStream(client.GetStream(), false, OnCertificateValidation,
new LocalCertificateSelectionCallback(SelectLocalCertificate));
sslStream.AuthenticateAsClient("", x09s, SslProtocols.Default, false);
这是与运行 openssl 的 linux 服务器通信。当客户端是 Windows 7 时,这一切都很好。但是,当我在 Windows 8 客户端上尝试时,AuthenticateAsClient 总是收到一条异常消息:“无法从传输连接中读取数据。连接尝试失败,因为连接方做了一段时间后没有正确响应,或者由于连接的主机没有响应而建立的连接失败。”
LocalCertificateSelectionCallback 函数被调用并正确返回。
Windows 8 发生了什么变化? 谢谢...
【问题讨论】:
标签: c# ssl ssl-certificate