Gestire chiamate HTTP con errori di certificato nelle Universal App

di Giancarlo Lelli, in Windows Phone 8.1, Universal App, WinRT,

Potrebbe capire che durante la scrittura di un componente che debba wrappare la logica di una serie di chiamate HTTP, la comunicazione con tale host venga messa in sicurezza dal protocollo HTTPS e di conseguenza da un certificato digitale. Quello che può capire, è che il certificato sia di prova e non valido.

Questa tipologia di errore causa un blocco, ed eventualmente un'eccezione, da parte di tutte le nostre richieste HTTPS verso tale URI. Per risolvere questo problema e quindi ignorare questo errore di certificato, non ci basta che affidarci all'oggetto ServicePointManager, che tramite un event handler associato alla proprietà ServerCertificateValidationCallback, ci permette di gestire questo scenario.

Come possiamo vedere dallo snippet di codice sotto riportato, ci è sufficiente restituire il valore true all'interno del corpo della funzione.

ServicePointManager.ServerCertificateValidationCallback += (sender, cert, chain, error) => { return true; };

Il punto di forza della classe ServicePointManager è la semplicità di utilizzo: infatti, ci basta ripotare una singola volta questo piccolo snippet di codice in una zona di avvio della nostra applicazione. nel caso specifico di applicazioni WinRT, va fatto all'interno del file App.xaml.cs, per far sì che abbia scope globale all'interno del nostro progetto.

Commenti

Visualizza/aggiungi commenti

| Condividi su: Twitter, Facebook, LinkedIn

Per inserire un commento, devi avere un account.

Fai il login e torna a questa pagina, oppure registrati alla nostra community.

Approfondimenti

I più letti di oggi