1
votes

We are at present working on porting iOS and Android application to Windows phone 8. We are facing a major road block. Both of these platforms supports SSL (i.e. client certificate in HTTPRequest that are not installed in Windows phone My Store). I have seen these links also

http://social.msdn.microsoft.com/Forums/wpapps/en-US/49384ad1-a1ff-4ec8-8d8d-f01a3f602e88/phone-8-client-ssl-authentication?forum=wpdevelop

http://social.msdn.microsoft.com/Forums/wpapps/en-US/5e0b194f-6a83-4998-bf6c-534012195107/how-to-handle-client-certificates-in-windows-phone-8?forum=wpdevelop

From these links I understand that MS does not support client certificate in windows phone 8 for security (???) reasons.

So are there any work around to this problem. Are there any 3rd party free/paid libraries that can solve this problem for me? When you suggest some such source, please can you also point me to a working example using that library.

Please do not mark this as duplicate as None of the other post in Stackoverflow or MSDN forums talks about the possible work around with code sample.

Please help me in this regard.

Thanks and regards

Update 1

I did some further research. They are as follows

I made an analysis by using the Bouncy castle. My analysis shows that the following are the call that is happening between the client and the server.

  1. type :server_hello
  2. type :certificate (Server sent certificate being validated)
  3. type :server_hello_done
  4. type :finished

Actually there are many other intermediate steps that needs to happen regarding the SSL Handshake. As per this link >http://publib.boulder.ibm.com/infocenter/wmqv6/v6r0/index.jsp?topic=%2Fcom.ibm.mq.csqzas.doc%2Fsy10660_.htm the intermediate steps of asking for the client certificate is not happening. Are there any other folks who are sailing like the same boat as mine. Any ideas?

1
There is no workaround. Install client certificate by hand or do not port the application to windows phone. - crea7or
Potentially you can use our SecureBlackbox - it has its own certificate handling AND HTTPS client component (HTTPRequest or anything else is not used). - Eugene Mayevski 'Callback
Hi Eugene, Can you please share some links that provides architecture, code sample of this component. - Venkatesh
Is it possible to use var filter = new HttpBaseProtocolFilter(); filter.ClientCertificate = ... - tofutim

1 Answers

0
votes

The approach suggested by @totfum in the comments works in 8.1:

Is it possible to use:

var filter = new HttpBaseProtocolFilter(); 
filter.ClientCertificate =