SSL / TLS握手失败

时间:2017-01-16 14:58:07

标签: c# .net wcf ssl schannel

我有一个.NET(WinForms)应用程序作为SOAP服务的(测试)客户端运行。该服务要求客户​​端使用客户端证书进行身份验证(如此MSDN示例:https://msdn.microsoft.com/en-us/library/ms731074(v=vs.110).aspx)。

使用SoapUI测试服务或从Firefox显示WSDL都成功,但客户端没有完成SSL / TLS握手。 错误消息显示:“请求已中止:无法创建SSL / TLS安全通道。”

Windows事件查看器在几毫秒内具有以下条目:

  1. [INFO]创建SSL客户端凭据。
  2. [ERROR]生成致命警报并将其发送到远程端点。 这可能导致连接终止。 TLS协议 定义的致命错误代码是10. Windows SChannel错误状态是 12。
  3. 不幸的是,在Schannel错误状态12上找不到多少。

    .NET和网络跟踪显示正确的客户端证书被发送到服务器,但是在服务器将其证书发送到客户端之后(或同时?)它似乎失败了。 .NET跟踪具有以下行:

      

    System.Net信息:0:[2828]   InitializeSecurityContext(In-Buffers count = 2,Out-Buffer length = 0,   返回代码= IllegalMessage)。

    不幸的是,'IllegalMessage'的信息量不大。

    由于我确实在客户端安装了服务器的根证书,所以我不知道这里会出现什么问题。我还启用了回调验证服务器证书,但显然没有达到这一点。

    有没有人知道什么可能导致Schannel在这一点上失败...?

0 个答案:

没有答案