Windows App : comment ignorer les certificats invalides lors de requêtes HTTPs
Effectuer une requête HTTP est peut être la chose la plus courante que l’on fait dans une application Windows mobile. Une technique de sécurisation est de mettre en place des échanges HTTPS. Seulement, certaines fois, le certificat utilisé n’est pas valide pendant les développements et les requêtes échouent. Cet article décrira comment les autoriser.
Disclaimer : c’est une mauvaise pratique de réaliser cela en production car cela ouvre des failles de sécurité.
La technique est assez simple et consiste à configurer un HttpFilter à utiliser dans l’HttpClient. J’utilise ici l’HttpClient du namespace Windows.Net.
Le filtre de base (HttpBaseProtocolFilter) possède une propriété IgnorableServerCertificateErrors prenant comme valeur une collection d’erreur de certificat à ignorer.
Il ne vous reste plus qu’à définir celle que vous souhaitez ignorer.
// Création du filtre de base var filter = new HttpBaseProtocolFilter { #if DEBUG IgnorableServerCertificateErrors = { ChainValidationResult.Untrusted, ChainValidationResult.InvalidName } #endif }; //utilisation du filtre pour effectuer la requête using (var httpclient = new HttpClient(filter)) { var nousA = httpclient.GetAsync(new Uri("https://infinitesquare.com")); }
Bon dev !
Commentaires