Loupe

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 !

Photo de profil

Ces billets pourraient aussi vous intéresser

Vous nous direz ?!

Commentaires

comments powered by Disqus