我有一个运行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" ,但无法解决问题。
答案 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。