我使用Windows Mobile 6.5 Pro
处理.NET Compact Edition 3.5
应用程序。
我可以联系标准网络服务(不使用SSL),但HTTPS
不会通过。我试图添加另一个Web引用;这个指向HTTPS版本。我假设它会生成适当的SSL代码,但没有。
每当我尝试通过代码与服务进行通信时,我都会得到以下信息:
远程主机强行关闭现有连接。可以 不建立SSL / TLS的安全通道。
我在.NET 4.5
控制台应用上测试了相同的代码,并且我能够成功访问HTTPS Web服务,并且可以毫无问题地获取XML响应。
似乎在VS2008上为HTTPS生成的Web Refence遗漏了什么?
除了VS2008在添加新的Web引用时生成的自动生成的代码,此处显示的代码不多。
更新1: 我一直在关注这篇文章,这似乎是我遇到的同一个问题,但遗憾的是我认为它没有得到解决。 How can I establish a secure channel for SSL/TLS from a handheld device?
更新2: 经过更多研究后,Windows Mobile 6.5 Pro似乎只支持TLS v1.0,而我尝试与之通信的SOAP服务是v1.2(最新版)。
关于TLS和SSL的一点:Here。
WS 2003 默认启用了SSL 2.0 / 3.0和TLS 1.0。默认安装不支持AES密码 - 但可以通过修补程序添加支持。
WS 2008 默认情况下也启用了SSL 2.0 / 3.0和TLS 1.0,但使用新的AES密码套件改进了加密支持。
WS 2008 R2 引入了TLS 1.1和TLS 1.2,但默认情况下已禁用。
WS 2012 让我们更进一步,默认启用TLS 1.2。