X509Certificate2 pc = new X509Certificate2(SDKConfig.SignCertPath, SDKConfig.SignCertPwd, X509KeyStorageFlags.Exportable);
var pkey = pc.PrivateKey;
获取证书私钥 报“System.Security.Cryptography.CryptographicException”类型的异常
证书是对方提供的.
是不是web程序中调用,若是则在iis启用“加载用户配置”试试
System.Security.Cryptography.CryptographicException 的描述是什么?
“System.Security.Cryptography.CryptographicException”类型的异常在 mscorlib.dll 中发生,但未在用户代码中进行处理
其他信息: 指定了无效的提供程序类型。 这些都是第三方提供的证书,获取私钥就是报错.
@小夜1: 指定了无效的提供程序类型 —— 此错误的含义是私钥使用的 CSP 不存在或者不匹配。
我建议你读读这篇文章,学些下密钥体系,弄明白 CSP 、公钥、私钥、证书的关系。
http://msdn.microsoft.com/en-us/library/windows/desktop/aa380245(v=vs.85).aspx
我的报的长度不匹配,检查后原因是秘钥的长度和创建的秘钥对象初始化时候的长度确实不匹配嘛。