无法在Windows 7桌面上的证书存储中导入私钥

时间:2010-11-17 09:10:09

标签: certificate

我使用以下代码在WinXp桌面中使用密码/私钥导入证书。

最近我迁移到了windows7,现在我无法导入私钥,尽管证书会在商店中导入。

这里有什么问题?非常感谢任何帮助。

X509Store store = new X509Store(StoreName.My);

X509Certificate2 certificate = new X509Certificate2(“certFileName”,“password”); store.Open(OpenFlags.ReadWrite); store.Add(证书); store.Close()

注意到即使我输入了错误的密码,证书仍会被导入,私钥字段显示为null。但是如果密码正确,它应该填充:-(

1 个答案:

答案 0 :(得分:0)

检查您是否拥有正确的权限:

How to set read permission on the private key file of X.509 certificate from .NET

您还可以尝试向证书构造函数添加存储标志:

X509Certificate2 certificate = new X509Certificate2("certFileName", "password", X509KeyStorageFlags.PersistKeySet | X509KeyStorageFlags.MachineKeySet);

设置此权限可能会有所帮助: https://serverfault.com/questions/48124/disabling-strong-private-key-encryption-on-a-personal-certificate