我使用NCryptoki DLL來管理我們的HSM的acccess。Pkcs#11與NCryptoki錯誤N. 145
我使用C#windows服務。該服務是一個套接字:它監聽請求並訪問HSM,執行一些操作。
使用我的代碼acccess HSM,我隨機得到這個消息:
Cryptware.NCryptoki.CryptokiException:錯誤ñ。 145
只有很少的電話總得到這個消息,但它很煩人。你知道爲什麼會發生這種情況嗎?
我發現145 0x00000091 CKR_OPERATION_NOT_INITIALIZED:有一個在指定的會話
我得到這個錯誤適當的類型沒有主動操作,例如,當我打電話find方法:
Cryptware.NCryptoki.CryptokiException:錯誤n。 145在Cryptware.NCryptoki.CryptokiObjects.Find(CryptokiCollection attList,Int32 nMaxCount)
看來會話無效。
我們的服務是一個監聽套接字。它會收到大量的請求,並且很少有這些請求會因此消息而失敗。你知道爲什麼嗎?
奇怪的點是相同的請求很少失敗,所有其他時間的作品。
嗨,奇怪的是我的服務只有一個會話。我有一個循環來保持這個會話(每分鐘發送一個請求)。 只有這些請求是每天約60 * 24 = 1440的請求,再加上所有真正的請求,我認爲總共有大約2000/2500個請求。 從這個數字開始,只考慮約20個每日請求失敗並出現此錯誤。此外,我們僅在一週內發生此錯誤,當時我們更改了HSM和連接到HSM的虛擬機。這可能是一個問題嗎? –
我補充一點:在之前的虛擬機中,以前的HSM用於完美工作 –
@PieroAlberto在服務中使用單個會話在套接字上偵聽聽起來很可疑。你是否阻止對服務的併發訪問,這樣會話就不會被兩個線程同時使用? – jariq