2013-01-17 10 views
5

Mam aplikację Windows Store App (Metro App), którą chcę połączyć z usługą internetową zbudowaną przez HTTPS. Używam certyfikatu samopodpisanego do mojej usługi internetowej. Ale gdy próbowałem połączyć go z mojej aplikacji przez System.Net.HttpClient.PostAsync, otrzymałem wyjątek o nazwieAplikacja Windows Store łączy się z HTTPS z samopodpisanym certyfikatem SSL

"Połączenie podstawowe zostało zamknięte: Nie można ustanowić relacji zaufania dla bezpiecznego kanału SSL/TLS."

Wewnętrzny wyjątek powiedział "Zdalny certyfikat jest nieważny zgodnie z procedurą sprawdzania poprawności."

Wiem, że to dlatego, że używam certyfikatu z podpisem własnym. Zapamiętałem w .NET, mogę użyć System.Net.ServicePointManager.ServerCertificateValidationCallback, aby moja aplikacja mogła przejść weryfikację, jeśli odcisk kciuka jest mój.

Ale nie mogę znaleźć odpowiedniej klasy/metody w środowisku wykonawczym Windows Store. Jak mogę to zrobić?

+0

Duplikat http://stackoverflow.com/questions/13119649/how-to-trust-selfself-certyfikowany-w-windows-store-app – ReinierDG

Odpowiedz

0

Po pierwsze, najlepiej byłoby używać Windows.Web.HttpClient. Za pomocą tego interfejsu API można ustawić httpClient.HttpBaseProtocolFilter.IgnorableServerCertificateErrors, aby ustawić błędy certyfikatu, które akceptujesz. Możesz na przykład zignorować błąd Niezaufany, ale powinieneś ręcznie sprawdzić odcisk kciuka przed wysłaniem jakichkolwiek danych.

+0

Co zrobić, jeśli używam [Microsoft.Net .Http] (https://www.nuget.org/packages/Microsoft.Net.Http/) pakiet? – TIKSN

Powiązane problemy