在我的安装过程中如何在 PC 上安装两个证书(带密码的 pfx)?我需要两个位于个人->证书上的证书,因为桌面程序用于这台电脑上的所有用户。
我正在使用.net 3.5
谢谢。
下面将从.PFX
文件中提取公钥和私钥并将其解析为X509Certificate2
对象(X509Certificate
类型不支持私钥并且无法理解 V2 和 V3 属性)。然后,您将X509Certificate2
对象传递到当前设置为的本地证书存储库,LocalMachine
因为我猜测根据您附加的图像,这就是您想要的位置。
X509Certificate2 cert = new X509Certificate2(@"C:\key.pfx", "test1234", X509KeyStorageFlags.MachineKeySet | X509KeyStorageFlags.PersistKeySet); //Saves in the local machine store - accessible for all users
using (var store = new X509Store(StoreName.My, StoreLocation.LocalMachine))
{
store.Open(OpenFlags.ReadWrite); //Set to Write - You need Admin Permissions
store.Add(cert); //Add Private Cert to Store
}
我建议您在开始前先阅读 Paul Stovell 的这篇文章,因为权限可能是一场噩梦,尤其是在域环境(Active Directory)中。