Client certificate authentication in web service - windows-phone-8

We are working on an Windows Runtime and Windows Phone 8 application which connects to a server via web services.
I am wondering how I can add client authentication with certificates to the web service call, as ClientCertificate is not available on ClientCredentials for Windows Runtime/Windows Phone 8. See API: http://msdn.microsoft.com/en-us/library/system.servicemodel.description.clientcredentials.clientcertificate.aspx
Can anyone point me in the right direction how to add a client certificate to the call to our generated web service.
Regards Matoz

No Windows Phone 8 sdk does not support client certificate. Please see MSDN LINK for more details.

Related

Worklight_HydribApp_PushNotification for Windows Phone 8 Using MPNS

Hi we have developed an application using IBM MobileFirst Studio 7.0.0,In order to send notifications for Android and IOS Platforms we used GCM and APNS respectively and everything worked fine coming to Windows Phone 8 application we are planning to go with MPNS(Microsoft Push Notification Services) concept.
As per MPNS is concerned we are planning to go with Authenticated push services which can give us unlimited access to send notifications, we require a Secure Sockets Layer (SSL) certificate keystore for the same.
The keystore can contain several certificates, one of which is the certificate for authenticated push notifications to MPNS.
To use MPNS concept we need certificate which is authenticated push notifications.
How to generate that certificate and do we need any web service to develop MPNS Push Notification for Windows Phone 8?
as part of my research followed this link.
In the link you have found, you will see how to generate a SSL Keystore and certificates - here. Once you have the certificates, login to Windows Development center and upload the certificate there. Instructions on how to do this can be found in the following links:
Setting up an authenticated web service
Enabling no-quota push notifications
No-quota push notifications

Who to create web service for windows push notification for windows phone 8?

