Próbuję połączyć się z interfejsem API do zarządzania usługą Windows Azure. Muszę dostarczyć certyfikat, który wcześniej przesłałem do mojego lazurowego portalu. W .NET jest to bardzo łatwe, jako detailed here. W Metro nie można jednak ręcznie dołączyć certyfikatu do żądania. Na forum Microsoft Znalazłem to:Certyfikat po stronie klienta w aplikacji Metro do zarządzania usługą Windows Azure
HttpClientHandler aHandler = new HttpClientHandler();
aHandler.ClientCertificateOptions = ClientCertificateOption.Automatic;
HttpClient aClient = new HttpClient(aHandler);
HttpResponseMessage aResp = await aClient.GetAsync("https://[azure service management uri]");
Wraz z podaniem Aplikacja umożliwia korzystanie z udostępnionych certyfikatów, należy wybrać certyfikat lub przedstawić opcję Wybierz certyfikat użytkownika. Certyfikat znajduje się w moim osobistym sklepie i próbowałem nawet dołączyć certyfikat do manifestu pakietu, ale nic nie działa. Wygląda na to, że po prostu nie zawiera certyfikatu w żądaniu.
Jaki jest prawidłowy sposób wywoływania interfejsu API opartego na REST, który wymaga certyfikatu w aplikacji Metro?
Przetestowałem to dziś wieczorem w aplikacji metra w systemie Javascript, a tam działa za pomocą WinJS.xhr! Po tej stronie pojawia się okienko z pytaniem, który certyfikat chcę użyć. Jednak po stronie C# wygląda na to, że nie działa to przy użyciu HttpClient lub WebRequest. Chciałbym mieć rozwiązanie C#. –
Jestem w tej samej łodzi :). Działa bezbłędnie dzięki aplikacji HTML5/JS. Próbowałem wszystkiego, ale nie mogłem go uruchomić w aplikacji XAML/C#. Miej oko na ten post na forum MSDN: http://social.msdn.microsoft.com/Forums/sv/winappswithcsharp/thread/0d005703-0ec3-4466-b389-663608fff053. Harin, jeden z respondentów w tym wątku, był w stanie wykonać tę pracę !!! Wysłał mi swój kod, ale to też nie zadziałało. –