certMgr.exe未在个人本地计算机存储中加载证书的私钥(Windows 10)

时间:2016-01-11 11:01:03

标签: c# windows ssl

我有一个运行certmgr.exe的应用程序,可以在root和personal文件夹中的localMachine上安装证书。以下是我正在使用的命令

CertMgr.exe -add -all "secure\certs\cacert.crt" -s -r localMachine root
CertMgr.exe -add -all "secure\certs\server.p12" -s -r localMachine my

当我通过命令提示符运行这些命令分别在windows7 / 8平台上安装这些证书时,证书会安装并运行

但是当我在Windows 10平台上运行相同的命令时,证书会在商店中安装,但它们不起作用。出现以下错误:

  

错误:-2506:加载设备私钥' CN = ABB认证服务器,OU = CSA,O = ABB'来自windows store' MY'失败   错误:-2506:无法从Windows商店加载私钥/证书对

证书是正确的,我通过手动导入mmc中的证书来验证这一点。当我手动导入时,它们开始工作。显然,我发现certmgr.exe或Windows 10平台中的访问权限存在问题。我尝试使用不同的" certmgr.exe" ,但无法解决问题。

2 个答案:

答案 0 :(得分:1)

确定,

以下代码在.Net中为我工作:

Dim store As New System.Security.Cryptography.X509Certificates.X509Store(X509Certificates.StoreName.Root, X509Certificates.StoreLocation.LocalMachine)
store.Open(X509Certificates.OpenFlags.ReadWrite)
Dim cert As New System.Security.Cryptography.X509Certificates.X509Certificate2("c:\cert.pfx", "password")
store.Add(cert)
store.Close()

答案 1 :(得分:0)

尝试通过右键单击cmd app,从system32文件夹中使用以管理员身份运行选项从cmd运行CertMgr.exe。