CSP未检测到智能卡微型驱动程序C#

时间:2012-12-06 12:07:40

标签: c# .net cryptography smartcard

我正在使用智能卡编写一个用于加密目的的小程序,但我的迷你驱动程序有问题。当我启动程序时,我可以看到卡(选择智能卡的弹出对话框出现)但我不能使用它,因为以下内容:

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);

请注意,我有另一个应用程序(Gemalto minidriver manager)识别这个minidriver,所以问题不在那里。

提前致谢

更新

为了让CSP识别智能卡,您需要告诉它使用默认密钥容器。只需在创建RSACryptoServiceProvider之前添加下一行:

csp.Flags = CspProviderFlags.UseDefaultKeyContainer;

1 个答案:

答案 0 :(得分:0)

检查minidriver是否以32位和64位模式安装。 在64位上,minidriver及其配置(在calais数据库中)必须在32位和64位模式下设置。