25

我学校的网页有自信任证书(必须手动安装)。我想创建一个程序,它将certificate.cer(来自 Visual Studio 资源)安装到本地用户的Trusted root certificate authority.

你知道我如何在 C# 中做到这一点吗?

4

1 回答 1

61

要以编程方式将证书添加到当前用户的受信任根存储,请使用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();

另请参阅“如何使用 c# 以编程方式将证书安装到本地机器存储中? ”。

另一个选项是证书管理器命令行 (certmgr.exe)工具,具体来说:

certmgr /add cert.cer /s Root

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

于 2012-09-09T12:53:40.277 回答