我有一个.NET(WinForms)应用程序作为SOAP服务的(测试)客户端运行。该服务要求客户端使用客户端证书进行身份验证(如此MSDN示例:https://msdn.microsoft.com/en-us/library/ms731074(v=vs.110).aspx)。
使用SoapUI测试服务或从Firefox显示WSDL都成功,但客户端没有完成SSL / TLS握手。 错误消息显示:“请求已中止:无法创建SSL / TLS安全通道。”
Windows事件查看器在几毫秒内具有以下条目:
不幸的是,在Schannel错误状态12上找不到多少。
.NET和网络跟踪显示正确的客户端证书被发送到服务器,但是在服务器将其证书发送到客户端之后(或同时?)它似乎失败了。 .NET跟踪具有以下行:
System.Net信息:0:[2828] InitializeSecurityContext(In-Buffers count = 2,Out-Buffer length = 0, 返回代码= IllegalMessage)。
不幸的是,'IllegalMessage'的信息量不大。
由于我确实在客户端安装了服务器的根证书,所以我不知道这里会出现什么问题。我还启用了回调验证服务器证书,但显然没有达到这一点。
有没有人知道什么可能导致Schannel在这一点上失败...?