我正在尝试使用最新版本(0.16)的OpenSC(opensc-pkcs11.dll)的PKCS11Interop库。我尝试过来自三家供应商的USB令牌,这些供应商是Yubico 4,NitroKey Pro / Start,Fetian ePass2003,但无法使用PKCS11Interop Library的大部分功能。我收到了 Net.Pkcs11Interop.Common.Pkcs11Exception:'方法C_SignRecoverInit返回了CKR_FUNCTION_NOT_SUPPORTED',用于库提供的大多数功能。抛出此异常的函数是C_GetOperationState,C_SetOperationState,C_GenerateKey,C_GenerateKeyPair,Encrypt / Decrypt函数,Sign / Verify函数等。
奇怪的是像GetSlotInfo,GetMechanisms,Login,Session这样的函数工作正常。
我花了很多时间在这里寻找解决方案。如果有人可以提供帮助,我将不胜感激。
答案 0 :(得分:0)
C_SignRecoverInit
个函数。其他功能应该没问题,如果没有,请阅读如何做以及如何报告OpenSC wiki中的错误。
答案 1 :(得分:0)
Net.Pkcs11Interop.Common.Pkcs11Exception
始终指示底层非托管PKCS#11库返回的错误,该库通常由设备供应商提供。
您收到错误 - CKR_FUNCTION_NOT_SUPPORTED
- 表示非托管PKCS#11库不支持/实现PKCS#11规范中定义的特定功能。
OpenSC source code确认您发现它不支持C_SignRecoverInit
以及其他一些功能。