While working with Windows Phone Push Notifications, I got myself stuck in the part of creating the "cloud web service" to receive the negotiated URL and retrieve updates to the mobile device.Is it possible to create this Web Service without using Windows Azure services (I don't want to pay anything, I just want to push with my services to my apps)? And how can I create this Cloud Web Service.
I haven't worked extensively with Windows Phone 8.1. Check this webpage for Windows Phone 8 -
https://msdn.microsoft.com/en-us/library/windows/apps/hh202970%28v=vs.105%29.aspx
You will get a URL for each device you want to get notification on through the app you create. Taking help from the above link, you can create a local server (Cloud Web Service) for testing push notifications for your test devices.

How to show Windows Phone application to client before publish in store

I have developed Windows Phone Silverlight application (support 8.0 and 8.1) for my client request. The client is goint to publish the application in WP app store, but first he must check on his phone if everything is OK with the application.
The application was developed with Visual Studio 2013, I've got developer account and own phone assigned to this account on which I have tested the application.
The question is, how can my client install the application on his own phone skipping windows app store? I have sent him builded *.xap file but he had a some problems with installation (Cannot install company application)?
You can submit your app to Windows Phone Store BETA. Your app will by certified quickly, and your client will be able to download it just like any other app from Store. The difference is that it will be visible and possible only for him.
Log in to you DevCenter account, click Submit App. Then, in App info section expand More options and select Beta. Then you can provide your client's mail.
I'm not sure, but I think that the name of the app should not be the same as the final version. So you can name it "My App Beta" to avoid future name conflict with the final version.
One more thing. When your app pass certification process, you have to send the link to the app to your client, because he won't get any notification.

Windows Phone 8 and HTTPS/SSL

I need to connect to a web service via HTTPS in my windows phone 8.0 app. It seems that there is no client SSL support from Microsoft about this issue.
I really need to know how to deal with certificates in WP8. What is the correct certificate? Which certificates need to be imported?
Scenario: I have a https endpoint: https://10.1.1.2 and when I connect there from my PC I am being prompted to view and install the certificate of the server. The certificate name "The Root CA" is being saved locally. The same certificate is installed in the mobile device w/o problems. When I open the https://10.1.1.2 from the mobile internet explorer it informs me that the web page is secure and I have to choose between close and continue the page. I am clicking continue and the https://10.1.1.2 transaction takes place. Every time I go to the same URL via the mobile internet explorer there is no warning to the end user regarding security.
According to Microsoft: In most cases, you do not have to do anything
to enable this for your Windows Phone app with the exception of using
an address that begins with the https:// protocol scheme. Windows
Phone then examines the certificate that is returned by the web
service, and if the certificate is from one of the trusted authorities
listed in SSL root certificates for Windows Phone OS 7.1, the Windows
Phone app platform then uses the certificate in conjunction with the
web service to encrypt all further communication, including the
exchange of the authentication credentials as described previously.
Although you can install trusted certificates on the Windows Phone, in
the current release, the Windows Phone app platform does not expose
those certificates’ values to apps. As a result, in the current
release, you cannot implement mutual authentication scenarios –
scenarios in which the client sends its own certificates to the web
service in addition to receiving one -- using certificates installed
in the root store.
So, is this procedure OK? I cannot use one of the certificate authorities that Microsoft
trusts by default. Do I need code?
Self signed certificate cannot be used and it does not automatically fetch data without intervention.
First of all, when testing your SSL connection through mobile IE, it appears from my testing that by pressing continue you are adding an exception to IE, not installing any certificates or getting the exception to apply phone-wide.
Secondly, using self-signed certificates on WP8 appears to be severely limited by the fact that any cert chain that does not use a built-in root CA will generate a failed certificate validation in your code. See the MSDN blog entry at http://blogs.msdn.com/b/davidhardin/archive/2010/12/30/wp7-and-self-signed-ssl-certificates.aspx
Where he states "You can implement your own certificate authority using Microsoft Certificate Services but you’ll still need a certificate from one of the phone’s certificate authorities to chain your certificate authority to."
The only "solution" I've seen posted is to effectively ignore all certificate warnings - which is no solution at all.

Azure Mobile Services SSO across W8.1 and WP8.1

What I want
I want to allow in app SSO between the Live Connect SDK and a single Mobile Services instance that I'll use as the backend for 2 applications, WP8 & W8.1. I want to do this without affecting existing users of the WP8 app that is already in the Windows Phone Store. Both apps will use the Live SDK for OneDrive access.
Existing Situation
I have a Windows Phone 8 application that uses Azure Mobile Services and the Live Connect SDK and I have set up SSO by
Registering the app in the Live Connect Developer Center
Setting the redirect URL in the Developer Center to the Mobile Services URL (used in the Live Connect authentication token)
Copying the Client ID into my app and passing it to the Live Connect SDK methods when I log in
Retrieving the Live Connect authentication token after login and passing it to the Mobile services login
Issues
This is fine but now I want to start building a companion Windows 8.1 app that uses the same Mobile Services instance and SSO but I'm running into a difficulty as below:
The Live Connect Developer Center app associated with the Windows 8.1 app needs to have the Package SID and the only way I can find to do this is to use the 'associate my app with the Windows Store' tool within Visual Studio. This creates a new app in the Live Connect Developer Center with the Windows 8.1 Package SID. I can't find any way to add this Package SID to my existing Live Connect app (i.e. the one used for the WP8 app).
I believe I need to use a single, shared Live Connect Developer Center app, and associated Client ID, for both my WP8 and W8.1 apps as the authentication token from Live Connect (documentation here) seems to include the 'user identifier - uid' that is 'An identifier for the user, which is unique to the app'. To me this also implies that if I change the client ID (i.e. effectively a new app from Live Connect's point of view) then it will appear to mobile services as if a new user is signing in and all their old data will no longer be accessible to them.
I have researched other people doing SSO across both platforms and they seem to be using a single app in the Live Connect Developer Center but in all cases that I have seen so far they use the Windows 8.1 app, because this has the Package SID, and set it to 'Mobile or desktop client app'. I have started from the other direction with the phone app first and I can't find any information about this. I'm also trying to avoid testing this all out in a live app in case it does cause issues.
I have posted in both the Mobile Services and Live Connect forums about these issues but without a reply. (I can only provide 2 links, check my profile in the Mobile Services forum for my other post).
My Question
How can I add Azure Mobile Services SSO to my new Window 8.1 app without breaking my existing WP8 app?
Thanks.
It looks like this question may have already been covered here:
Live Connect Authentication Token for use on Azure Mobile Services (REST)
Hope that helps!
This question has been answered by Matthew Henderson in the Azure Mobile Services forum
The simplified version is you need to use one Live Connect app in the Developer Center (i.e. the same Client ID used by both the W8.1 & WP8 apps)
To do this you either need to either:
a) Start with the Windows 8.1 app which will register the SID with the Live Connect app (this is the documented and easiest path) and then re-use this Client ID in the Windows Phone 8 app
OR
b) If you already have a Windows Phone 8 app as I did then you can change the automatically created SID association in the Live Connect Developer Center to allow the Windows 8.1 app to use the existing Windows Phone 8 Client ID. This is a less well documented feature.