2013-01-17 6 views
5

Ho un'app di Windows Store (Metro App) a cui voglio connettere un servizio Web che ho creato tramite HTTPS. E sto usando un certificato autofirmato per il mio servizio web. Ma quando ho provato a collegarlo dalla mia App tramite System.Net.HttpClient.PostAsync ho ricevuto un'eccezione:L'app di Windows Store si connette a HTTPS con un certificato SSL autofirmato

"La connessione sottostante era chiusa: impossibile stabilire una relazione di trust per il canale sicuro SSL/TLS."

Eccezione interna detta "Il certificato remoto non è valido in base alla procedura di convalida."

Lo so perché sto usando un certificato autofirmato. Ho ricordato in .NET che posso usare System.Net.ServicePointManager.ServerCertificateValidationCallback in modo che la mia applicazione possa superare la convalida se l'identificazione personale è mia.

Ma non riesco a trovare la classe/metodo in questione nel runtime di Windows Store. Come lo posso fare?

+0

Duplicato di http://stackoverflow.com/questions/13119649/how-to-trust-a-self-signed-certificate-in-a-windows-store-app – ReinierDG

risposta

0

In primo luogo, si dovrebbe idealmente utilizzare Windows.Web.HttpClient. Su tale API, puoi utilizzare httpClient.HttpBaseProtocolFilter.IgnorableServerCertificateErrors per impostare gli errori di certificato che sei disposto ad accettare. È possibile scegliere di ignorare l'errore non attendibile, ad esempio, ma è necessario controllare manualmente l'identificazione personale prima di inviare effettivamente i dati.

+0

Cosa succede se sto usando [Microsoft.Net .Http] (https://www.nuget.org/packages/Microsoft.Net.Http/) pacchetto? – TIKSN