L
LosManos
I am stuck with a .Net Compact Framework 2.0 application in Windows Mobile
5.0. The application uses a web service developed in .Net Framework 2.0 to
synchronize data with a legacy application. So far, so good.
The problem is that this communication is to be protected using SSL and a
X.509 Client Certificate for user authentication. The web service itself is
not intended to handle the security. Instead PortWise¹ acts as proxy between
the internet and an internal webserver hosting the web service. This
transaction is supposed to be transparent.
[PDA] <--https--> [PortWise] <--http--> [Protected Server]
foo.asmx foobar.asmx
I have been reading the documentation för X.509 Certificates in .Net
Framework and discovered that most examples for version 1.1 are inapplicable
for .Net Compact Framework 2.0. Several new classes and methods have been
added to improve certificate handling. Unfortunately they are not available
in the .Net Compact Framework.
How can I implement SSL using a X.509 Certificate on the .Net Compact
Framework client? The certificate (pk7) and it's key have been installed on
the PDA using CrtImprt². I have succesfully accessed the PortWise-proxy
using PocketIE so the infrastructure is in place. But the question remains;
how do I retrieve the stored certificate from the user store using .Net
Compact Framework? How do I ensure that the certificate is used when calling
the web service through the PortWise-proxy? WebService.Credentials doesn't
support X.509 certificates and WebService.ClientCertificates aren't
available?
Regards
¹ http://www.portwise.com/
² http://www.jacco2.dds.nl/networking/crtimprt.html
5.0. The application uses a web service developed in .Net Framework 2.0 to
synchronize data with a legacy application. So far, so good.
The problem is that this communication is to be protected using SSL and a
X.509 Client Certificate for user authentication. The web service itself is
not intended to handle the security. Instead PortWise¹ acts as proxy between
the internet and an internal webserver hosting the web service. This
transaction is supposed to be transparent.
[PDA] <--https--> [PortWise] <--http--> [Protected Server]
foo.asmx foobar.asmx
I have been reading the documentation för X.509 Certificates in .Net
Framework and discovered that most examples for version 1.1 are inapplicable
for .Net Compact Framework 2.0. Several new classes and methods have been
added to improve certificate handling. Unfortunately they are not available
in the .Net Compact Framework.
How can I implement SSL using a X.509 Certificate on the .Net Compact
Framework client? The certificate (pk7) and it's key have been installed on
the PDA using CrtImprt². I have succesfully accessed the PortWise-proxy
using PocketIE so the infrastructure is in place. But the question remains;
how do I retrieve the stored certificate from the user store using .Net
Compact Framework? How do I ensure that the certificate is used when calling
the web service through the PortWise-proxy? WebService.Credentials doesn't
support X.509 certificates and WebService.ClientCertificates aren't
available?
Regards
¹ http://www.portwise.com/
² http://www.jacco2.dds.nl/networking/crtimprt.html