簡體   English   中英

用於Windows Azure服務管理的Metro應用程序中的客戶端證書

[英]Client-side certificate in a Metro app for Windows Azure Service Management

我正在嘗試連接到Windows Azure服務管理API。 我必須提供我之前上傳到我的Azure門戶網站的證書。 在.NET中,這非常簡單, 詳見此處 但是,在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的正確方法是什么?

我想我有一個答案。 請檢查您用於驗證請求的證書。 該證書中需要有兩件事:

  1. 確保啟用“客戶端身份驗證”作為證書目的之一。

  2. 確保證書已為其指定“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 / 我已經涵蓋了這兩個問題,然后還有更多問題。

希望這可以幫助。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM