我如何使用c#以编程方式将证书安装到本地机器存储中?

我有通过MakeCert生成的证书。 我想使用这个证书WCF消息安全使用PeerTrust。 如何以编程方式将证书安装到使用c#或.NET的“可信任人员”本地机器证书存储中?

我有一个CER文件,但也可以创build一个PFX。

我相信这是正确的:

using (X509Store store = new X509Store(StoreName.TrustedPeople, StoreLocation.LocalMachine)) { store.Open(OpenFlags.ReadWrite); store.Add(cert); //where cert is an X509Certificate object } 

以下对我有好处:

 private static void InstallCertificate(string cerFileName) { X509Certificate2 certificate = new X509Certificate2(cerFileName); X509Store store = new X509Store(StoreName.TrustedPublisher, StoreLocation.LocalMachine); store.Open(OpenFlags.ReadWrite); store.Add(certificate); store.Close(); } 

而不是将证书安装到需要提升权限的LocalMachine,您可以将其添加到“CurrentUser”(适用于我)。

 X509Store store = new X509Store(StoreName.TrustedPeople, StoreLocation.CurrentUser); store.Open(OpenFlags.ReadWrite); store.Add(cert); //where cert is an X509Certificate object store.Close();