带有 NCryptoki 错误 N.145 的 Pkcs#11

Pkcs#11 with NCryptoki error N. 145

我正在使用 NCryptoki dll 来管理对我们的 HSM 的访问。

我使用 C# windows 服务。此服务是一个套接字:它侦听请求并访问 HSM,做一些事情。

使用我的代码访问 HSM,我随机收到此消息:

Cryptware.NCryptoki.CryptokiException: 错误 n。 145

总共只有少数几个电话收到此消息,但它很烦人。你知道为什么会这样吗?

我发现 145 是 0x00000091 CKR_OPERATION_NOT_INITIALIZED: 在指定的会话中没有适当类型的活动操作

我遇到这个错误,例如,当我调用 find 方法时:

Cryptware.NCryptoki.CryptokiException: 错误 n。 145 在 Cryptware.NCryptoki.CryptokiObjects.Find(CryptokiCollection attList,Int32 nMaxCount)

会话似乎无效。

我们的服务是一个监听套接字。它收到大量请求,其中很少有请求失败并显示此消息。你知道为什么吗?

奇怪的是,同一个请求很少会失败,其他时候都可以。

您很可能没有在多线程环境中正确使用 PKCS#11 库和 PKCS#11 会话。有关详细信息,请参阅类似问题的 my older answer