![](/img/trans.png)
[英]My windows app can not find the default endpoint element for the reference contract to the web-service APIs on client-side
[英]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的正確方法是什么?
我想我有一個答案。 請檢查您用於驗證請求的證書。 該證書中需要有兩件事:
確保啟用“客戶端身份驗證”作為證書目的之一。
確保證書已為其指定“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.