如何使用C#以编程方式安装证书

时间:2012-09-09 08:47:21

标签: c# visual-studio certificate x509

我的学校网页有自我托管证书(你必须手动安装)我希望创建程序,在我点击一个按钮后安装一个certificate.cer(从visual studio资源)到本地用户 - “受信任的根证书权限”你知道如何在Visual C#中编码吗?

1 个答案:

答案 0 :(得分:48)

要以编程方式将证书添加到当前用户的受信任根存储区,请使用X509StoreX509Certificate2类。例如:

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();

另见" How can I install a certificate into the local machine store programmatically using c#?"。

另一个选项是Certificate Manager command line (certmgr.exe)工具,具体为:

certmgr /add cert.cer /s Root

其中" cert.cer"是你的证书。这会将其导入到当前用户的受信任根存储中。但是,certmgr.exe是Visual Studio和Windows SDK的一部分,可能无法自由分发。