我需要开发一个能够将XML文档发布到SAP Bussiness Connector 4.6的C#客户端。
客户: .NET直到4.6,VS 2013可用,SO Win 8.1 Pro 64位。
服务器: Windows 2000,带有SAP Business Connector 4.6(它实际上与WebMethods 4.6相同),配置了https和客户端证书作为身份验证方法。服务器的证书与本地开发中使用的URL不匹配。
我尝试了几种.NET方法和客户端。我实际上尝试使用httpClient连接BC,但没有成功。
实际代码与此非常相似:
Read (u, "(a)", iostat=st) s
当我启动它时,会抛出异常,发出此错误:
System.Net.Http.HttpRequestException:发送请求时发生错误。 ---> System.Net.WebException:请求已中止:无法创建SSL / TLS安全通道。
根本没有服务器响应我可以探索或调试。我认为这是握手SSL协议的问题。我必须坚持:服务器没有响应文本,根本没有402或404消息错误:没有收到任何内容。
Firefox在这方面表示没有联系。 IE,激活了TSL 1.0,1.2和1.3,表示它无法连接;激活SSL 3.0并重新打开页面说服务器证书存在问题(是的,因为我正在从本地网络访问,其中证书声明类似于" this.server.com")。
Fiddler4并没有对我说太多(而自动证书似乎让人感到困惑),SoapUI在这里看起来并不是很有用(没有办法设置证书和SSL握手)。 找到了一个工具(TestSSLServer,链接:http://www.bolet.org/TestSSLServer/),它给了我这个信息:
支持的版本:SSLv3 TLSv1.0 Deflate压缩:否支持 密码套件(订单不重要): 在SSLv3 RSA_EXPORT_WITH_RC4_40_MD5 RSA_WITH_RC4_128_MD5 RSA_WITH_RC4_128_SHA RSA_EXPORT_WITH_RC2_CBC_40_MD5 RSA_EXPORT_WITH_DES40_CBC_SHA RSA_WITH_DES_CBC_SHA RSA_WITH_3DES_EDE_CBC_SHA (TLSv1.0:同上) ----------------------服务器证书:
188659f61762af0de690bf5cb76a8554e7ff7f23:CN = my.server.com, OU =域控制已验证 ----------------------最小加密强度:弱加密(40位)可实现的加密强度:强加密 (96位或更多)BEAST状态:易受攻击的CRIME状态:受保护
所以我想我必须强制SSL3握手(我认为这在我的代码中没问题),验证服务器证书(也是)...也许我必须对客户端证书做些什么。 我必须为我的客户端计算机生成一个并加载它吗?如何使用TestSSLServer列表中的一个标题生成一个?哪个文件应该安装在什么电脑上?
我可以听到其他http客户端(ServerXMLHTTP等)或能够通过xml测试xml帖子的工具。关于如何继续进行的任何想法?