Cryptoki C_Initialize失败,代码为0x5

时间:2015-11-24 19:29:35

标签: smartcard pkcs#11

我正在开发一个使用PKCS#11访问智能卡的应用程序。我能够获取gclib.dll中存在的入口点并成功调用它们。 (我调用了C_GetFunctionList并获得了功能列表)

但是对C_Initialize(NULL_PTR)的调用会返回错误代码0x5。这种失败可能发生的一般原因是什么?我无法找到一个明确的答案,为什么它可能在这里失败。

谢谢。

编辑:我在调用C_Initialize的位置检查了procmon,并且它正在尝试查找不存在的2个Windows注册表项。 HKLM \ SOFTWARE \ Wow6432Node \金普斯\加密\ PKCS11 \令牌 HKLM \ SOFTWARE \ Wow6432Node \ Gemplus公司\加密\ PKCS11 \ 4.0

1 个答案:

答案 0 :(得分:2)

我可以在网上找到Windows XP(以及其他一些Windows操作系统)预装的GemSafe驱动程序。注册表项也存在而不添加任何其他配置。 https://msdn.microsoft.com/en-us/subscriptions/downloads/cc780058

但Windows 7并非如此。我能够通过安装Gemalto Classic Client 6.1来解决此问题,而不是尝试安装GemSafe并添加了我需要的注册表项。 http://support.gemalto.com/index.php?id=classic_client