web-dev-qa-db-fra.com

Comment installer par programme un certificat à l'aide de C #

mes pages Web d'école ont un certificat auto-approuvé (vous devez l'installer manuellement) et je voulais créer un programme qui installera un certificat.cer (à partir des ressources de Visual Studio) pour l'utilisateur local - "Autorité de certification racine de confiance" après avoir cliqué sur un bouton. savoir comment le coder en Visual C #?

18
DroidBellmer

Pour ajouter le certificat au magasin racine approuvé pour l'utilisateur actuel par programme, utilisez les classes X509Store et X509Certificate2 . Par exemple:

string file; // Contains name of certificate file
X509Store store = new X509Store(StoreName.Root, StoreLocation.CurrentUser);
store.Open(OpenFlags.ReadWrite);
store.Add(new X509Certificate2(X509Certificate2.CreateFromCertFile(file)));
store.Close();

Voir aussi " Comment puis-je installer un certificat dans le magasin de machines local par programmation en utilisant c #? ".

Une autre option est l'outil ligne de commande du gestionnaire de certificats (certmgr.exe) , en particulier:

certmgr /add cert.cer /s Root

où "cert.cer" est votre certificat. Cela l'importe dans le magasin racine approuvé pour l'utilisateur actuel. Cependant, certmgr.exe fait partie de Visual Studio et du SDK Windows et peut ne pas être librement distribuable.

48
akton