[英]CSP not detecting smart card minidriver C#
我正在使用智能卡编写一个用于加密目的的小程序,但是我的微型驱动程序有问题。 当我启动程序时,我可以看到卡(出现用于选择智能卡的弹出对话框),但是在以下情况下我无法使用它:
A smart card was detected but is not the one required for the current operation. The smart card you are using may be missing required driver software or a required certificate.
我使用的C#代码非常简单,它像这样:
CspParameters csp = new CspParameters(
1,
"Microsoft Base Smart Card Crypto Provider",
"my_container"
);
RSACryptoServiceProvider rsa = new RSACryptoServiceProvider(csp);
只是要注意,我还有另一个可以识别此微型驱动程序的应用程序(金雅拓微型驱动程序管理器),因此问题不存在。
提前致谢
为了使CSP识别智能卡,您需要告诉它使用默认密钥容器。 在创建RSACryptoServiceProvider之前只需添加下一行:
csp.Flags = CspProviderFlags.UseDefaultKeyContainer;
检查微型驱动程序是否同时以32位和64位模式安装。 在64位上,必须同时在32位和64位模式下设置minidriver及其配置(在calais数据库中)。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.