Comment ajouter un certificat à mon navigateur GeckoFx ??

Vous vous penchez sur le développement d'applications ou d'extensions pour Mozilla ? C'est alors vers ce forum que se dirigeront naturellement vos requêtes...

Modérateur : chBok

Lukky56
Arias
Messages : 2
Inscription : 28 nov. 2016, 18:31

Comment ajouter un certificat à mon navigateur GeckoFx ??

Message par Lukky56 » 28 nov. 2016, 18:40

Bonjour.
Je dois me connecter à un site https avec un certificat fourni par mon client.
Sous IE pas de soucis, sous firefox idem en ayant ajouté le certificat.
Mais sous mon prog c# avec navigateur GeckoFX (dernière version) je n'ai pas la moindre idée de comment ajouter mon certificat (un fichier pfx) dans mon programme pour qu'il soit utilisé lors de la navigation sur ce site et ainsi être reconnu.

Je ne suis pas un cador ni en C# ni en Gecko donc je suis complètement perdu et il n'y a quasi rien en ligne sur ce sujet.
J'ai vaguement vu une notion de magasin de certificats à créer mais sans autre information.

Alors si une bonne âme avait une info ou même une piste je suis preneur car la j'avoue que je ne vois pas du tout comment faire.

Merci d'avance, je croise les doigts.
Votre Navigateur : Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:50.0) Gecko/20100101 Firefox/50.0

Lukky56
Arias
Messages : 2
Inscription : 28 nov. 2016, 18:31

Re: Comment ajouter un certificat à mon navigateur GeckoFx ??

Message par Lukky56 » 02 déc. 2016, 17:08

Pour info voilà ou j'en suis :

Code : Tout sélectionner

Gecko.Xpcom.Initialize("Firefox");
string certificateFileName = @"D:\12345.pfx";
string url = "https://www.myurl.fr";
Uri UriURL = new Uri(url);
if (File.Exists(certificateFileName))
{
    X509Certificate2 certificate = new X509Certificate2(certificateFileName, "12345", X509KeyStorageFlags.Exportable | X509KeyStorageFlags.PersistKeySet);
    Gecko.Certificates.Certificate cert = Gecko.Certificates.CertificateDatabase.ConstructX509FromBase64(Convert.ToBase64String(certificate.Export(X509ContentType.Cert)));
    Gecko.CertOverrideService.GetService().RememberValidityOverride(UriURL, cert, Gecko.CertOverride.Untrusted, false);
}
Avec ça le certificat semble reconnue car les propriétés du certificats sont accessibles.

Le code se lance sans erreurs.

La dernière ligne est sensée l'activer mais lorsque je vais sur l'url rien ne se passe.
Je ne pense pas que mon code soit au bon endroit, j'ai testé en le mettant après l'ouverture du navigateur juste avant le lancement de l'URL c'est pareil.
Je me demande si je dois pas créer un gestionnaire d’événement sur la demande de certificat mais je sais pas trop comment goupiller ça.

Voila, je continue à creuser.
Votre Navigateur : Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:50.0) Gecko/20100101 Firefox/50.0

Répondre

Qui est en ligne ?

Utilisateurs parcourant ce forum : Aucun utilisateur inscrit et 1 invité