Я получаю код ошибки CKR_DEVICE_MEMORY
для вызова C_Encrypt
с использованием библиотеки cryptoki.
Из спецификации PKCS # 11, CKR_DEVICE_MEMORY
означает, что токену не хватает памяти для выполнения запрошенной функции.
При каких обстоятельствах мы полностью заполняем память токена?
HSM работает 24x7 в течение 7 дней, непрерывно в основном шифруя и дешифруя файлы в дневное время с двумя параллельными сеансами. Я не звонил C_Finalize
за последние 7 дней. поэтому библиотека криптоки работала в своем пространстве памяти с момента инициализации ( см. соответствующий пост по этому ).
Я могу видеть из своих приложений, журнала отладки, что когда-либо, я выделяю, я освобождаю, поэтому нет утечки памяти из кода моего приложения.
ОБНОВЛЕНИЕ 1: Существует подробное обсуждение о том, как я могу позвонить C_Finalize
в Application_End
ASP.NET. Основная причина, по которой я не смог использовать это, потому что после перезапуска / тайм-аута потоки ASP.net обращаются к одному сеансу, что приводит к ошибке CKR_OPERATION_ACTIVE. В моем случае несколько приложений обращаются к HSM через веб-сервис.