我正在使用NCryptoki dll来管理我们的HSM的访问过程。
我使用C#窗口服务。这个服务是一个套接字:它监听请求,访问HSM,做一些事情。
使用我的代码访问HSM,我随机地得到以下消息:
Cryptware.NCryptoki.CryptokiException:错误编号145号
只有少数几个电话收到了这条消息,但这是相当恼人的。你知道为什么会这样吗?
我发现145是CKR_OPERATION_NOT_INITIALIZED:0x000091,在指定的会话中没有适当类型的活动操作。
例如,当我调用find方法时,我得到了这个错误:
Cryptware.NCryptoki.CryptokiObjects.Find(CryptokiCollection attList,Int32 nMaxCount的第145号错误)
这段对话似乎无效。
我们的服务是监听套接字。它会收到大量的请求,其中很少有请求失败。你知道为什么吗?
奇怪的是,相同的请求很少失败,而且所有其他时候都有效。
发布于 2017-04-26 19:24:23
您很可能没有在多线程环境中正确地使用PKCS#11库和PKCS#11会话。有关更多细节,请参见my older answer的类似问题。
https://stackoverflow.com/questions/43635679
复制相似问题