1

我有一个 .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. [错误] 生成了致命警报并将其发送到远程端点。这可能会导致连接终止。TLS 协议定义的致命错误代码为 10。Windows SChannel 错误状态为 12。

不幸的是,在 Schannel 错误状态 12 上找不到太多内容。

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

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

不幸的是,“IllegalMessage”信息量不大。

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

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

4

0 回答 0