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/.我已经介绍了这两个问题,然后再讨论了一些问题.

希望这可以帮助.

相关文章

目录简介使用JS互操作使用ClipLazor库创建项目使用方法简单测...
目录简介快速入门安装 NuGet 包实体类User数据库类DbFactory...
本文实现一个简单的配置类,原理比较简单,适用于一些小型项...
C#中Description特性主要用于枚举和属性,方法比较简单,记录...
[TOC] # 原理简介 本文参考[C#/WPF/WinForm/程序实现软件开机...
目录简介获取 HTML 文档解析 HTML 文档测试补充:使用 CSS 选...