当我尝试在安装它的pfx之后第一次使用x509Certificate2对象时,它可以对数据进行签名,但是从第二次它不能并且显示错误,该行上不存在键集...
RSACryptoServiceProvider csp = (RSACryptoServiceProvider)cert.PrivateKey;
在调试中它也显示
A first chance exception of type
'System.Security.Cryptography.CryptographicException' occurred in mscorlib.dll
无法弄清楚这里的问题......
答案 0 :(得分:2)
我有解决方案......
首次成功运行后,私钥变得无法访问,因此创建了问题。
解决方案是添加一行代码:
csp.PersistKeyInCsp = true;
确保密钥可以访问。
答案 1 :(得分:0)
如果尝试访问私钥的Windows用户没有权限,则可能会出现此错误。要修复打开的MMC并添加“证书”管理单元,请找到证书,右键单击“所有任务” - >管理私钥并授予该特定用户读取私钥的权限。