Nik*_*ara 2 c# asp.net iis digital-certificate
我将用户存储中的智能卡证书发送到 CmsSigner 的构造函数中,以便使用智能卡对 PKCS 加密进行签名。我收到一条错误消息,提示“提供者无法执行该操作,因为上下文被获取为静默状态。” 在 IIS 7.5 中的 Web 应用程序中。这在带有模拟功能的 IIS 6.0 中运行良好。我曾在 IIS 7.5 中使用过模拟,但结果相同。
这在同一台机器和同一个 e-Tocken 上与 Windows 表单应用程序一起工作得很好。我正在使用 Aladin 电子令牌。
ContentInfo contentInfo = new ContentInfo(msg);
SignedCms signedCms = new SignedCms(contentInfo, false);
CmsSigner cmsSigner = new CmsSigner(signerCert);
cmsSigner.SignedAttributes.Add(new Pkcs9SigningTime());
signedCms.ComputeSignature(cmsSigner);
Run Code Online (Sandbox Code Playgroud)
在一些谷歌之后,我在这里找到了同样的问题。但它没有得到答复。
任何帮助将不胜感激。
提前致谢
小智 6
I've got same error when i was trying to sign data using smart card and this card was protected by PIN.
Instead of
signedCms.ComputeSignature(cmsSigner);
Run Code Online (Sandbox Code Playgroud)
I used
signedCms.ComputeSignature(cmsSigner, false);
Run Code Online (Sandbox Code Playgroud)
After calling this method prompt window for PIN was shown. I wrote PIN and signing was successful.