WinRT : Ajouter des certificats auto signés à l’autorité de certifications root

Si on veut utiliser un certificat non reconnu par une autorité de certification, il peut être intéressant d’embarquer nos propres certificats dans les applications que l’on déploie. De ce fait, l’application communique en SSL sans désactiver sur le client Http les erreurs liées au certificat “untrusted”. Pour ce faire, avant de faire nos requêtes Http, on doit ajouter nos certificats à l’autorité de certification root.

Méthode d’ajout de certificat qui fonctionne uniquement sur Windows 8 et Windows 10

Sur Windows 8/10 c’est très simple : il suffit d’ajouter le certificat dans vos Assets et d’ajouter une déclaration de type Certificates dans le Package.appxmanifest.


certificat

 

Méthode d’ajout de certificat qui fonctionne sur toutes les plateformes

Malheureusement, la méthode précédente ne fonctionne pas sur Windows Phone 8.1.

Pour cette plateforme il faut juste exécuter le code suivant :

async Task AddCertificateInTrustedRootAuthorities(string certificatePath)
{
      Uri certificateUri = new Uri(certificatePath);
      var certificateFile = await StorageFile.GetFileFromApplicationUriAsync(certificateUri);
      IBuffer certBlob = await FileIO.ReadBufferAsync(certificateFile);
      var certificate = new Certificate(certBlob);
      var trustedStore = CertificateStores.TrustedRootCertificationAuthorities;
      trustedStore.Add(certificate);
}
Attention : ces deux méthodes ajoutent uniquement les certificats pour votre application, le certificat ne sera donc pas utilisable par une autre app.

 

Dans le même thème il y a  l’article de Jonathan pour ignorer les certificats invalides

Photo de profil

Ces billets pourraient aussi vous intéresser

Vous nous direz ?!

Commentaires

comments powered by Disqus