I'm working on a Windows Mobile 6.5 Pro
application, using .NET Compact Edition 3.5
.
I'm able to contact the standard web service (not using SSL), but HTTPS
won't go through. I've attempted to add another Web reference ; this one pointing to the HTTPS version. I was assuming it would generate the proper code for SSL, but nothing.
Every time I attempt to communicate with the service via code I get the following:
An existing connection was forcibly closed by the remote host. Could not establish secure channel for SSL/TLS.
I tested the same code on a .NET 4.5
console app and I was able to successfully reach the HTTPS Web service and get back XML response without issues.
It appears that the generated Web Refence on VS2008 for HTTPS is missing something?
There's not much code to show here besides the auto-generated code that VS2008 produces when you add a new Web Reference.
UPDATE 1: I've been following this post which appears to be the same issue i'm encountering but sadly I don't think it was resolved. How can I establish a secure channel for SSL/TLS from a handheld device?
UPDATE 2: After more research, Windows Mobile 6.5 Pro only appears to support TLS v1.0 while the SOAP Service I was attempting to communicate with is v1.2 (latest).
A bit on TLS and SSL: Here.
WS 2003 had SSL 2.0/3.0 and TLS 1.0 enabled by default. The default installation did not support AES ciphers – but support could be added through a hotfix.
WS 2008 also had SSL 2.0/3.0 and TLS 1.0 enabled by default, but improved the cryptographic support with new AES cipher suites.
WS 2008 R2 introduced TLS 1.1 and TLS 1.2, but they were disabled by default.
WS 2012 takes us a step further with TLS 1.2 enabled by default.