c# – 用于Windows Azure服务管理的Metro应用程序中的客户端证书

前端之家收集整理的这篇文章主要介绍了c# – 用于Windows Azure服务管理的Metro应用程序中的客户端证书前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在尝试连接到 Windows Azure服务管理API.我必须提供我之前上传到我的Azure门户网站的证书.在.NET中,这非常简单,如 detailed here.但是,在Metro中,您无法手动将证书附加到请求.在微软论坛上我发现了这个:
HttpClientHandler aHandler = new HttpClientHandler();
aHandler.ClientCertificateOptions = ClientCertificateOption.Automatic;

HttpClient aClient = new HttpClient(aHandler);
HttpResponseMessage aResp = await aClient.GetAsync("https://[azure service management uri]");

连同为应用程序提供使用共享证书的功能,这应该选择证书或向用户提供选择证书的选项.证书在我的个人商店中,我甚至试图将证书包含在包清单中,但没有任何作用.它似乎只是在请求中不包含证书.

在Metro应用程序中调用需要认证的基于REST的API的正确方法是什么?

解决方法

我想我有一个答案.请检查您用于验证请求的证书.该证书中需要有两件事:

>确保启用“客户端身份验证”作为证书目的之一.
>确保证书已为其指定“OID”.

我写了一篇关于在Windows 8应用程序中使用Windows Azure Service Management API的博客文章,您可以在这里阅读:http://gauravmantri.com/2012/09/08/consuming-windows-azure-service-management-api-in-a-windows-8-application/.我已经介绍了这两个问题,然后再讨论了一些问题.

希望这可以帮助.

猜你在找的C#相关文章