我尝试使用以下代码使用存储在智能卡中的密钥对某些数据进行签名
CspParameters csp = new CspParameters(1, "Advanced Card Systems CSP v3.0");
csp.Flags = CspProviderFlags.UseDefaultKeyContainer;
RSACryptoServiceProvider rsa = new RSACryptoServiceProvider(csp);
应用程序第一次工作,但第二次在执行第34行时引发异常" 3"。
异常消息是"参数不正确。"。
答案 0 :(得分:1)
ImportParameters
方法有两个理由抛出此CryptographicException
。
"无法获取加密服务提供商(CSP)"。另一个是"参数参数缺少字段"。有关详情,请参阅以下页面 - RSA CSP Import Parameters。第一个解决方案,尝试下面的代码,让我知道结果。
RSACryptoServiceProvider.UseMachineKeyStore = True
错误消息显示CSP错过了参数字段。请参阅该页面并测试示例 - Cryptography CSP Parameters。