Pkcs11 ckr device error

Pkcs11 ckr device error Все функции из реализации стандарта PKCS#11 возвращают различные коды ошибок. Все возвращаемые коды ошибок делятся на две большие группы: стандартные коды ошибок, которые описаны в стандарте. Для каждого кода ошибки есть разъяснение, в каких ситуациях он может быть возвращен. специальные коды ошибок, которые определяются каждым разработчиком реализации стандарта PKCS#11. Ситуации, […]

Содержание

  1. Pkcs11 ckr device error
  2. Стандартные коды ошибок
  3. Pkcs11 ckr device error
  4. Стандартные коды ошибок
  5. Функции управления слотами и устройствами¶
  6. C_GetSlotList ¶
  7. C_GetSlotInfo ¶
  8. C_GetTokenInfo ¶
  9. C_WaitForSlotEvent ¶
  10. C_GetMechanismList ¶
  11. C_GetMechanismInfo ¶
  12. C_InitToken ¶
  13. C_InitPIN ¶
  14. C_SetPIN ¶

Pkcs11 ckr device error

Все функции из реализации стандарта PKCS#11 возвращают различные коды ошибок. Все возвращаемые коды ошибок делятся на две большие группы:

  • стандартные коды ошибок, которые описаны в стандарте. Для каждого кода ошибки есть разъяснение, в каких ситуациях он может быть возвращен.
  • специальные коды ошибок, которые определяются каждым разработчиком реализации стандарта PKCS#11. Ситуации, в которых могут быть возвращены специальные коды ошибок разработчик реализации стандарта определяет самостоятельно.

Все функции из реализации стандарта PKCS#11 возвращают специальные коды ошибок (определяются производителем).

Все функции из реализации расширения стандарта PKCS#11 возвращают специальные коды ошибок (определяются производителем).

Стандартные коды ошибок

В силу особенностей реализации библиотек rtPKCS11 и rtPKCS11ECP некоторые стандартные функции могут вернуть стандартный код ошибки PKCS#11, не входящий в список допустимых для данной функции. Подобная ситуация является исключением. Стандартные коды ошибок, возвращаемые каждой функцией в исключительных ситуациях, перечислены в описании для каждой функции отдельно.

В таблице ниже приведен список кодов ошибок стандарта PKCS#11 и их описаний, поддерживаемых устройствами Рутокен. Подробную информацию по каждому коду ошибки можно найти в стандарте (английский язык).

Коды ошибок стандарта PKCS #11, поддерживаемые устройствами Рутокен

Источник

Pkcs11 ckr device error

Все функции из реализации стандарта PKCS#11 возвращают различные коды ошибок. Все возвращаемые коды ошибок делятся на две большие группы:

  • стандартные коды ошибок, которые описаны в стандарте. Для каждого кода ошибки есть разъяснение, в каких ситуациях он может быть возвращен.
  • специальные коды ошибок, которые определяются каждым разработчиком реализации стандарта PKCS#11. Ситуации, в которых могут быть возвращены специальные коды ошибок разработчик реализации стандарта определяет самостоятельно.

Все функции из реализации стандарта PKCS#11 возвращают специальные коды ошибок (определяются производителем).

Все функции из реализации расширения стандарта PKCS#11 возвращают специальные коды ошибок (определяются производителем).

Стандартные коды ошибок

В силу особенностей реализации библиотек rtPKCS11 и rtPKCS11ECP некоторые стандартные функции могут вернуть стандартный код ошибки PKCS#11, не входящий в список допустимых для данной функции. Подобная ситуация является исключением. Стандартные коды ошибок, возвращаемые каждой функцией в исключительных ситуациях, перечислены в описании для каждой функции отдельно.

В таблице ниже приведен список кодов ошибок стандарта PKCS#11 и их описаний, поддерживаемых устройствами Рутокен. Подробную информацию по каждому коду ошибки можно найти в стандарте (английский язык).

Коды ошибок стандарта PKCS #11, поддерживаемые устройствами Рутокен

Источник

Функции управления слотами и устройствами¶

C_GetSlotList ¶

CK_RV C_GetSlotList ( CK_BBOOLtokenPresent, CK_SLOT_ID_PTRpSlotList, CK_ULONG_PTRpulCount ) ¶

Параметры:
  • tokenPresent (in) – определяет, что возвращаемый список содержит только слоты с подключенными токенами/ридерами со смарт-картами ( CK_TRUE ) или все слоты, в т.ч. подключенные ридеры без смарт-карт ( CK_FALSE ).
  • pSlotList (out) – массив слотов.
  • pulCount (in/out) – указатель на переменную типа CK_ULONG для записи количества слотов.

Функция используется для получения списка слотов в системе. При этом возвращает список только слотов с поддерживаемыми апплетами.

Работа с данной функцией осуществляется в два шага:

  1. Если pSlotList == NULL_PTR – функция возвращает количество слотов в pulCount .
  2. Если pSlotList != NULL_PTR – pulCount должен содержать размер (в элементах CK_SLOT_ID ) буфера, указывающего на pSlotList . Если размер буфера достаточен, список слотов возвращается через pSlotList .

Поскольку в библиотеке всегда ровно 32 слота, подключение или отключение аппаратных устройств не влияет на список слотов, который функция C_GetSlotList записывает в массив CK_SLOT_ID , когда первый аргумент этой функции – tokenPresent – принимает значение CK_FALSE . Обратите внимание, что на каждый апплет выделятся отдельный слот, поэтому одному токену может соответствовать несколько слотов.

Запускается в режимах

Результат:
  • CKR_ARGUMENTS_BAD – недопустимые аргументы.
  • CKR_BUFFER_TOO_SMALL – вывод функции слишком велик для предоставленного буфера.
  • CKR_CRYPTOKI_NOT_INITIALIZED – функция не может быть выполнена, т.к. библиотека еще не была инициализирована (см. C_Initialize() ).
  • CKR_FUNCTION_FAILED – выполнение функции было прервано или она не может быть выполнена.
  • CKR_GENERAL_ERROR – общий сбой при работе с библиотекой.
  • CKR_HOST_MEMORY – компьютер, на котором запущена библиотека, не имеет достаточно памяти для выполнения функции.
  • CKR_OK – функция выполнена успешно.

Полный список ошибок см. в приложении .

C_GetSlotInfo ¶

CK_RV C_GetSlotInfo ( CK_SLOT_IDslotID, CK_SLOT_INFO_PTRpInfo ) ¶

Параметры:
  • slotID (in) – идентификатор слота.
  • pInfo (out) – указатель на массив байт для записи информации о слоте.

Получает информацию о заданном слоте.

Согласно стандарту PKCS #11 функция C_GetSlotInfo записывает сведения о подключённом устройстве в структуру типа CK_SLOT_INFO .

Запускается в режимах

Результат:
  • CKR_ARGUMENTS_BAD – недопустимые аргументы.
  • CKR_CRYPTOKI_NOT_INITIALIZED – функция не может быть выполнена, т.к. библиотека еще не была инициализирована (см. C_Initialize() ).
  • CKR_DEVICE_ERROR – возникла проблема с токеном и/или слотом.
  • CKR_FUNCTION_FAILED – выполнение функции было прервано или она не может быть выполнена.
  • CKR_GENERAL_ERROR – общий сбой при работе с библиотекой.
  • CKR_HOST_MEMORY – компьютер, на котором запущена библиотека, не имеет достаточно памяти для выполнения функции.
  • CKR_OK – функция выполнена успешно.

Полный список ошибок см. в приложении .

C_GetTokenInfo ¶

CK_RV C_GetTokenInfo ( CK_SLOT_IDslotID, CK_TOKEN_INFO_PTRpInfo ) ¶

Параметры:
  • slotID (in) – идентификатор токена.
  • pInfo (out) – указатель на информацию об апплете.

Возвращает указатель на структуру CK_TOKEN_INFO с информацией об апплете, соответствующем заданному слоту. В случае использования Антифрод-терминала возвращает значение флага CKF_PROTECTED_AUTHENTICATION_PATH .

Запускается в режимах

Результат:
  • CKR_CRYPTOKI_NOT_INITIALIZED – функция не может быть выполнена, т.к. библиотека еще не была инициализирована (см. C_Initialize() ).
  • CKR_DEVICE_ERROR – возникла проблема с токеном и/или слотом.
  • CKR_DEVICE_REMOVED – токен был изъят из слота.
  • CKR_FUNCTION_FAILED – выполнение функции было прервано или она не может быть выполнена.
  • CKR_GENERAL_ERROR – общий сбой при работе с библиотекой.
  • CKR_HOST_MEMORY – компьютер, на котором запущена библиотека, не имеет достаточно памяти для выполнения функции.
  • CKR_OK – функция выполнена успешно.
  • CKR_SLOT_ID_INVALID – недопустимый идентификатор слота.
  • CKR_TOKEN_NOT_PRESENT – в слоте отсутствует токен.
  • CKR_TOKEN_NOT_RECOGNIZED – токен не поддерживается.
  • CKR_ARGUMENTS_BAD – недопустимые аргументы.

Полный список ошибок см. в приложении .

C_WaitForSlotEvent ¶

CK_RV C_WaitForSlotEvent ( CK_FLAGSflags, CK_SLOT_ID_PTRpSlot, CK_VOID_PTRpReserved ) ¶

Параметры:
  • flags (in) – флаги. На данный момент поддерживается только флаг CKF_DONT_BLOCK , который определяет, блокируется ли вызов C_WaitForSlotEvent .
  • pSlot (in) – указывает на объект, в который можно записать идентификатор слота.
  • pReserved (in) – зарезервирован для будущих версий. Для этой версии должен быть равен NULL_PTR .

Отслеживает отключение и подключение устройств.

Запускается в режимах

Результат:
  • CKR_ARGUMENTS_BAD – недопустимые аргументы.
  • CKR_CRYPTOKI_NOT_INITIALIZED – функция не может быть выполнена, т.к. библиотека еще не была инициализирована (см. C_Initialize() ).
  • CKR_FUNCTION_FAILED – выполнение функции было прервано или она не может быть выполнена.
  • CKR_GENERAL_ERROR – общий сбой при работе с библиотекой.
  • CKR_HOST_MEMORY – компьютер, на котором запущена библиотека, не имеет достаточно памяти для выполнения функции.
  • CKR_NO_EVENT – возвращается, если C_WaitForSlotEvent вызвана в неблокирующемся режиме и новых событий слота нет.
  • CKR_OK – функция выполнена успешно.

Полный список ошибок см. в приложении .

C_GetMechanismList ¶

CK_RV C_GetMechanismList ( CK_SLOT_IDslotID, CK_MECHANISM_TYPE_PTRpMechanismList, CK_ULONG_PTRpulCount ) ¶

Параметры:
  • slotID (in) – идентификатор слота.
  • pMechanismList (out) – список механизмов.
  • pulCount (in/out) – указатель на переменную типа CK_ULONG для записи количества слотов.

Получает список механизмов, поддерживаемых токеном.

Работа с данной функцией осуществляется в два шага:

  1. Если pMechanismList == NULL_PTR – функция возвращает количество механизмов в pulCount .
  2. Если pMechanismList != NULL_PTR – pulCount должен содержать размер (в элементах CK_MECHANISM_TYPE ) буфера, указывающего на pMechanismList . Если размер буфера достаточен, список слотов возвращается через pMechanismList .

Функция C_GetMechanismList записывает в массив список доступных механизмов. Списки механизмов для поддерживаемых апплетов смотри в приложении.

Запускается в режимах

Результат:
  • CKR_ARGUMENTS_BAD – недопустимые аргументы.
  • CKR_BUFFER_TOO_SMALL – вывод функции слишком велик для предоставленного буфера.
  • CKR_CRYPTOKI_NOT_INITIALIZED – функция не может быть выполнена, т.к. библиотека еще не была инициализирована (см. C_Initialize() ).
  • CKR_DEVICE_ERROR – возникла проблема с токеном и/или слотом.
  • CKR_DEVICE_REMOVED – токен был изъят из слота.
  • CKR_DEVICE_MEMORY – памяти токена недостаточно для данной операции.
  • CKR_FUNCTION_FAILED – выполнение функции было прервано или она не может быть выполнена.
  • CKR_GENERAL_ERROR – общий сбой при работе с библиотекой.
  • CKR_HOST_MEMORY – компьютер, на котором запущена библиотека, не имеет достаточно памяти для выполнения функции.
  • CKR_OK – функция выполнена успешно.
  • CKR_SLOT_ID_INVALID – недопустимый идентификатор слота.
  • CKR_TOKEN_NOT_PRESENT – в слоте отсутствует токен.
  • CKR_TOKEN_NOT_RECOGNIZED – токен не поддерживается.

Полный список ошибок см. в приложении .

C_GetMechanismInfo ¶

CK_RV C_GetMechanismInfo ( CK_SLOT_IDslotID, CK_MECHANISM_TYPEtype, CK_MECHANISM_INFO_PTRpInfo ) ¶

Параметры:
  • slotID (in) – идентификатор слота.
  • type (in) – тип механизма.
  • pInfo (out) – указатель на объект для записи информации о механизме.

Получает информацию о заданном механизме.

Запускается в режимах

Результат:
  • CKR_ARGUMENTS_BAD – недопустимые аргументы.
  • CKR_CRYPTOKI_NOT_INITIALIZED – функция не может быть выполнена, т.к. библиотека еще не была инициализирована (см. C_Initialize() ).
  • CKR_DEVICE_ERROR – возникла проблема с токеном и/или слотом.
  • CKR_DEVICE_REMOVED – токен был изъят из слота.
  • CKR_DEVICE_MEMORY – памяти токена недостаточно для данной операции.
  • CKR_FUNCTION_FAILED – выполнение функции было прервано или она не может быть выполнена.
  • CKR_GENERAL_ERROR – общий сбой при работе с библиотекой.
  • CKR_HOST_MEMORY – компьютер, на котором запущена библиотека, не имеет достаточно памяти для выполнения функции.
  • CKR_OK – функция выполнена успешно.
  • CKR_SLOT_ID_INVALID – недопустимый идентификатор слота.
  • CKR_TOKEN_NOT_PRESENT – в слоте отсутствует токен.
  • CKR_TOKEN_NOT_RECOGNIZED – токен не поддерживается.

Полный список ошибок см. в приложении .

C_InitToken ¶

CK_RV C_InitToken ( CK_SLOT_IDslotID, CK_UTF8CHAR_PTRpPin, CK_ULONGulPinLen, CK_UTF8CHAR_PTRpLabel ) ¶

Параметры:
  • slotID (in) – идентификатор слота.
  • pPin (in) – указатель на PIN-код администратора.
  • ulPinLen (in) – длина PIN-кода в байтах.
  • pLabel (in) – указатель на метку токена. При указании нулевой метки токена (NULL_PTR) текущее значение метки сохраняется.

Инициализирует поддерживаемые апплеты и устанавливает метки токена.

Криптотокен

Процесс инициализации предполагает удаление всех объектов, за исключением информации о ДСЧ . При этом:

  • значение PIN-кода администратора остаётся прежним;
  • значение PIN-кода пользователя удаляется.

Криптотокен 2 ЭП

Laser

Для устройств модели JXXX v2.0 операция может выполняться в режимах администратора и гостя. Для всех остальных – только в режиме администратора. Процесс инициализации включает удаление всех объектов и последующую персонализацию апплета согласно установленным настройкам. При этом значения PIN-кодов администратора и пользователя устанавливаются на заданные. Если настройки не были установлены, то используются настройки по умолчанию:

  • PIN-код администратора – 00000000 ,
  • PIN-код пользователя – 11111111 .

Можно произвести полную очистку содержимого смарт-карты/токена, если в качестве значения PIN-кода администратора передать NULL_PTR, а его длину указать как ноль.

Datastore

Операция доступна, если для апплета инициализирован PUK-код пользователя (PIN-код администратора). Процесс инициализации предполагает удаление всех объектов. При этом:

  • значение PIN-кода администратора остаётся прежним,
  • значение PIN-кода пользователя удаляется.

Запускается в режимах

Результат:
  • CKR_ARGUMENTS_BAD – недопустимые аргументы.
  • CKR_CRYPTOKI_NOT_INITIALIZED – функция не может быть выполнена, т.к. библиотека еще не была инициализирована (см. C_Initialize() ).
  • CKR_DEVICE_ERROR – возникла проблема с токеном и/или слотом.
  • CKR_DEVICE_REMOVED – токен был изъят из слота.
  • CKR_FUNCTION_CANCELED – функция была отменена в момент исполнения.
  • CKR_DEVICE_MEMORY – памяти токена недостаточно для данной операции.
  • CKR_FUNCTION_FAILED – выполнение функции было прервано или она не может быть выполнена.
  • CKR_GENERAL_ERROR – общий сбой при работе с библиотекой.
  • CKR_HOST_MEMORY – компьютер, на котором запущена библиотека, не имеет достаточно памяти для выполнения функции.
  • CKR_OK – функция выполнена успешно.
  • CKR_PIN_LOCKED – указанный PIN-код заблокирован и не может быть использован.
  • CKR_SESSION_EXISTS – сеанс с данным токеном уже существует, следовательно, токен не может быть инициализирован.
  • CKR_SLOT_ID_INVALID – недопустимый идентификатор слота.
  • CKR_PIN_INCORRECT – неверный PIN-код.
  • CKR_TOKEN_NOT_PRESENT – в слоте отсутствует токен.
  • CKR_TOKEN_NOT_RECOGNIZED – токен не поддерживается.
  • CKR_TOKEN_WRITE_PROTECTED – данный токен защищен от записи.

Полный список ошибок см. в приложении .

C_InitPIN ¶

CK_RV C_InitPIN ( CK_SESSION_HANDLEhSession, CK_UTF8CHAR_PTRpPin, CK_ULONGulPinLen ) ¶

Параметры:
  • hSession (in) – дескриптор сеанса.
  • pPin (in) – новый PIN-код пользователя.
  • ulPinLen (in) – длина нового PIN-кода пользователя в байтах.

Инициализирует значение PIN-кода пользователя.

PIN-код может содержать символы в кодировке UTF-8 из следующего набора:

  • Буквы: A B C D E F G H I J K L M N O P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x y z А Б В Г Д Е Ё Ж З И Й К Л М Н О П Р С Т У Ф Х Ц Ч Ш Щ Ъ Ы Ь Э Ю Я а б в г д е ё ж з и й к л м н о п р с т у ф х ц ч ш щ ъ ы ь э ю я
  • Цифры: 0 1 2 3 4 5 6 7 8 9
  • Спец. символы: ! “ # % & ‘ ( ) * + , — . / : ; ? [ ] ^ _

Криптотокен

По умолчанию PIN-кода пользователя не установлен. Операция доступна, если для апплета не инициализирован PIN-код пользователя. При использовании Антифрод-терминала функция запрашивает PIN-код пользователя с подтверждением на клавиатуре терминала (в этом случае функция вызывается с любым значением параметра pPin ).

Длина PIN-кода – от 6 до 32 символов.

Криптотокен 2 ЭП

Laser

По умолчанию для PIN-кода пользователя установлено значение 11111111 . Операция доступна всегда, при её выполнении изменяется текущий PIN-код пользователя.

Длина PIN-кода – от 4 до 16 символов.

Datastore

По умолчанию для PIN-кода пользователя установлено значение 1234567890 . Операция доступна, если для апплета инициализирован PUK-код пользователя (PIN-код администратора) и не инициализирован PIN-код пользователя.

Длина PIN-кода – от 6 до 32 символов.

Запускается в режимах

Результат:
  • CKR_ARGUMENTS_BAD – недопустимые аргументы.
  • CKR_CRYPTOKI_NOT_INITIALIZED – функция не может быть выполнена, т.к. библиотека еще не была инициализирована (см. C_Initialize() ).
  • CKR_DEVICE_ERROR – возникла проблема с токеном и/или слотом.
  • CKR_DEVICE_REMOVED – токен был изъят из слота.
  • CKR_FUNCTION_CANCELED – функция была отменена в момент исполнения.
  • CKR_DEVICE_MEMORY – памяти токена недостаточно для данной операции.
  • CKR_FUNCTION_FAILED – выполнение функции было прервано или она не может быть выполнена.
  • CKR_GENERAL_ERROR – общий сбой при работе с библиотекой.
  • CKR_HOST_MEMORY – компьютер, на котором запущена библиотека, не имеет достаточно памяти для выполнения функции.
  • CKR_OK – функция выполнена успешно.
  • CKR_PIN_INVALID – недопустимый PIN-код.
  • CKR_PIN_LEN_RANGE – недопустимый размер PIN-кода.
  • CKR_SESSION_CLOSED – сеанс был закрыт в момент выполнения функции.
  • CKR_PIN_LOCKED – указанный PIN-код заблокирован и не может быть использован.
  • CKR_SLOT_ID_INVALID – недопустимый идентификатор слота.
  • CKR_TOKEN_NOT_PRESENT – в слоте отсутствует токен.
  • CKR_SESSION_READ_ONLY – сеанс открыт только на чтение.
  • CKR_SESSION_HANDLE_INVALID – недопустимый дескриптор сеанса.
  • CKR_USER_NOT_LOGGED_IN – действие не может быть выполнено, т.к. пользователь не залогинен.
  • CKR_TOKEN_NOT_RECOGNIZED – токен не поддерживается.
  • CKR_TOKEN_WRITE_PROTECTED – данный токен защищен от записи.

Полный список ошибок см. в приложении .

C_SetPIN ¶

CK_RV C_SetPIN ( CK_SESSION_HANDLEhSession, CK_UTF8CHAR_PTRpOldPin, CK_ULONGulOldLen, CK_UTF8CHAR_PTRpNewPin, CK_ULONGulNewLen ) ¶

Параметры:
  • hSession (in) – дескриптор сеанса.
  • pOldPin (in) – старый PIN-код.
  • ulOldLen (in) – длина старого PIN-кода в байтах.
  • pNewPin (in) – новый PIN-код.
  • ulNewLen (in) – длина нового PIN-кода в байтах.

Меняет PIN-код пользователя/администратора/подписи. PIN-код пользователя должен быть предварительно инициализирован (см. C_InitPIN() ).

PIN-код может содержать символы в кодировке UTF-8 из следующего набора:

  • Буквы: A B C D E F G H I J K L M N O P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x y z А Б В Г Д Е Ё Ж З И Й К Л М Н О П Р С Т У Ф Х Ц Ч Ш Щ Ъ Ы Ь Э Ю Я а б в г д е ё ж з и й к л м н о п р с т у ф х ц ч ш щ ъ ы ь э ю я
  • Цифры: 0 1 2 3 4 5 6 7 8 9
  • Спец. символы: ! “ # % & ‘ ( ) * + , — . / : ; ? [ ] ^ _

Криптотокен

Функция меняет PIN-коды пользователя и администратора.

Длина PIN-кодов пользователя/администратора – от 6 до 32 символов.

При работе апплета Криптотокен с использованием Антифрод-терминала для смены PIN-кода (как пользователя, так и администратора) требуется ввести на терминале текущее значение PIN-кода и новое значение. При этом для подтверждения нового значения PIN-кода запрашивается его повторный ввод.

Криптотокен 2 ЭП

Функция меняет PIN-коды пользователя и подписи.

Длина PIN-кодов пользователя/подписи – от 6 до 32 символов.

Смена ключа администратора безопасности возможна с помощью ПО «АРМ администратора безопасности JaCarta-2 ГОСТ» или «АРМ разработчика JaCarta-2 ГОСТ».

Laser

Функция меняет PIN-коды пользователя и администратора.

Длина PIN-кодов пользователя/администратора – от 4 до 16 символов.

Datastore

Функция меняет PIN-коды пользователя и администратора.

Длина PIN-кодов пользователя/администратора – от 6 до 32 символов.

Источник

Hi all:
I got a problem when my application runing on SunOS TEST 5.10 Generic_137111-08 sun4v sparc SUNW,SPARC-Enterprise-T5220

JDK version:
java version «1.6.0_11» (32-Biit)
Java(TM) SE Runtime Environment (build 1.6.0_11-b03)
Java HotSpot(TM) Server VM (build 11.0-b16, mixed mode)

AxisFault
faultCode: {http://schemas.xmlsoap.org/soap/envelope/}Server.userException
faultSubcode:
faultString: java.security.ProviderException: nextBytes() failed
faultActor:
faultNode:
faultDetail:
{http://xml.apache.org/axis/}stackTrace:java.security.ProviderException: nextBytes() failed
at sun.security.pkcs11.P11SecureRandom.engineNextBytes(P11SecureRandom.java:96)
at java.security.SecureRandom.nextBytes(SecureRandom.java:433)
at org.apache.axis.utils.SessionUtils.generateSessionId(SessionUtils.java:62)
at org.apache.axis.SOAPPart.<init>(SOAPPart.java:164)
at org.apache.axis.Message.setup(Message.java:377)
at org.apache.axis.Message.<init>(Message.java:246)
at org.apache.axis.client.Call.invoke(Call.java:2425)
at org.apache.axis.client.Call.invoke(Call.java:2366)
at org.apache.axis.client.Call.invoke(Call.java:1812)
at com.test.webservice.crmclient.SyncNotifySoapBindingStub.orderConfirm(SyncNotifySoapBindingStub.java:160)
at com.test.webservice.crmclient.isp.SyncNotifyClient.syncNotifyCRM(SyncNotifyClient.java:40)
at com.test.model.CheckPriceCommander.doUnSubscription(CheckPriceCommander.java:3528)
at com.test.msgworker.CommandHandler.dealCheckPrice(CommandHandler.java:163)
at com.test.msgworker.distribution.PostUserBZShortTermCommand$HandlingWork.run(PostUserBZShortTermCommand.java:67)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
at java.lang.Thread.run(Thread.java:619)
Caused by: sun.security.pkcs11.wrapper.PKCS11Exception: CKR_DEVICE_ERROR
at sun.security.pkcs11.wrapper.PKCS11.C_GenerateRandom(Native Method)
at sun.security.pkcs11.P11SecureRandom.engineNextBytes(P11SecureRandom.java:93)
… 16 more

Then I tried this version:

java version «1.6.0_18»
Java(TM) SE Runtime Environment (build 1.6.0_18-b07)
Java HotSpot(TM) 64-Bit Server VM (build 16.0-b13, mixed mode)

But it seems doesn’t work.

How can I solve this problem? Is it an OS bug ?
Thanks!

Regards,
Tian

Все функции из реализации стандарта PKCS#11 возвращают различные коды ошибок. Все возвращаемые коды ошибок делятся на две большие группы:

Все функции из реализации стандарта PKCS#11 возвращают специальные коды ошибок (определяются производителем).

Все функции из реализации расширения стандарта PKCS#11 возвращают специальные коды ошибок (определяются производителем).

Стандартные коды ошибок

В силу особенностей реализации библиотек rtPKCS11 и rtPKCS11ECP некоторые стандартные функции могут вернуть стандартный код ошибки PKCS#11, не входящий в список допустимых для данной функции. Подобная ситуация является исключением. Стандартные коды ошибок, возвращаемые каждой функцией в исключительных ситуациях, перечислены в описании для каждой функции отдельно.

В таблице 2.29 приведен список кодов ошибок стандарта PKCS#11 и их описаний, поддерживаемых устройствами Рутокен. Подробную информацию по каждому коду ошибки можно найти в стандарте (английский язык) или приложении (русский язык).

Таблица
2.29
. Коды ошибок стандарта

Код ошибки

Описание

CKR_ARGUMENTS_BAD

Недопустимый аргумент

CKR_ATTRIBUTE_READ_ONLY

Невозможно установить или изменить значение атрибута приложением

CKR_ATTRIBUTE_SENSITIVE

Атрибут недоступен для чтения

CKR_ATTRIBUTE_TYPE_INVALID

Некорректный тип атрибута

CKR_ATTRIBUTE_VALUE_INVALID

Некорректное значение атрибута

CKR_BUFFER_TOO_SMALL

Размер заданного буфера является недостаточным для вывода результатов выполнения функции

Библиотека не поддерживает блокировку для защиты потоков; возвращается только при вызове функции C_Initialize

CKR_CRYPTOKI_ALREADY_INITIALIZED

Библиотека уже инициализирована (предыдущий вызов функции C_Initialize
не был сопровожден соответствующим вызовом функции С_Finalize
); возвращается только при вызове функции C_Initialize

CKR_CRYPTOKI_NOT_INITIALIZED

Выполнение функции невозможно, так как библиотека не инициализирована; возвращается только при вызове любой функции, за исключением C_Initialize
иС_Finalize

CKR_DATA_INVALID

Некорректные входные данные для выполнения криптографической операции

CKR_DATA_LEN_RANGE

Входные данные имеют некорректный размер для выполнения криптографической операции

CKR_DEVICE_ERROR

Ошибка при обращении к токену или слоту

CKR_DEVICE_MEMORY

Недостаточно памяти токена для выполнения запрошенной функции

CKR_DEVICE_REMOVED

Токен был удален из слота во время выполнения функции

CKR_DOMAIN_PARAMS_INVALID

Функции переданы некорректные или не поддерживаемые параметры домена

CKR_ENCRYPTED_DATA_INVALID

Для операции расшифрования переданы некорректно зашифрованные данные

CKR_ENCRYPTED_DATA_LEN_RANGE

Для операции расшифрования переданы зашифрованные данные некорректного размера

CKR_FUNCTION_CANCELED

Выполнение функции было прервано

CKR_FUNCTION_FAILED

При выполнении функции возник сбой

CKR_FUNCTION_NOT_SUPPORTED

Запрашиваемая функция не поддерживается библиотекой

CKR_FUNCTION_REJECTED

Запрос на подпись был отклонен пользователем

CKR_GENERAL_ERROR

Критическая ошибка, связанная с аппаратным обеспечением

Недостаточно памяти для выполнения функции на рабочей станции, где установлена библиотека

CKR_KEY_FUNCTION_NOT_PERMITTED

Атрибуты ключа не позволяют выполнить операцию

CKR_KEY_HANDLE_INVALID

Функции передан некорректный идентификатор (хэндл) ключа

CKR_KEY_NOT_WRAPPABLE

Невозможно зашифровать ключ

CKR_KEY_SIZE_RANGE

Недопустимый размер ключа

CKR_KEY_TYPE_INCONSISTENT

Тип ключа не соответствует данному механизму

CKR_KEY_UNEXTRACTABLE

Невозможно зашифровать ключ, так как атрибут CKA_UNEXTRACTABLE установлен в значение CK_TRUE

CKR_MECHANISM_INVALID

Указан неправильный механизм для выполнения криптографической операции

CKR_MECHANISM_PARAM_INVALID

Указаны неправильные параметры механизма для выполнения криптографической операции

CKR_NEED_TO_CREATE_THREADS

Программа не поддерживает внутренних методов операционной системы для создания новых потоков

CKR_OBJECT_HANDLE_INVALID

Функции передан некорректный идентификатор (хэндл) объекта

CKR_OPERATION_ACTIVE

Выполнение операции невозможно, поскольку такая операция уже выполняется

CKR_OPERATION_NOT_INITIALIZED

Невозможно выполнить операцию в этой сессии

Срок действия PIN-кода истек

CKR_PIN_INCORRECT

Функции передан PIN-код, который не соответствует тому, который сохранен на токене

Значение PIN-кода содержит недопустимые символы

CKR_PIN_LEN_RANGE

Недопустимая длина PIN-кода

CKR_RANDOM_NO_RNG

Данный токен не поддерживает генерацию случайных чисел

CKR_SESSION_CLOSED

Сессия была закрыта во время выполнения функции

CKR_SESSION_COUNT

Достигнуто предельное количество открытых сессий для данного токена

CKR_SESSION_EXISTS

Сессия с токеном уже открыта и поэтому токен не может быть инициализирован

CKR_SESSION_HANDLE_INVALID

Функции передан некорректный идентификатор (хэндл) сеанса

CKR_SESSION_PARALLEL_NOT_SUPPORTED

Данный токен не поддерживает параллельные сессии

CKR_SESSION_READ_ONLY

Невозможно выполнить действие, поскольку это сессия R/O

CKR_SESSION_READ_WRITE_SO_EXISTS

Уже открыта сессия R/W, поэтому открыть сессию R/O невозможно

CKR_SIGNATURE_INVALID

Неверное значение ЭЦП

CKR_SIGNATURE_LEN_RANGE

Значение ЭЦП неверно по длине

CKR_SLOT_ID_INVALID

Слота с данным ID не существует

CKR_TEMPLATE_INCOMPLETE

Для создания объекта недостаточно атрибутов

CKR_TEMPLATE_INCONSISTENT

Заданные атрибуты противоречат друг другу

CKR_TOKEN_NOT_PRESENT

Токен отсутствует в слоте во время вызова функции

CKR_UNWRAPPING_KEY_HANDLE_INVALID

Функции передан некорректный идентификатор (хэндл) ключа дешифрования

CKR_UNWRAPPING_KEY_SIZE_RANGE

Недопустимый размер ключа дешифрования

CKR_UNWRAPPING_KEY_TYPE_INCONSISTENT

Тип ключа дешифрования не соответствует данному механизму

CKR_USER_ALREADY_LOGGED_IN

CKR_USER_ANOTHER_ALREADY_LOGGED_IN

CKR_USER_NOT_LOGGED_IN

CKR_USER_PIN_NOT_INITIALIZED

Не инициализирован PIN-код пользователя

CKR_USER_TOO_MANY_TYPES

CKR_USER_TYPE_INVALID

Задан некорректный тип пользователя

CKR_WRAPPED_KEY_INVALID

Задан некорректный зашифрованный ключ

CKR_WRAPPED_KEY_LEN_RANGE

Задана некорректная длина зашифрованного ключа

CKR_WRAPPING_KEY_HANDLE_INVALID

Функции передан некорректный идентификатор (хэндл) ключа шифрования

CKR_WRAPPING_KEY_SIZE_RANGE

Недопустимый размер ключа шифрования

CKR_WRAPPING_KEY_TYPE_INCONSISTENT

Тип ключа шифрования не соответствует данному механизму

Специальные коды ошибок

В таблице 2.30 приведен список всех расширенных кодов ошибок стандарта PKCS #11 вместе с их описанием. Расширенные коды ошибок могут возвращать как стандартные функции, так и функции расширения.

Таблица 2.30
. Коды ошибок стандарта
PKCS #11, поддерживаемые устройствами Рутокен

Код ошибки

Описание

CKR_CORRUPTED_MAPFILE

Данная ошибка возвращается при повреждении MAP-файла (при считывании MAP-файла было обнаружено, что тег заголовка MAP-файла (2 байта) является недопустимым)

CKR_RTPKCS11_DATA_CORRUPTED

Данная ошибка возвращается, если было обнаружено нарушение целостности данных на токене (при считывании файла, содержащего объект PKCS#11, было обнаружено, что тег заголовка объекта (2 байта) является недопустимым)

CKR_WRONG_VERSION_FIELD

Данная ошибка возвращается, если файл, содержащий объект PKCS#11, имеет некорректную версию (при считывании любого файла (MAP-файла или файла, содержащего объект PKCS#11) было обнаружено, что версия заголовка (4 байта) является недопустимой)

CKR_WRONG_
PKCS1_
ENCODING

Данная ошибка возвращается, если расшифрованное сообщение имеет некорректную форму

CKR_RTPKCS11_RSF_DATA_CORRUPTED

Данная ошибка возвращается, если попытка использовать RSF-файл завершилась неудачей

Добрый день!. Последние два дня у меня была интересная задача по поиску решения на вот такую ситуацию, есть физический или виртуальный сервер, на нем установлена наверняка многим известная КриптоПРО. На сервер подключен , который используется для подписи документов для ВТБ24 ДБО
. Локально на Windows 10 все работает, а вот на серверной платформе Windows Server 2016 и 2012 R2, Криптопро не видит ключ JaCarta
. Давайте разбираться в чем проблема и как ее поправить.

Описание окружения

Есть виртуальная машина на Vmware ESXi 6.5, в качестве операционной системы установлена Windows Server 2012 R2 . На сервере стоит КриптоПРО 4.0.9944, последней версии на текущий момент. С сетевого USB хаба, по технологии USB over ip , подключен ключ JaCarta. Ключ в системе видится
, а вот в КриптоПРО нет.

Алгоритм решения проблем с JaCarta

КриптоПРО очень часто вызывает различные ошибки в Windows, простой пример (Windows installer service could not be accessed). Вот так вот выглядит ситуация, когда утилита КриптоПРО не видит сертификат в контейнере.

Как видно в утилите UTN Manager ключ подключен, он видится в системе в смарт картах в виде Microsoft Usbccid (WUDF) устройства, но вот CryptoPRO, этот контейнер не определяет и у вас нет возможности установить сертификат. Локально токен подключали, все было то же самое. Стали думать что сделать.

Возможные причины с определением контейнера

  1. Во первых, это проблема с драйверами, например, в Windows Server 2012 R2, JaCarta в идеале должна определяться в списке смарт карт как JaCarta Usbccid Smartcard, а не Microsoft Usbccid (WUDF)
  2. Во вторых если устройство видится как Microsoft Usbccid (WUDF), то версия драйверов может быть устаревшей, и из-за чего ваши утилиты будут не определять защищенный USB носитель.
  3. Устарелая версия CryptoPRO

Как решить проблему, что криптопро не видит USB ключ?

Создали новую виртуальную машину и стали ставить софт все последовательно.

Перед установкой любого программного обеспечения работающего с USB носителями на которых находятся сертификаты и закрытые ключи. Нужно ОБЯЗАТЕЛЬНО
отключить токен, если воткнут локально, то отключаем его, если по сети, разрываем сессию

  • Первым делом обновляем вашу операционную систему , всеми доступными обновлениями, так как Microsoft исправляет много ошибок и багов, в том числе и драйверами.
  • Вторым пунктом является, в случае с физическим сервером, установить все свежие драйвера на материнскую плату и все периферийное оборудование.
  • Далее устанавливаете Единый Клиент JaCarta.
  • Устанавливаете свежую версию КриптоПРО

Установка единого клиента JaCarta PKI

Единый Клиент JaCarta
— это специальная утилита от компании «Аладдин», для правильной работы с токенами JaCarta. Загрузить последнюю версию, данного программного продукта, вы можете с официального сайта, или у меня с облака, если вдруг, не получиться с сайта производителя.

Далее полученный архив вы распаковываете и запускаете установочный файл, под свою архитектуру Windows , у меня это 64-х битная. Приступаем к установке Jacarta драйвера. Единый клиент Jacarta, ставится очень просто (НАПОМИНАЮ ваш токен в момент инсталляции, должен быть отключен). На первом окне мастера установки, просто нажимаем далее.

Принимаем лицензионное соглашение и нажимаем «Далее»

Чтобы драйвера токенов JaCarta у вас работали корректно, достаточно выполнить стандартную установку.

Если выберете «Выборочную установку», то обязательно установите галки:

  • Драйверы JaCarta
  • Модули поддержки
  • Модуль поддержки для КриптоПРО

Через пару секунд, Единый клиент Jacarta, успешно установлен.

Обязательно произведите перезагрузку сервера или компьютера, чтобы система увидела свежие драйвера.

После установки JaCarta PKI, нужно установить КриптоПРО, для этого заходите на официальный сайт.

https://www.cryptopro.ru/downloads

На текущий момент самая последняя версия КриптоПро CSP 4.0.9944. Запускаем установщик, оставляем галку «Установить корневые сертификаты» и нажимаем «Установить (Рекомендуется)»

Инсталляция КриптоПРО будет выполнена в фоновом режиме, после которой вы увидите предложение, о перезагрузке браузера, но я вам советую полностью перезагрузиться.

После перезагрузки подключайте ваш USB токен JaCarta. У меня подключение идет по сети, с устройства DIGI, через . В клиенте Anywhere View, мой USB носитель Jacarta, успешно определен, но как Microsoft Usbccid (WUDF), а в идеале должен определиться как JaCarta Usbccid Smartcard, но нужно в любом случае проверить, так как все может работать и так.

Открыв утилиту «Единый клиент Jacarta PKI», подключенного токена обнаружено не было, значит, что-то с драйверами.

Microsoft Usbccid (WUDF) — это стандартный драйвер Microsoft, который по умолчанию устанавливается на различные токены, и бывает, что все работает, но не всегда. Операционная система Windows по умолчанию, ставит их в виду своей архитектуры и настройки, мне вот лично в данный момент такое не нужно. Что делаем, нам нужно удалить драйвера Microsoft Usbccid (WUDF) и установить драйвера для носителя Jacarta.

Откройте диспетчер устройств Windows, найдите пункт «Считыватели устройств смарт-карт (Smart card readers)» щелкните по Microsoft Usbccid (WUDF) и выберите пункт «Свойства». Перейдите на вкладку «Драйвера» и нажмите удалить (Uninstall)

Согласитесь с удалением драйвера Microsoft Usbccid (WUDF).

Вас уведомят, что для вступления изменений в силу, необходима перезагрузка системы, обязательно соглашаемся.

После перезагрузки системы, вы можете увидеть установку устройства и драйверов ARDS Jacarta.

Откройте диспетчер устройств, вы должны увидеть, что теперь ваше устройство определено, как JaCarta Usbccid Smartcar и если зайти в его свойства, то вы увидите, что смарт карта jacarta, теперь использует драйвер версии 6.1.7601 от ALADDIN R.D.ZAO, так и должно быть.

Если открыть единый клиент Jacarta, то вы увидите свою электронную подпись, это означает, что смарт карта нормально определилась.

Открываем CryptoPRO, и видим, что криптопро не видит сертификат в контейнере, хотя все драйвера определились как нужно. Есть еще одна фишка.

  1. В RDP сессии вы не увидите свой токен, только локально, уж такая работа токена, либо я не нашел как это поправить. Вы можете попробовать выполнить рекомендации по устранению ошибки «Не возможно подключиться к службе управления смарт-картами».
  2. Нужно снять одну галку в CryptoPRO

ОБЯЗАТЕЛЬНО снимите галку «Не использовать устаревшие cipher suite-ы» и перезагрузитесь
.

После этих манипуляций у меня КриптоПРО увидел сертификат и смарт карта jacarta стала рабочей, можно подписывать документы.

Еще можете в устройствах и принтерах, увидеть ваше устройство JaCarta,

Если у вас как и у меня, токен jacarta установлен в виртуальной машине, то вам придется устанавливать сертификат, через console виртуальной машины, и так же дать на нее права ответственному человеку. Если это физический сервер, то там придется давать права на порт управления , в котором так же есть виртуальная консоль.

Когда вы установили все драйвера для токенов Jacarta, вы можете увидеть при подключении по RDP и открытии утилиты «Единый клиент Jacarta PKI» вот такое сообщение с ошибкой:

  1. Не запущена служба смарт-карт на локальной машине. Архитектурой RDP-сессии, разработанной Microsoft, не предусмотрено использование ключевых носителей, подключенных к удалённому компьютеру, поэтому в RDP-сессии удалённый компьютер использует службу смарт-карт локального компьютера. Из этого следует что, запуска службы смарт-карт внутри RDP-сессии недостаточно для нормальной работы.
  2. Служба управления смарт-картами на локальном компьютере запущена, но недоступна для программы внутри RDP-сессии из-за настроек Windows и/или RDP-клиента.

Как исправить ошибку «Не возможно подключиться к службе управления смарт-картами».

  • Запустите службу смарт-карт на локальной машине, с которой вы инициируете сеанс удалённого доступа. Настройте её автоматический запуск при старте компьютера.
  • Разрешите использование локальных устройств и ресурсов во время удалённого сеанса (в частности, смарт-карт). Для этого, в диалоге «Подключение к удалённому рабочему столу» в параметрах выберите вкладку «Локальные ресурсы», далее в группе «Локальные устройства и ресурсы» нажмите кнопку «Подробнее…», а в открывшемся диалоге выберите пункт «Смарт-карты» и нажмите «ОК», затем «Подключить».

  • Убедитесь в сохранности настроек RDP-подключения. По умолчанию они сохраняются в файле Default.rdp в каталоге «Мои Документы» Проследите, чтобы в данном файле присутствовала строчка «redirectsmartcards:i:1».
  • Убедитесь в том, что на удалённом компьютере, к которому вы осуществляете RDP-подключение, не активирована групповая политика
    -[Конфигурация компьютераадминистративные шаблоныкомпоненты windowsслужбы удалённых рабочих столовузел сеансов удалённых рабочих столовперенаправление устройств и ресурсовНе разрешать перенаправление устройства чтения смарт-карт]. Если она включена (Enabled), то отключите её, и перегрузите компьютер.
  • Если у вас установлена Windows 7 SP1 или Windows 2008 R2 SP1 и вы используете RDC 8.1 для соединения с компьютерами под управлением Windows 8 и выше, то вам необходимо установить обновление для операционной системы https://support.microsoft.com/en-us/kb/2913751

Вот такой вот был траблшутинг по настройке токена Jacarta, КриптоПРО на терминальном сервере, для подписи документов в ВТБ24 ДБО. Если есть замечания или поправки, то пишите их в комментариях.

Приветствую, читатель!

По общению с некоторыми активно интересующимися читателями, я решил повторить свой «поисковой» эксперимент, который я делал, когда писал первые обзорные материалы на темы токенов. На этот раз я решил собрать в кучу неудачные опыты использования токенов, собрать ошибки Jacarta. Пишу сразу с конкретикой, так как думаю сделать разные подборки для каждой из марки. Начнем с лидера рынка, компания Аладдин Р.Д. и их продукт Jacarta, токен, который используется именно для ЕГАИС.

Чего не будет в этом посте:

1. я не буду давать решения для ошибок Jacarta, потому что каждая ситуация индивидуальна.

2.Может быть и так, что Джакарта-токен не причина ошибки. Это может быть УТМ и т.д. Поэтому каждый случай надо разбирать в отдельность

3.Умножение ошибок, дабы очернить продукт. Моя задача дать предельно стороннюю сводку того, с чем чаще всего стакиваются пользователи Jacarta токена в ЕГАИСе.

Подборка и систематизация отзывов о Джакарте

В прошлый раз мое исследование было ограниченно официальным форумом ЕГАИС (http://egais2016.ru/), сейчас я расширил спектр изучения форумов, чтобы сделать материал более обширным.

Итак, Джакарта-токен для ЕГАИС будет анализироваться по отзывам со следующих источников:

    Естественно, боле всего результатов обнаружилось на форуме ЕГАС

    Итого, по запросу вышло у нас 630 сообщений

    Нашлось 3 толстых ветки

    Например, вот случай, когда полетело подряд 8 JaCarta-токенов
    из-за, цитирую:

    «Ошибка 0х00000006 в разделе PKI при попытке форматирования. Либо джакарта просто не определяется как устройство. Обновляли клиент до версии 2,9. Пробовали через jacarta format. Ни один способ ни разу не помог»

    Проблема, когда не система просто не видит Jacarta, действительно серьезная и самая, пожалуй, распространенная. Другой вопрос в том, что причин появления этой ошибки могут быть различные нарушения.

    Еще одна обнаруженная ошибка, когда опять-таки Джакарта не определяется, устройства не видят Jacarta. Забавно отметить, что Аладдин дает ответные письма по негодованиям пользователей, но по другой проблеме =)))) Но дают же! Это важно.

    Частенько ошибки при обнаружении и инсталляции, но там могут быть и проблемы дистрибутивов УТМ, что тоже очень часто происходит. Я внимательно читаю все ветки и поэтому будьте уверены, не буду указывать тут не существующих ошибок для Jacarta. Хотя тут вопрос весьма сложный, так как когда система не видит Jacarta, это может быть обоюдная пролема.

    В одной из уже указанных веток есть вот такой интересный коммент

    А что теперь делать пользователям Jacarta токена, когда связи между Жемальто и Аладдином расторгнуты?

    На форуме egaisa.net

    Нашлось 5 веток обсуждений

    В основном типовые ошибки при инициализации работы, а также когда уже все настройки сделаны, непостоянная работа Джакарты. Также часты ошибки после обновлений, когда система не находит или не видит Jacarta

    Если почитать форумы более внимательно, то выйдет, что на начальном этапе всем впаривали Jacarta токен для ЕГАИСА, не вникая в подробности и вообще не просвещая клиентов, что не только Джакарта может быть… Но об этом мы уже не раз говорили, а вы можете убедиться.

    Давайте вернемся к ЕГАИС форуму.

    Всего у нас ответов по поисковику 630 за все время работы. Естественно проблемы более чем годичной давности рассматривать нет смысла.

    Например, из самых частых ошибок

    1. Ошибки при попытке формирования сертификата RSA
    2. Ошибки синхронизации с УТМ
    3. Ошибка при обновлении
    4. Ошибка 610
    5. Ошибка обнаружения Jacarta

    Почему у Джакарта плохие отзывы?

    Подытожим, что Джакарта токен много кем используется, однако стабильность работы хромает. Я также нашел такое мнение, что это м.б. зависеть от «партии поставки», наверное это очень странно, так как ПО-шки для всех одни и те же должны быть. Возможно это результат того, что в итоге Джакарта собирается из множества разноразрозненных деталей, что приводит к нестабильной работе и умиранию всего организма в целом.

    В следующей серии поговорим о Рутокене, смарт-картах и других продуктах СКЗИ.

    Спасибо, что остаетесь на связи.

    Носитель Jacarta PKI/ГОСТ блокируется при многочисленных попытках ввести неверный пин-код. При этом теряется связь с сервером ФСРАР, и данные о фактурах не поступают в вашу учетную систему. Как быстро разблокировать ключ и восстановить работу с ЕГАИС?

    По умолчанию на всех новых носителях установлены следующие пароли:

    PKI 11 11 11 11
    Администратор PKI 00 00 00 00
    ГОСТ 0987654321
    Администратор ГОСТ 1234567890

    Для снятия блокировки на компьютере должна быть установлена программа Единый клиент Jacarta. Если настройка и установка ЕГАИС производилась нашими специалистами, то эта программа у вас уже есть.

    Запустите программу и дождитесь, когда в окне Единого клиента появится информация о носителе Jacarta PKI/ГОСТ.

    Снятие блокировки ГОСТ

    В разделе ГОСТ записан сертификат КЭП, выданный в удостоверяющем центре. Будьте внимательны
    — нельзя удалять из этого раздела какие-либо компоненты. После удаления придется повторно обращаться в удостоверяющий центр для выпуска ключа.

    Чтобы разблокировать пин-код ГОСТ, в верхнем меню “Операции с приложением” выберите первый пункт “Разблокировать PIN-код пользователя”. На экране появится уведомление, что снятие блокировки обнулит счетчик ошибочных попыток ввода.

    Нажмите “ОК” и во вновь открывшемся окне введите пин-код администратора Jacarta ГОСТ
    1234567890. После обнуления счетчика ошибок введите стандартный пин-код пользователя ГОСТ 0987654321.

    Важно: эта процедура поможет только скинуть счетчик, но не изменить забытый пароль на новый. Если вы изменили пароль ГОСТ, установленный по умолчанию, и забыли его, придется проводить инициализацию и вновь записывать ключ в удостоверяющем центре.

    Снятие блокировки PKI

    В контейнере PKI записан RSA-ключ, который генерируется в личном кабинете на сайте egais.ru. В случае утери пин-кода этот раздел может быть инициализирован (полностью очищен), так как вы можете повторно записать ключ самостоятельно и бесплатно, без обращения в удостоверяющий центр.

    The class CryptokiException wraps all errors defined in the PKCS#11 2.20 specification.
    The property ErrorCode gives the error code returned by the underlying PKCS#11.
    Refer to this class the understand the meaning of an error.

    This is the error definition table:

    public const int CKR_OK                                = 0x00000000;
    public const int CKR_CANCEL                            = 0x00000001;
    public const int CKR_HOST_MEMORY                       = 0x00000002;
    public const int CKR_SLOT_ID_INVALID                   = 0x00000003;
    
    /* CKR_FLAGS_INVALID was removed for v2.0 */
    
    /* CKR_GENERAL_ERROR and CKR_FUNCTION_FAILED are new for v2.0 */
    public const int CKR_GENERAL_ERROR                     = 0x00000005;
    public const int CKR_FUNCTION_FAILED                   = 0x00000006;
    
    /* CKR_ARGUMENTS_BAD, CKR_NO_EVENT, CKR_NEED_TO_CREATE_THREADS,
     * and CKR_CANT_LOCK are new for v2.01 */
    public const int CKR_ARGUMENTS_BAD                     = 0x00000007;
    public const int CKR_NO_EVENT                          = 0x00000008;
    public const int CKR_NEED_TO_CREATE_THREADS            = 0x00000009;
    public const int CKR_CANT_LOCK                         = 0x0000000A;
    
    public const int CKR_ATTRIBUTE_READ_ONLY               = 0x00000010;
    public const int CKR_ATTRIBUTE_SENSITIVE               = 0x00000011;
    public const int CKR_ATTRIBUTE_TYPE_INVALID            = 0x00000012;
    public const int CKR_ATTRIBUTE_VALUE_INVALID           = 0x00000013;
    public const int CKR_DATA_INVALID                      = 0x00000020;
    public const int CKR_DATA_LEN_RANGE                    = 0x00000021;
    public const int CKR_DEVICE_ERROR                      = 0x00000030;
    public const int CKR_DEVICE_MEMORY                     = 0x00000031;
    public const int CKR_DEVICE_REMOVED                    = 0x00000032;
    public const int CKR_ENCRYPTED_DATA_INVALID            = 0x00000040;
    public const int CKR_ENCRYPTED_DATA_LEN_RANGE          = 0x00000041;
    public const int CKR_FUNCTION_CANCELED                 = 0x00000050;
    public const int CKR_FUNCTION_NOT_PARALLEL             = 0x00000051;
    
    /* CKR_FUNCTION_NOT_SUPPORTED is new for v2.0 */
    public const int CKR_FUNCTION_NOT_SUPPORTED            = 0x00000054;
    
    public const int CKR_KEY_HANDLE_INVALID                = 0x00000060;
    
    /* CKR_KEY_SENSITIVE was removed for v2.0 */
    
    public const int CKR_KEY_SIZE_RANGE                    = 0x00000062;
    public const int CKR_KEY_TYPE_INCONSISTENT             = 0x00000063;
    
    /* CKR_KEY_NOT_NEEDED, CKR_KEY_CHANGED, CKR_KEY_NEEDED,
     * CKR_KEY_INDIGESTIBLE, CKR_KEY_FUNCTION_NOT_PERMITTED,
     * CKR_KEY_NOT_WRAPPABLE, and CKR_KEY_UNEXTRACTABLE are new for
     * v2.0 */
    public const int CKR_KEY_NOT_NEEDED                    = 0x00000064;
    public const int CKR_KEY_CHANGED                       = 0x00000065;
    public const int CKR_KEY_NEEDED                        = 0x00000066;
    public const int CKR_KEY_INDIGESTIBLE                  = 0x00000067;
    public const int CKR_KEY_FUNCTION_NOT_PERMITTED        = 0x00000068;
    public const int CKR_KEY_NOT_WRAPPABLE                 = 0x00000069;
    public const int CKR_KEY_UNEXTRACTABLE                 = 0x0000006A;
    
    public const int CKR_MECHANISM_INVALID                 = 0x00000070;
    public const int CKR_MECHANISM_PARAM_INVALID           = 0x00000071;
    
    /* CKR_OBJECT_CLASS_INCONSISTENT and CKR_OBJECT_CLASS_INVALID
     * were removed for v2.0 */
    public const int CKR_OBJECT_HANDLE_INVALID             = 0x00000082;
    public const int CKR_OPERATION_ACTIVE                  = 0x00000090;
    public const int CKR_OPERATION_NOT_INITIALIZED         = 0x00000091;
    public const int CKR_PIN_INCORRECT                     = 0x000000A0;
    public const int CKR_PIN_INVALID                       = 0x000000A1;
    public const int CKR_PIN_LEN_RANGE                     = 0x000000A2;
    
    /* CKR_PIN_EXPIRED and CKR_PIN_LOCKED are new for v2.0 */
    public const int CKR_PIN_EXPIRED                       = 0x000000A3;
    public const int CKR_PIN_LOCKED                        = 0x000000A4;
    
    public const int CKR_SESSION_CLOSED                    = 0x000000B0;
    public const int CKR_SESSION_COUNT                     = 0x000000B1;
    public const int CKR_SESSION_HANDLE_INVALID            = 0x000000B3;
    public const int CKR_SESSION_PARALLEL_NOT_SUPPORTED    = 0x000000B4;
    public const int CKR_SESSION_READ_ONLY                 = 0x000000B5;
    public const int CKR_SESSION_EXISTS                    = 0x000000B6;
    
    /* CKR_SESSION_READ_ONLY_EXISTS and
     * CKR_SESSION_READ_WRITE_SO_EXISTS are new for v2.0 */
    public const int CKR_SESSION_READ_ONLY_EXISTS          = 0x000000B7;
    public const int CKR_SESSION_READ_WRITE_SO_EXISTS      = 0x000000B8;
    
    public const int CKR_SIGNATURE_INVALID                 = 0x000000C0;
    public const int CKR_SIGNATURE_LEN_RANGE               = 0x000000C1;
    public const int CKR_TEMPLATE_INCOMPLETE               = 0x000000D0;
    public const int CKR_TEMPLATE_INCONSISTENT             = 0x000000D1;
    public const int CKR_TOKEN_NOT_PRESENT                 = 0x000000E0;
    public const int CKR_TOKEN_NOT_RECOGNIZED              = 0x000000E1;
    public const int CKR_TOKEN_WRITE_PROTECTED             = 0x000000E2;
    public const int CKR_UNWRAPPING_KEY_HANDLE_INVALID     = 0x000000F0;
    public const int CKR_UNWRAPPING_KEY_SIZE_RANGE         = 0x000000F1;
    public const int CKR_UNWRAPPING_KEY_TYPE_INCONSISTENT  = 0x000000F2;
    public const int CKR_USER_ALREADY_LOGGED_IN            = 0x00000100;
    public const int CKR_USER_NOT_LOGGED_IN                = 0x00000101;
    public const int CKR_USER_PIN_NOT_INITIALIZED          = 0x00000102;
    public const int CKR_USER_TYPE_INVALID                 = 0x00000103;
    
    /* CKR_USER_ANOTHER_ALREADY_LOGGED_IN and CKR_USER_TOO_MANY_TYPES
     * are new to v2.01 */
    public const int CKR_USER_ANOTHER_ALREADY_LOGGED_IN    = 0x00000104;
    public const int CKR_USER_TOO_MANY_TYPES               = 0x00000105;
    
    public const int CKR_WRAPPED_KEY_INVALID               = 0x00000110;
    public const int CKR_WRAPPED_KEY_LEN_RANGE             = 0x00000112;
    public const int CKR_WRAPPING_KEY_HANDLE_INVALID       = 0x00000113;
    public const int CKR_WRAPPING_KEY_SIZE_RANGE           = 0x00000114;
    public const int CKR_WRAPPING_KEY_TYPE_INCONSISTENT    = 0x00000115;
    public const int CKR_RANDOM_SEED_NOT_SUPPORTED         = 0x00000120;
    
    /* These are new to v2.0 */
    public const int CKR_RANDOM_NO_RNG                     = 0x00000121;
    public const int CKR_BUFFER_TOO_SMALL                  = 0x00000150;
    public const int CKR_SAVED_STATE_INVALID               = 0x00000160;
    public const int CKR_INFORMATION_SENSITIVE             = 0x00000170;
    public const int CKR_STATE_UNSAVEABLE                  = 0x00000180;
    
    /* These are new to v2.01 */
    public const int CKR_CRYPTOKI_NOT_INITIALIZED          = 0x00000190;
    public const int CKR_CRYPTOKI_ALREADY_INITIALIZED      = 0x00000191;
    public const int CKR_MUTEX_BAD                         = 0x000001A0;
    public const int CKR_MUTEX_NOT_LOCKED                  = 0x000001A1;
    
    public const int CKR_FUNCTION_REJECTED = 0x00000200;
    
    public const int CKR_VENDOR_DEFINED                    = unchecked((int)0x80000000);
    
    
    public const int CKR_INTERNAL_PKCS11_ERROR = unchecked((int)CKR_VENDOR_DEFINED | 0x0FFFFFFF);
    public const int CKR_NCRYPTOKIMNGD_NOT_FOUND = unchecked((int)CKR_VENDOR_DEFINED | 0x0FFFFFFE);
    public const int CKR_TRIAL_EXPIRED = unchecked((int)CKR_VENDOR_DEFINED | 0x0FFFFFFD);
    
    

    SignServer

    • Summary

    • Files

    • Reviews

    • Support

    • Mailing Lists

    • News

    • Discussion

    Menu

    TSA using a PKCS#11 device


    Created:

    2010-08-12

    Updated:

    2013-09-10

    • Massimiliano Ziccardi

      Hi all.

      I’m trying to configure a TSA using the PKCS#11 device, but I always get a CKR DEVICE ERROR.
      Below you’ll find my configuration and the stack trace.

      Just a dubt about the DEFAULTKEY parameter. The documentation says : ‘Hash Value of the siging key on the card’. What do you mean by ‘hash value of the key’? Actually I’ve no way to access the private key: the only info I have is the key ALIAS.

      Configuration:

      GLOB.WORKERGENID1.CLASSPATH = org.signserver.module.tsa.TimeStampSigner
      #GLOB.WORKERGENID1.SIGNERTOKEN.CLASSPATH = org.signserver.server.cryptotokens.SoftCryptoToken
      GLOB.WORKERGENID1.SIGNERTOKEN.CLASSPATH = org.signserver.server.cryptotokens.PKCS11CryptoToken
      WORKERGENID1.NAME=TSA
      WORKERGENID1.AUTHTYPE=NOAUTH
      WORKERGENID1.DEFAULTTSAPOLICYOID=1.2.3
      WORKERGENID1.DEFAULTKEY=AGOSTO2010T
      WORKERGENID1.PIN=pkitssint
      WORKERGENID1.SLOT=0
      WORKERGENID1.SHAREDLIBRARY=C:\windows\system32\bp201w32HSM.dll
      

      STACK TRACE:

      17:19:02,467 ERROR [WorkerConfig] Error, required environment variable SIGNSERVE
      R_NODEID isn't set.
      17:21:54,108 WARN  [StringTools] De-obfuscation not possible due to weak crypto
      policy.
      17:21:54,170 ERROR [PKCS11CAToken] Failed to initialize PKCS11 provider slot '0'
      .
      java.security.ProviderException: sun.security.pkcs11.wrapper.PKCS11Exception: CK
      R_DEVICE_ERROR
              at sun.security.pkcs11.P11Key.fetchAttributes(P11Key.java:218)
              at sun.security.pkcs11.P11Key$P11RSAPrivateKey.fetchValues(P11Key.java:4
      58)
              at sun.security.pkcs11.P11Key$P11RSAPrivateKey.toString(P11Key.java:522)
      

      Regards,
      Massimiliano

    • Massimiliano Ziccardi

      Sorry: here is the whole stack trace:

      java.security.ProviderException: sun.security.pkcs11.wrapper.PKCS11Exception: CKR_DEVICE_ERROR
          at sun.security.pkcs11.P11Key.fetchAttributes(P11Key.java:218)
          at sun.security.pkcs11.P11Key$P11RSAPrivateKey.fetchValues(P11Key.java:458)
          at sun.security.pkcs11.P11Key$P11RSAPrivateKey.toString(P11Key.java:522)
          at java.lang.String.valueOf(Unknown Source)
          at java.lang.StringBuilder.append(Unknown Source)
          at org.ejbca.core.model.ca.catoken.BaseCAToken.testKey(BaseCAToken.java:93)
          at org.ejbca.core.model.ca.catoken.BaseCAToken.setKeys(BaseCAToken.java:154)
          at org.ejbca.core.model.ca.catoken.PKCS11CAToken.activate(PKCS11CAToken.java:93)
          at org.signserver.server.cryptotokens.CryptoTokenBase.activate(CryptoTokenBase.java:124)
          at org.signserver.server.cryptotokens.PKCS11CryptoToken.activate(PKCS11CryptoToken.java:112)
          at org.signserver.server.cryptotokens.PKCS11CryptoToken.init(PKCS11CryptoToken.java:98)
          at org.signserver.server.BaseProcessable.getCryptoToken(BaseProcessable.java:119)
          at org.signserver.server.BaseProcessable.getSigningCertificate(BaseProcessable.java:152)
          at org.signserver.ejb.WorkerSessionBean.reloadConfiguration(WorkerSessionBean.java:576)
          at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
          at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
          at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
          at java.lang.reflect.Method.invoke(Unknown Source)
          at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:112)
          at org.jboss.ejb3.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:166)
          at org.jboss.ejb3.interceptor.EJB3InterceptorsInterceptor.invoke(EJB3InterceptorsInterceptor.java:63)
          at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
          at org.jboss.ejb3.entity.TransactionScopedEntityManagerInterceptor.invoke(TransactionScopedEntityManagerInterceptor.java:54)
          at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
          at org.jboss.ejb3.AllowedOperationsInterceptor.invoke(AllowedOperationsInterceptor.java:47)
          at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
          at org.jboss.aspects.tx.TxPolicy.invokeInOurTx(TxPolicy.java:79)
          at org.jboss.aspects.tx.TxInterceptor$Required.invoke(TxInterceptor.java:191)
          at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
          at org.jboss.aspects.tx.TxPropagationInterceptor.invoke(TxPropagationInterceptor.java:95)
          at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
          at org.jboss.ejb3.stateless.StatelessInstanceInterceptor.invoke(StatelessInstanceInterceptor.java:62)
          at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
          at org.jboss.aspects.security.AuthenticationInterceptor.invoke(AuthenticationInterceptor.java:77)
          at org.jboss.ejb3.security.Ejb3AuthenticationInterceptor.invoke(Ejb3AuthenticationInterceptor.java:110)
          at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
          at org.jboss.ejb3.ENCPropagationInterceptor.invoke(ENCPropagationInterceptor.java:46)
          at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
          at org.jboss.ejb3.asynchronous.AsynchronousInterceptor.invoke(AsynchronousInterceptor.java:106)
          at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
          at org.jboss.ejb3.stateless.StatelessContainer.dynamicInvoke(StatelessContainer.java:304)
          at org.jboss.aop.Dispatcher.invoke(Dispatcher.java:106)
          at org.jboss.aspects.remoting.AOPRemotingInvocationHandler.invoke(AOPRemotingInvocationHandler.java:82)
          at org.jboss.remoting.ServerInvoker.invoke(ServerInvoker.java:809)
          at org.jboss.remoting.transport.socket.ServerThread.processInvocation(ServerThread.java:608)
          at org.jboss.remoting.transport.socket.ServerThread.dorun(ServerThread.java:406)
          at org.jboss.remoting.transport.socket.ServerThread.run(ServerThread.java:173)
      Caused by: sun.security.pkcs11.wrapper.PKCS11Exception: CKR_DEVICE_ERROR
          at sun.security.pkcs11.wrapper.PKCS11.C_GetAttributeValue(Native Method)
          at sun.security.pkcs11.P11Key.fetchAttributes(P11Key.java:216)
          ... 46 more
      2010-08-12 17:21:54,186 ERROR [org.signserver.server.cryptotokens.PKCS11CryptoToken] Error auto activating PKCS11CryptoToken : Failed to initialize PKCS11 provider slot '0'.
      org.signserver.common.CryptoTokenAuthenticationFailureException: Failed to initialize PKCS11 provider slot '0'.
          at org.signserver.server.cryptotokens.CryptoTokenBase.activate(CryptoTokenBase.java:128)
          at org.signserver.server.cryptotokens.PKCS11CryptoToken.activate(PKCS11CryptoToken.java:112)
          at org.signserver.server.cryptotokens.PKCS11CryptoToken.init(PKCS11CryptoToken.java:98)
          at org.signserver.server.BaseProcessable.getCryptoToken(BaseProcessable.java:119)
          at org.signserver.server.BaseProcessable.getSigningCertificate(BaseProcessable.java:152)
          at org.signserver.ejb.WorkerSessionBean.reloadConfiguration(WorkerSessionBean.java:576)
          at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
          at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
          at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
          at java.lang.reflect.Method.invoke(Unknown Source)
          at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:112)
          at org.jboss.ejb3.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:166)
          at org.jboss.ejb3.interceptor.EJB3InterceptorsInterceptor.invoke(EJB3InterceptorsInterceptor.java:63)
          at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
          at org.jboss.ejb3.entity.TransactionScopedEntityManagerInterceptor.invoke(TransactionScopedEntityManagerInterceptor.java:54)
          at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
          at org.jboss.ejb3.AllowedOperationsInterceptor.invoke(AllowedOperationsInterceptor.java:47)
          at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
          at org.jboss.aspects.tx.TxPolicy.invokeInOurTx(TxPolicy.java:79)
          at org.jboss.aspects.tx.TxInterceptor$Required.invoke(TxInterceptor.java:191)
          at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
          at org.jboss.aspects.tx.TxPropagationInterceptor.invoke(TxPropagationInterceptor.java:95)
          at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
          at org.jboss.ejb3.stateless.StatelessInstanceInterceptor.invoke(StatelessInstanceInterceptor.java:62)
          at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
          at org.jboss.aspects.security.AuthenticationInterceptor.invoke(AuthenticationInterceptor.java:77)
          at org.jboss.ejb3.security.Ejb3AuthenticationInterceptor.invoke(Ejb3AuthenticationInterceptor.java:110)
          at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
          at org.jboss.ejb3.ENCPropagationInterceptor.invoke(ENCPropagationInterceptor.java:46)
          at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
          at org.jboss.ejb3.asynchronous.AsynchronousInterceptor.invoke(AsynchronousInterceptor.java:106)
          at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
          at org.jboss.ejb3.stateless.StatelessContainer.dynamicInvoke(StatelessContainer.java:304)
          at org.jboss.aop.Dispatcher.invoke(Dispatcher.java:106)
          at org.jboss.aspects.remoting.AOPRemotingInvocationHandler.invoke(AOPRemotingInvocationHandler.java:82)
          at org.jboss.remoting.ServerInvoker.invoke(ServerInvoker.java:809)
          at org.jboss.remoting.transport.socket.ServerThread.processInvocation(ServerThread.java:608)
          at org.jboss.remoting.transport.socket.ServerThread.dorun(ServerThread.java:406)
          at org.jboss.remoting.transport.socket.ServerThread.run(ServerThread.java:173)
      
    • Tham Wickenberg

      Hi,

      It looks like it is failing when it is testing the key. Have you tried using another tool to verify that you can sign with AGOSTO2010T on slot 0 using pin pkitssint?

      Regards,
      Tham

    • Markus Kilås

      Hi Massimiliano,

      Also, which version of SignServer are you using?

      From SignServer 3.1.4 there is a command to test the keys and if you specify «all» it will list all keys available in the slot:
      signserver.cmd testkey ID_OF_YOUR_WORKER all

      Regards,
      Markus

    • Massimiliano Ziccardi

      Thank you all for your support and sorry for my delay: I wanted to make some more test and retrieve some log to be able to give you some more information.

      Here the info you asked me for:
      1)  My signserver version is 3.1.4
      2) I tried the testall. Follows the output:

      0    [main] INFO  org.signserver.cli.TestKeyCommand  - Will test all keys
      AGOSTO2010T     SUCCESS
      

      Follows the error log of my hsm driver

      2010/08/18 - 09:51:25 - PKCS#11 ERROR: The following error has been detected.
          PKCS#11 return code CKR_DEVICE_ERROR was received.
          The thread executing at the time was 0x00000958
          The containing process of the above thread was 0x00000E74
          The error was detected at line no. 672,
          in file CKRSAPrivateKey.cpp.
          The device specific error code was 0x0.
          Description:
              There was an error retrieving the plain text importer key, plain text importer key is not available in this mode.
      

      Follows the standard log of my HSM drivers:

      ----- C_GetSessionInfo
      Process Id 0x00000E74, Thread Id 0x00000958
      Session  1
      Session Information:
        Slot ID 00000000
        State CKS_RW_USER_FUNCTIONS
        Session information flags 00000006
          CKF_RW_SESSION
          CKF_SERIAL_SESSION
        usDeviceError:   0000
      C_GetSessionInfo returned CKR_OK [0x0000]
      ----- C_FindObjectsInit
      Process Id 0x00000E74, Thread Id 0x00000958
      Session  1
      pTemplate [2 attributes]
       0: CKA_TOKEN [1]
      0000 (0000): 01                      -                         .
       1: CKA_CLASS [4]
      0000 (0000): 03 00 00 00             -                         ....
      C_FindObjectsInit returned CKR_OK [0x0000]
      ----- C_FindObjects
      Process Id 0x00000E74, Thread Id 0x00000958
      Session  1
      ulMaxObjectCount 0x0064
      *pulObjectCount 0x0001
      phObject object handle 0x80000003
      C_FindObjects returned CKR_OK [0x0000]
      ----- C_FindObjects
      Process Id 0x00000E74, Thread Id 0x00000958
      Session  1
      ulMaxObjectCount 0x0064
      *pulObjectCount 0x0000
      phObject object handle 0x00000000
      C_FindObjects returned CKR_OK [0x0000]
      ----- C_FindObjectsFinal
      Process Id 0x00000E74, Thread Id 0x00000958
      Session  1
      C_FindObjectsFinal returned CKR_OK [0x0000]
      ----- C_GetAttributeValue
      Process Id 0x00000E74, Thread Id 0x00000958
      Session  1
      pTemplate after call to C_GetAttributeValue [1 attributes]
       0: CKA_ID [20]
      (NULL)
      C_GetAttributeValue returned CKR_OK [0x0000]
      ----- C_GetAttributeValue
      Process Id 0x00000E74, Thread Id 0x00000958
      Session  1
      pTemplate after call to C_GetAttributeValue [1 attributes]
       0: CKA_ID [20]
      0000 (0000): dc 31 4a 92 71 62 1d c9 - 5c d5 64 64 9e 9f c8 1a Ü1J’qb.ÉÕddžŸÈ.
      0010 (0016): 74 0f 8a 26             -                         t.Š&
      C_GetAttributeValue returned CKR_OK [0x0000]
      ----- C_FindObjectsInit
      Process Id 0x00000E74, Thread Id 0x00000958
      Session  1
      pTemplate [2 attributes]
       0: CKA_TOKEN [1]
      0000 (0000): 01                      -                         .
       1: CKA_CLASS [4]
      0000 (0000): 01 00 00 00             -                         ....
      C_FindObjectsInit returned CKR_OK [0x0000]
      ----- C_FindObjects
      Process Id 0x00000E74, Thread Id 0x00000958
      Session  1
      ulMaxObjectCount 0x0064
      *pulObjectCount 0x0001
      phObject object handle 0x80000004
      C_FindObjects returned CKR_OK [0x0000]
      ----- C_FindObjects
      Process Id 0x00000E74, Thread Id 0x00000958
      Session  1
      ulMaxObjectCount 0x0064
      *pulObjectCount 0x0000
      phObject object handle 0x00000000
      C_FindObjects returned CKR_OK [0x0000]
      ----- C_FindObjectsFinal
      Process Id 0x00000E74, Thread Id 0x00000958
      Session  1
      C_FindObjectsFinal returned CKR_OK [0x0000]
      ----- C_GetAttributeValue
      Process Id 0x00000E74, Thread Id 0x00000958
      Session  1
      pTemplate after call to C_GetAttributeValue [1 attributes]
       0: CKA_LABEL [11]
      (NULL)
      C_GetAttributeValue returned CKR_OK [0x0000]
      ----- C_GetAttributeValue
      Process Id 0x00000E74, Thread Id 0x00000958
      Session  1
      pTemplate after call to C_GetAttributeValue [1 attributes]
       0: CKA_LABEL [11]
      0000 (0000): 41 47 4f 53 54 4f 32 30 - 31 30 54                AGOSTO2010T
      C_GetAttributeValue returned CKR_OK [0x0000]
      ----- C_GetAttributeValue
      Process Id 0x00000E74, Thread Id 0x00000958
      Session  1
      pTemplate after call to C_GetAttributeValue [1 attributes]
       0: CKA_ID [20]
      (NULL)
      C_GetAttributeValue returned CKR_OK [0x0000]
      ----- C_GetAttributeValue
      Process Id 0x00000E74, Thread Id 0x00000958
      Session  1
      pTemplate after call to C_GetAttributeValue [1 attributes]
       0: CKA_ID [20]
      0000 (0000): dc 31 4a 92 71 62 1d c9 - 5c d5 64 64 9e 9f c8 1a Ü1J’qb.ÉÕddžŸÈ.
      0010 (0016): 74 0f 8a 26             -                         t.Š&
      C_GetAttributeValue returned CKR_OK [0x0000]
      ----- C_GetAttributeValue
      Process Id 0x00000E74, Thread Id 0x00000958
      Session  1
      pTemplate after call to C_GetAttributeValue [1 attributes]
       0: CKA_VALUE [1209]
      0000 (0000): 3f 3f 3f 3f 3f 3f 3f 3f - 3f 3f 3f 3f 3f 3f 3f 3f ????????????????
      0010 (0016): 3f 3f 3f 3f 3f 3f 3f 3f - 3f 3f 3f 3f 3f 3f 3f 3f ????????????????
      0020 (0032): 3f 3f 3f 3f 3f 3f 3f 3f - 3f 3f 3f 3f 3f 3f 3f 3f ????????????????
      0030 (0048): 3f 3f 3f 3f 3f 3f 3f 3f - 3f 3f 3f 3f 3f 3f 3f 3f ????????????????
      0040 (0064): 3f 3f 3f 3f 3f 3f 3f 3f - 3f 3f 3f 3f 3f 3f 3f 3f ????????????????
      0050 (0080): 3f 3f 3f 3f 3f 3f 3f 3f - 3f 3f 3f 3f 3f 3f 3f 3f ????????????????
      0060 (0096): 3f 3f 3f 3f 3f 3f 3f 3f - 3f 3f 3f 3f 3f 3f 3f 3f ????????????????
      0070 (0112): 3f 3f 3f 3f 3f 3f 3f 3f - 3f 3f 3f 3f 3f 3f 3f 3f ????????????????
      0080 (0128): 3f 3f 3f 3f 3f 3f 3f 3f - 3f 3f 3f 3f 3f 3f 3f 3f ????????????????
      0090 (0144): 3f 3f 3f 3f 3f 3f 3f 3f - 3f 3f 3f 3f 3f 3f 3f 3f ????????????????
      00a0 (0160): 3f 3f 3f 3f 3f 3f 3f 3f - 3f 3f 3f 3f 3f 3f 3f 3f ????????????????
      00b0 (0176): 3f 3f 3f 3f 3f 3f 3f 3f - 3f 3f 3f 3f 3f 3f 3f 3f ????????????????
      00c0 (0192): 3f 3f 3f 3f 3f 3f 3f 3f - 3f 3f 3f 3f 3f 3f 3f 3f ????????????????
      00d0 (0208): 3f 3f 3f 3f 3f 3f 3f 3f - 3f 3f 3f 3f 3f 3f 3f 3f ????????????????
      00e0 (0224): 3f 3f 3f 3f 3f 3f 3f 3f - 3f 3f 3f 3f 3f 3f 3f 3f ????????????????
      00f0 (0240): 3f 3f 3f 3f 3f 3f 3f 3f - 3f 3f 3f 3f 3f 3f 3f 3f ????????????????
      0100 (0256): 3f 3f 3f 3f 3f 3f 3f 3f - 3f 3f 3f 3f 3f 3f 3f 3f ????????????????
      0110 (0272): 3f 3f 3f 3f 3f 3f 3f 3f - 3f 3f 3f 3f 3f 3f 3f 3f ????????????????
      0120 (0288): 3f 3f 3f 3f 3f 3f 3f 3f - 3f 3f 3f 3f 3f 3f 3f 3f ????????????????
      0130 (0304): 3f 3f 3f 3f 3f 3f 3f 3f - 3f 3f 3f 3f 3f 3f 3f 3f ????????????????
      0140 (0320): 3f 3f 3f 3f 3f 3f 3f 3f - 3f 3f 3f 3f 3f 3f 3f 3f ????????????????
      0150 (0336): 3f 3f 3f 3f 3f 3f 3f 3f - 3f 3f 3f 3f 3f 3f 3f 3f ????????????????
      0160 (0352): 3f 3f 3f 3f 3f 3f 3f 3f - 3f 3f 3f 3f 3f 3f 3f 3f ????????????????
      0170 (0368): 3f 3f 3f 3f 3f 3f 3f 3f - 3f 3f 3f 3f 3f 3f 3f 3f ????????????????
      0180 (0384): 3f 3f 3f 3f 3f 3f 3f 3f - 3f 3f 3f 3f 3f 3f 3f 3f ????????????????
      0190 (0400): 3f 3f 3f 3f 3f 3f 3f 3f - 3f 3f 3f 3f 3f 3f 3f 3f ????????????????
      01a0 (0416): 3f 3f 3f 3f 3f 3f 3f 3f - 3f 3f 3f 3f 3f 3f 3f 3f ????????????????
      01b0 (0432): 3f 3f 3f 3f 3f 3f 3f 3f - 3f 3f 3f 3f 3f 3f 3f 3f ????????????????
      01c0 (0448): 3f 3f 3f 3f 3f 3f 3f 3f - 3f 3f 3f 3f 3f 3f 3f 3f ????????????????
      01d0 (0464): 3f 3f 3f 3f 3f 3f 3f 3f - 3f 3f 3f 3f 3f 3f 3f 3f ????????????????
      01e0 (0480): 3f 3f 3f 3f 3f 3f 3f 3f - 3f 3f 3f 3f 3f 3f 3f 3f ????????????????
      01f0 (0496): 3f 3f 3f 3f 3f 3f 3f 3f - 3f 3f 3f 3f 3f 3f 3f 3f ????????????????
      0200 (0512): 3f 3f 3f 3f 3f 3f 3f 3f - 3f 3f 3f 3f 3f 3f 3f 3f ????????????????
      0210 (0528): 3f 3f 3f 3f 3f 3f 3f 3f - 3f 3f 3f 3f 3f 3f 3f 3f ????????????????
      0220 (0544): 3f 3f 3f 3f 3f 3f 3f 3f - 3f 3f 3f 3f 3f 3f 3f 3f ????????????????
      0230 (0560): 3f 3f 3f 3f 3f 3f 3f 3f - 3f 3f 3f 3f 3f 3f 3f 3f ????????????????
      0240 (0576): 3f 3f 3f 3f 3f 3f 3f 3f - 3f 3f 3f 3f 3f 3f 3f 3f ????????????????
      0250 (0592): 3f 3f 3f 3f 3f 3f 3f 3f - 3f 3f 3f 3f 3f 3f 3f 3f ????????????????
      0260 (0608): 3f 3f 3f 3f 3f 3f 3f 3f - 3f 3f 3f 3f 3f 3f 3f 3f ????????????????
      0270 (0624): 3f 3f 3f 3f 3f 3f 3f 3f - 3f 3f 3f 3f 3f 3f 3f 3f ????????????????
      0280 (0640): 3f 3f 3f 3f 3f 3f 3f 3f - 3f 3f 3f 3f 3f 3f 3f 3f ????????????????
      0290 (0656): 3f 3f 3f 3f 3f 3f 3f 3f - 3f 3f 3f 3f 3f 3f 3f 3f ????????????????
      02a0 (0672): 3f 3f 3f 3f 3f 3f 3f 3f - 3f 3f 3f 3f 3f 3f 3f 3f ????????????????
      02b0 (0688): 3f 3f 3f 3f 3f 3f 3f 3f - 3f 3f 3f 3f 3f 3f 3f 3f ????????????????
      02c0 (0704): 3f 3f 3f 3f 3f 3f 3f 3f - 3f 3f 3f 3f 3f 3f 3f 3f ????????????????
      02d0 (0720): 3f 3f 3f 3f 3f 3f 3f 3f - 3f 3f 3f 3f 3f 3f 3f 3f ????????????????
      02e0 (0736): 3f 3f 3f 3f 3f 3f 3f 3f - 3f 3f 3f 3f 3f 3f 3f 3f ????????????????
      02f0 (0752): 3f 3f 3f 3f 3f 3f 3f 3f - 3f 3f 3f 3f 3f 3f 3f 3f ????????????????
      0300 (0768): 3f 3f 3f 3f 3f 3f 3f 3f - 3f 3f 3f 3f 3f 3f 3f 3f ????????????????
      0310 (0784): 3f 3f 3f 3f 3f 3f 3f 3f - 3f 3f 3f 3f 3f 3f 3f 3f ????????????????
      0320 (0800): 3f 3f 3f 3f 3f 3f 3f 3f - 3f 3f 3f 3f 3f 3f 3f 3f ????????????????
      0330 (0816): 3f 3f 3f 3f 3f 3f 3f 3f - 3f 3f 3f 3f 3f 3f 3f 3f ????????????????
      0340 (0832): 3f 3f 3f 3f 3f 3f 3f 3f - 3f 3f 3f 3f 3f 3f 3f 3f ????????????????
      0350 (0848): 3f 3f 3f 3f 3f 3f 3f 3f - 3f 3f 3f 3f 3f 3f 3f 3f ????????????????
      0360 (0864): 3f 3f 3f 3f 3f 3f 3f 3f - 3f 3f 3f 3f 3f 3f 3f 3f ????????????????
      0370 (0880): 3f 3f 3f 3f 3f 3f 3f 3f - 3f 3f 3f 3f 3f 3f 3f 3f ????????????????
      0380 (0896): 3f 3f 3f 3f 3f 3f 3f 3f - 3f 3f 3f 3f 3f 3f 3f 3f ????????????????
      0390 (0912): 3f 3f 3f 3f 3f 3f 3f 3f - 3f 3f 3f 3f 3f 3f 3f 3f ????????????????
      03a0 (0928): 3f 3f 3f 3f 3f 3f 3f 3f - 3f 3f 3f 3f 3f 3f 3f 3f ????????????????
      03b0 (0944): 3f 3f 3f 3f 3f 3f 3f 3f - 3f 3f 3f 3f 3f 3f 3f 3f ????????????????
      03c0 (0960): 3f 3f 3f 3f 3f 3f 3f 3f - 3f 3f 3f 3f 3f 3f 3f 3f ????????????????
      03d0 (0976): 3f 3f 3f 3f 3f 3f 3f 3f - 3f 3f 3f 3f 3f 3f 3f 3f ????????????????
      03e0 (0992): 3f 3f 3f 3f 3f 3f 3f 3f - 3f 3f 3f 3f 3f 3f 3f 3f ????????????????
      03f0 (1008): 3f 3f 3f 3f 3f 3f 3f 3f - 3f 3f 3f 3f 3f 3f 3f 3f ????????????????
      0400 (1024): 3f 3f 3f 3f 3f 3f 3f 3f - 3f 3f 3f 3f 3f 3f 3f 3f ????????????????
      0410 (1040): 3f 3f 3f 3f 3f 3f 3f 3f - 3f 3f 3f 3f 3f 3f 3f 3f ????????????????
      0420 (1056): 3f 3f 3f 3f 3f 3f 3f 3f - 3f 3f 3f 3f 3f 3f 3f 3f ????????????????
      0430 (1072): 3f 3f 3f 3f 3f 3f 3f 3f - 3f 3f 3f 3f 3f 3f 3f 3f ????????????????
      0440 (1088): 3f 3f 3f 3f 3f 3f 3f 3f - 3f 3f 3f 3f 3f 3f 3f 3f ????????????????
      0450 (1104): 3f 3f 3f 3f 3f 3f 3f 3f - 3f 3f 3f 3f 3f 3f 3f 3f ????????????????
      0460 (1120): 3f 3f 3f 3f 3f 3f 3f 3f - 3f 3f 3f 3f 3f 3f 3f 3f ????????????????
      0470 (1136): 3f 3f 3f 3f 3f 3f 3f 3f - 3f 3f 3f 3f 3f 3f 3f 3f ????????????????
      0480 (1152): 3f 3f 3f 3f 3f 3f 3f 3f - 3f 3f 3f 3f 3f 3f 3f 3f ????????????????
      0490 (1168): 3f 3f 3f 3f 3f 3f 3f 3f - 3f 3f 3f 3f 3f 3f 3f 3f ????????????????
      04a0 (1184): 3f 3f 3f 3f 3f 3f 3f 3f - 3f 3f 3f 3f 3f 3f 3f 3f ????????????????
      04b0 (1200): 3f 3f 3f 3f 3f 3f 3f 3f - 3f                      ?????????
      C_GetAttributeValue returned CKR_OK [0x0000]
      ----- C_GetAttributeValue
      Process Id 0x00000E74, Thread Id 0x00000958
      Session  1
      pTemplate after call to C_GetAttributeValue [1 attributes]
       0: CKA_VALUE [1209]
      0000 (0000): 3f 3f 3f 3f 3f 3f 3f 3f - 3f 3f 3f 3f 3f 3f 3f 3f ????????????????
      0010 (0016): 3f 3f 3f 3f 3f 3f 3f 3f - 3f 3f 3f 3f 3f 3f 3f 3f ????????????????
      0020 (0032): 3f 3f 3f 3f 3f 3f 3f 3f - 3f 3f 3f 3f 3f 3f 3f 3f ????????????????
      0030 (0048): 3f 3f 3f 3f 3f 3f 3f 3f - 3f 3f 3f 3f 3f 3f 3f 3f ????????????????
      0040 (0064): 3f 3f 3f 3f 3f 3f 3f 3f - 3f 3f 3f 3f 3f 3f 3f 3f ????????????????
      0050 (0080): 3f 3f 3f 3f 3f 3f 3f 3f - 3f 3f 3f 3f 3f 3f 3f 3f ????????????????
      0060 (0096): 3f 3f 3f 3f 3f 3f 3f 3f - 3f 3f 3f 3f 3f 3f 3f 3f ????????????????
      0070 (0112): 3f 3f 3f 3f 3f 3f 3f 3f - 3f 3f 3f 3f 3f 3f 3f 3f ????????????????
      0080 (0128): 3f 3f 3f 3f 3f 3f 3f 3f - 3f 3f 3f 3f 3f 3f 3f 3f ????????????????
      0090 (0144): 3f 3f 3f 3f 3f 3f 3f 3f - 3f 3f 3f 3f 3f 3f 3f 3f ????????????????
      00a0 (0160): 3f 3f 3f 3f 3f 3f 3f 3f - 3f 3f 3f 3f 3f 3f 3f 3f ????????????????
      00b0 (0176): 3f 3f 3f 3f 3f 3f 3f 3f - 3f 3f 3f 3f 3f 3f 3f 3f ????????????????
      00c0 (0192): 3f 3f 3f 3f 3f 3f 3f 3f - 3f 3f 3f 3f 3f 3f 3f 3f ????????????????
      00d0 (0208): 3f 3f 3f 3f 3f 3f 3f 3f - 3f 3f 3f 3f 3f 3f 3f 3f ????????????????
      00e0 (0224): 3f 3f 3f 3f 3f 3f 3f 3f - 3f 3f 3f 3f 3f 3f 3f 3f ????????????????
      00f0 (0240): 3f 3f 3f 3f 3f 3f 3f 3f - 3f 3f 3f 3f 3f 3f 3f 3f ????????????????
      0100 (0256): 3f 3f 3f 3f 3f 3f 3f 3f - 3f 3f 3f 3f 3f 3f 3f 3f ????????????????
      0110 (0272): 3f 3f 3f 3f 3f 3f 3f 3f - 3f 3f 3f 3f 3f 3f 3f 3f ????????????????
      0120 (0288): 3f 3f 3f 3f 3f 3f 3f 3f - 3f 3f 3f 3f 3f 3f 3f 3f ????????????????
      0130 (0304): 3f 3f 3f 3f 3f 3f 3f 3f - 3f 3f 3f 3f 3f 3f 3f 3f ????????????????
      0140 (0320): 3f 3f 3f 3f 3f 3f 3f 3f - 3f 3f 3f 3f 3f 3f 3f 3f ????????????????
      0150 (0336): 3f 3f 3f 3f 3f 3f 3f 3f - 3f 3f 3f 3f 3f 3f 3f 3f ????????????????
      0160 (0352): 3f 3f 3f 3f 3f 3f 3f 3f - 3f 3f 3f 3f 3f 3f 3f 3f ????????????????
      0170 (0368): 3f 3f 3f 3f 3f 3f 3f 3f - 3f 3f 3f 3f 3f 3f 3f 3f ????????????????
      0180 (0384): 3f 3f 3f 3f 3f 3f 3f 3f - 3f 3f 3f 3f 3f 3f 3f 3f ????????????????
      0190 (0400): 3f 3f 3f 3f 3f 3f 3f 3f - 3f 3f 3f 3f 3f 3f 3f 3f ????????????????
      01a0 (0416): 3f 3f 3f 3f 3f 3f 3f 3f - 3f 3f 3f 3f 3f 3f 3f 3f ????????????????
      01b0 (0432): 3f 3f 3f 3f 3f 3f 3f 3f - 3f 3f 3f 3f 3f 3f 3f 3f ????????????????
      01c0 (0448): 3f 3f 3f 3f 3f 3f 3f 3f - 3f 3f 3f 3f 3f 3f 3f 3f ????????????????
      01d0 (0464): 3f 3f 3f 3f 3f 3f 3f 3f - 3f 3f 3f 3f 3f 3f 3f 3f ????????????????
      01e0 (0480): 3f 3f 3f 3f 3f 3f 3f 3f - 3f 3f 3f 3f 3f 3f 3f 3f ????????????????
      01f0 (0496): 3f 3f 3f 3f 3f 3f 3f 3f - 3f 3f 3f 3f 3f 3f 3f 3f ????????????????
      0200 (0512): 3f 3f 3f 3f 3f 3f 3f 3f - 3f 3f 3f 3f 3f 3f 3f 3f ????????????????
      0210 (0528): 3f 3f 3f 3f 3f 3f 3f 3f - 3f 3f 3f 3f 3f 3f 3f 3f ????????????????
      0220 (0544): 3f 3f 3f 3f 3f 3f 3f 3f - 3f 3f 3f 3f 3f 3f 3f 3f ????????????????
      0230 (0560): 3f 3f 3f 3f 3f 3f 3f 3f - 3f 3f 3f 3f 3f 3f 3f 3f ????????????????
      0240 (0576): 3f 3f 3f 3f 3f 3f 3f 3f - 3f 3f 3f 3f 3f 3f 3f 3f ????????????????
      0250 (0592): 3f 3f 3f 3f 3f 3f 3f 3f - 3f 3f 3f 3f 3f 3f 3f 3f ????????????????
      0260 (0608): 3f 3f 3f 3f 3f 3f 3f 3f - 3f 3f 3f 3f 3f 3f 3f 3f ????????????????
      0270 (0624): 3f 3f 3f 3f 3f 3f 3f 3f - 3f 3f 3f 3f 3f 3f 3f 3f ????????????????
      0280 (0640): 3f 3f 3f 3f 3f 3f 3f 3f - 3f 3f 3f 3f 3f 3f 3f 3f ????????????????
      0290 (0656): 3f 3f 3f 3f 3f 3f 3f 3f - 3f 3f 3f 3f 3f 3f 3f 3f ????????????????
      02a0 (0672): 3f 3f 3f 3f 3f 3f 3f 3f - 3f 3f 3f 3f 3f 3f 3f 3f ????????????????
      02b0 (0688): 3f 3f 3f 3f 3f 3f 3f 3f - 3f 3f 3f 3f 3f 3f 3f 3f ????????????????
      02c0 (0704): 3f 3f 3f 3f 3f 3f 3f 3f - 3f 3f 3f 3f 3f 3f 3f 3f ????????????????
      02d0 (0720): 3f 3f 3f 3f 3f 3f 3f 3f - 3f 3f 3f 3f 3f 3f 3f 3f ????????????????
      02e0 (0736): 3f 3f 3f 3f 3f 3f 3f 3f - 3f 3f 3f 3f 3f 3f 3f 3f ????????????????
      02f0 (0752): 3f 3f 3f 3f 3f 3f 3f 3f - 3f 3f 3f 3f 3f 3f 3f 3f ????????????????
      0300 (0768): 3f 3f 3f 3f 3f 3f 3f 3f - 3f 3f 3f 3f 3f 3f 3f 3f ????????????????
      0310 (0784): 3f 3f 3f 3f 3f 3f 3f 3f - 3f 3f 3f 3f 3f 3f 3f 3f ????????????????
      0320 (0800): 3f 3f 3f 3f 3f 3f 3f 3f - 3f 3f 3f 3f 3f 3f 3f 3f ????????????????
      0330 (0816): 3f 3f 3f 3f 3f 3f 3f 3f - 3f 3f 3f 3f 3f 3f 3f 3f ????????????????
      0340 (0832): 3f 3f 3f 3f 3f 3f 3f 3f - 3f 3f 3f 3f 3f 3f 3f 3f ????????????????
      0350 (0848): 3f 3f 3f 3f 3f 3f 3f 3f - 3f 3f 3f 3f 3f 3f 3f 3f ????????????????
      0360 (0864): 3f 3f 3f 3f 3f 3f 3f 3f - 3f 3f 3f 3f 3f 3f 3f 3f ????????????????
      0370 (0880): 3f 3f 3f 3f 3f 3f 3f 3f - 3f 3f 3f 3f 3f 3f 3f 3f ????????????????
      0380 (0896): 3f 3f 3f 3f 3f 3f 3f 3f - 3f 3f 3f 3f 3f 3f 3f 3f ????????????????
      0390 (0912): 3f 3f 3f 3f 3f 3f 3f 3f - 3f 3f 3f 3f 3f 3f 3f 3f ????????????????
      03a0 (0928): 3f 3f 3f 3f 3f 3f 3f 3f - 3f 3f 3f 3f 3f 3f 3f 3f ????????????????
      03b0 (0944): 3f 3f 3f 3f 3f 3f 3f 3f - 3f 3f 3f 3f 3f 3f 3f 3f ????????????????
      03c0 (0960): 3f 3f 3f 3f 3f 3f 3f 3f - 3f 3f 3f 3f 3f 3f 3f 3f ????????????????
      03d0 (0976): 3f 3f 3f 3f 3f 3f 3f 3f - 3f 3f 3f 3f 3f 3f 3f 3f ????????????????
      03e0 (0992): 3f 3f 3f 3f 3f 3f 3f 3f - 3f 3f 3f 3f 3f 3f 3f 3f ????????????????
      03f0 (1008): 3f 3f 3f 3f 3f 3f 3f 3f - 3f 3f 3f 3f 3f 3f 3f 3f ????????????????
      0400 (1024): 3f 3f 3f 3f 3f 3f 3f 3f - 3f 3f 3f 3f 3f 3f 3f 3f ????????????????
      0410 (1040): 3f 3f 3f 3f 3f 3f 3f 3f - 3f 3f 3f 3f 3f 3f 3f 3f ????????????????
      0420 (1056): 3f 3f 3f 3f 3f 3f 3f 3f - 3f 3f 3f 3f 3f 3f 3f 3f ????????????????
      0430 (1072): 3f 3f 3f 3f 3f 3f 3f 3f - 3f 3f 3f 3f 3f 3f 3f 3f ????????????????
      0440 (1088): 3f 3f 3f 3f 3f 3f 3f 3f - 3f 3f 3f 3f 3f 3f 3f 3f ????????????????
      0450 (1104): 3f 3f 3f 3f 3f 3f 3f 3f - 3f 3f 3f 3f 3f 3f 3f 3f ????????????????
      0460 (1120): 3f 3f 3f 3f 3f 3f 3f 3f - 3f 3f 3f 3f 3f 3f 3f 3f ????????????????
      0470 (1136): 3f 3f 3f 3f 3f 3f 3f 3f - 3f 3f 3f 3f 3f 3f 3f 3f ????????????????
      0480 (1152): 3f 3f 3f 3f 3f 3f 3f 3f - 3f 3f 3f 3f 3f 3f 3f 3f ????????????????
      0490 (1168): 3f 3f 3f 3f 3f 3f 3f 3f - 3f 3f 3f 3f 3f 3f 3f 3f ????????????????
      04a0 (1184): 3f 3f 3f 3f 3f 3f 3f 3f - 3f 3f 3f 3f 3f 3f 3f 3f ????????????????
      04b0 (1200): 3f 3f 3f 3f 3f 3f 3f 3f - 3f                      ?????????
      C_GetAttributeValue returned CKR_OK [0x0000]
      ----- C_FindObjectsInit
      Process Id 0x00000E74, Thread Id 0x00000958
      Session  1
      pTemplate [2 attributes]
       0: CKA_TOKEN [1]
      0000 (0000): 01                      -                         .
       1: CKA_CLASS [4]
      0000 (0000): 04 00 00 00             -                         ....
      C_FindObjectsInit returned CKR_OK [0x0000]
      ----- C_FindObjects
      Process Id 0x00000E74, Thread Id 0x00000958
      Session  1
      ulMaxObjectCount 0x0064
      *pulObjectCount 0x0000
      phObject object handle 0x00000000
      C_FindObjects returned CKR_OK [0x0000]
      ----- C_FindObjectsFinal
      Process Id 0x00000E74, Thread Id 0x00000958
      Session  1
      C_FindObjectsFinal returned CKR_OK [0x0000]
      ----- C_FindObjectsInit
      Process Id 0x00000E74, Thread Id 0x00000958
      Session  2
      pTemplate [3 attributes]
       0: CKA_TOKEN [1]
      0000 (0000): 01                      -                         .
       1: CKA_CLASS [4]
      0000 (0000): 01 00 00 00             -                         ....
       2: CKA_SUBJECT [102]
      0000 (0000): 30 64 31 0b 30 09 06 03 - 55 04 06 13 02 49 54 31 0d1.0...U....IT1
      0010 (0016): 1a 30 18 06 03 55 04 0a - 0c 11 49 4e 2e 54 45 2e .0...U....IN.TE.
      0020 (0032): 53 2e 41 2e 20 53 2e 70 - 2e 41 2e 31 39 30 37 06 S.A. S.p.A.1907.
      0030 (0048): 03 55 04 03 0c 30 49 4e - 2e 54 45 2e 53 2e 41 2e .U...0IN.TE.S.A.
      0040 (0064): 20 54 69 6d 65 20 53 74 - 61 6d 70 69 6e 67 20 43  Time Stamping C
      0050 (0080): 65 72 74 69 66 69 63 61 - 74 69 6f 6e 20 41 75 74 ertification Aut
      0060 (0096): 68 6f 72 69 74 79       -                         hority
      C_FindObjectsInit returned CKR_OK [0x0000]
      ----- C_FindObjects
      Process Id 0x00000E74, Thread Id 0x00000958
      Session  2
      ulMaxObjectCount 0x0064
      *pulObjectCount 0x0000
      phObject object handle 0x00000000
      C_FindObjects returned CKR_OK [0x0000]
      ----- C_FindObjectsFinal
      Process Id 0x00000E74, Thread Id 0x00000958
      Session  2
      C_FindObjectsFinal returned CKR_OK [0x0000]
      ----- C_GetSessionInfo
      Process Id 0x00000E74, Thread Id 0x00000958
      Session  1
      Session Information:
        Slot ID 00000000
        State CKS_RW_USER_FUNCTIONS
        Session information flags 00000006
          CKF_RW_SESSION
          CKF_SERIAL_SESSION
        usDeviceError:   0000
      C_GetSessionInfo returned CKR_OK [0x0000]
      ----- C_FindObjectsInit
      Process Id 0x00000E74, Thread Id 0x00000958
      Session  1
      pTemplate [2 attributes]
       0: CKA_TOKEN [1]
      0000 (0000): 01                      -                         .
       1: CKA_CLASS [4]
      0000 (0000): 03 00 00 00             -                         ....
      C_FindObjectsInit returned CKR_OK [0x0000]
      ----- C_FindObjects
      Process Id 0x00000E74, Thread Id 0x00000958
      Session  1
      ulMaxObjectCount 0x0064
      *pulObjectCount 0x0001
      phObject object handle 0x80000003
      C_FindObjects returned CKR_OK [0x0000]
      ----- C_FindObjects
      Process Id 0x00000E74, Thread Id 0x00000958
      Session  1
      ulMaxObjectCount 0x0064
      *pulObjectCount 0x0000
      phObject object handle 0x00000000
      C_FindObjects returned CKR_OK [0x0000]
      ----- C_FindObjectsFinal
      Process Id 0x00000E74, Thread Id 0x00000958
      Session  1
      C_FindObjectsFinal returned CKR_OK [0x0000]
      ----- C_GetAttributeValue
      Process Id 0x00000E74, Thread Id 0x00000958
      Session  1
      pTemplate after call to C_GetAttributeValue [1 attributes]
       0: CKA_ID [20]
      (NULL)
      C_GetAttributeValue returned CKR_OK [0x0000]
      ----- C_GetAttributeValue
      Process Id 0x00000E74, Thread Id 0x00000958
      Session  1
      pTemplate after call to C_GetAttributeValue [1 attributes]
       0: CKA_ID [20]
      0000 (0000): dc 31 4a 92 71 62 1d c9 - 5c d5 64 64 9e 9f c8 1a Ü1J’qb.ÉÕddžŸÈ.
      0010 (0016): 74 0f 8a 26             -                         t.Š&
      C_GetAttributeValue returned CKR_OK [0x0000]
      ----- C_FindObjectsInit
      Process Id 0x00000E74, Thread Id 0x00000958
      Session  1
      pTemplate [2 attributes]
       0: CKA_TOKEN [1]
      0000 (0000): 01                      -                         .
       1: CKA_CLASS [4]
      0000 (0000): 01 00 00 00             -                         ....
      C_FindObjectsInit returned CKR_OK [0x0000]
      ----- C_FindObjects
      Process Id 0x00000E74, Thread Id 0x00000958
      Session  1
      ulMaxObjectCount 0x0064
      *pulObjectCount 0x0001
      phObject object handle 0x80000004
      C_FindObjects returned CKR_OK [0x0000]
      ----- C_FindObjects
      Process Id 0x00000E74, Thread Id 0x00000958
      Session  1
      ulMaxObjectCount 0x0064
      *pulObjectCount 0x0000
      phObject object handle 0x00000000
      C_FindObjects returned CKR_OK [0x0000]
      ----- C_FindObjectsFinal
      Process Id 0x00000E74, Thread Id 0x00000958
      Session  1
      C_FindObjectsFinal returned CKR_OK [0x0000]
      ----- C_GetAttributeValue
      Process Id 0x00000E74, Thread Id 0x00000958
      Session  1
      pTemplate after call to C_GetAttributeValue [1 attributes]
       0: CKA_LABEL [11]
      (NULL)
      C_GetAttributeValue returned CKR_OK [0x0000]
      ----- C_GetAttributeValue
      Process Id 0x00000E74, Thread Id 0x00000958
      Session  1
      pTemplate after call to C_GetAttributeValue [1 attributes]
       0: CKA_LABEL [11]
      0000 (0000): 41 47 4f 53 54 4f 32 30 - 31 30 54                AGOSTO2010T
      C_GetAttributeValue returned CKR_OK [0x0000]
      ----- C_GetAttributeValue
      Process Id 0x00000E74, Thread Id 0x00000958
      Session  1
      pTemplate after call to C_GetAttributeValue [1 attributes]
       0: CKA_ID [20]
      (NULL)
      C_GetAttributeValue returned CKR_OK [0x0000]
      ----- C_GetAttributeValue
      Process Id 0x00000E74, Thread Id 0x00000958
      Session  1
      pTemplate after call to C_GetAttributeValue [1 attributes]
       0: CKA_ID [20]
      0000 (0000): dc 31 4a 92 71 62 1d c9 - 5c d5 64 64 9e 9f c8 1a Ü1J’qb.ÉÕddžŸÈ.
      0010 (0016): 74 0f 8a 26             -                         t.Š&
      C_GetAttributeValue returned CKR_OK [0x0000]
      ----- C_GetAttributeValue
      Process Id 0x00000E74, Thread Id 0x00000958
      Session  1
      pTemplate after call to C_GetAttributeValue [1 attributes]
       0: CKA_VALUE [1209]
      0000 (0000): 3f 3f 3f 3f 3f 3f 3f 3f - 3f 3f 3f 3f 3f 3f 3f 3f ????????????????
      0010 (0016): 3f 3f 3f 3f 3f 3f 3f 3f - 3f 3f 3f 3f 3f 3f 3f 3f ????????????????
      0020 (0032): 3f 3f 3f 3f 3f 3f 3f 3f - 3f 3f 3f 3f 3f 3f 3f 3f ????????????????
      0030 (0048): 3f 3f 3f 3f 3f 3f 3f 3f - 3f 3f 3f 3f 3f 3f 3f 3f ????????????????
      0040 (0064): 3f 3f 3f 3f 3f 3f 3f 3f - 3f 3f 3f 3f 3f 3f 3f 3f ????????????????
      0050 (0080): 3f 3f 3f 3f 3f 3f 3f 3f - 3f 3f 3f 3f 3f 3f 3f 3f ????????????????
      0060 (0096): 3f 3f 3f 3f 3f 3f 3f 3f - 3f 3f 3f 3f 3f 3f 3f 3f ????????????????
      0070 (0112): 3f 3f 3f 3f 3f 3f 3f 3f - 3f 3f 3f 3f 3f 3f 3f 3f ????????????????
      0080 (0128): 3f 3f 3f 3f 3f 3f 3f 3f - 3f 3f 3f 3f 3f 3f 3f 3f ????????????????
      0090 (0144): 3f 3f 3f 3f 3f 3f 3f 3f - 3f 3f 3f 3f 3f 3f 3f 3f ????????????????
      00a0 (0160): 3f 3f 3f 3f 3f 3f 3f 3f - 3f 3f 3f 3f 3f 3f 3f 3f ????????????????
      00b0 (0176): 3f 3f 3f 3f 3f 3f 3f 3f - 3f 3f 3f 3f 3f 3f 3f 3f ????????????????
      00c0 (0192): 3f 3f 3f 3f 3f 3f 3f 3f - 3f 3f 3f 3f 3f 3f 3f 3f ????????????????
      00d0 (0208): 3f 3f 3f 3f 3f 3f 3f 3f - 3f 3f 3f 3f 3f 3f 3f 3f ????????????????
      00e0 (0224): 3f 3f 3f 3f 3f 3f 3f 3f - 3f 3f 3f 3f 3f 3f 3f 3f ????????????????
      00f0 (0240): 3f 3f 3f 3f 3f 3f 3f 3f - 3f 3f 3f 3f 3f 3f 3f 3f ????????????????
      0100 (0256): 3f 3f 3f 3f 3f 3f 3f 3f - 3f 3f 3f 3f 3f 3f 3f 3f ????????????????
      0110 (0272): 3f 3f 3f 3f 3f 3f 3f 3f - 3f 3f 3f 3f 3f 3f 3f 3f ????????????????
      0120 (0288): 3f 3f 3f 3f 3f 3f 3f 3f - 3f 3f 3f 3f 3f 3f 3f 3f ????????????????
      0130 (0304): 3f 3f 3f 3f 3f 3f 3f 3f - 3f 3f 3f 3f 3f 3f 3f 3f ????????????????
      0140 (0320): 3f 3f 3f 3f 3f 3f 3f 3f - 3f 3f 3f 3f 3f 3f 3f 3f ????????????????
      0150 (0336): 3f 3f 3f 3f 3f 3f 3f 3f - 3f 3f 3f 3f 3f 3f 3f 3f ????????????????
      0160 (0352): 3f 3f 3f 3f 3f 3f 3f 3f - 3f 3f 3f 3f 3f 3f 3f 3f ????????????????
      0170 (0368): 3f 3f 3f 3f 3f 3f 3f 3f - 3f 3f 3f 3f 3f 3f 3f 3f ????????????????
      0180 (0384): 3f 3f 3f 3f 3f 3f 3f 3f - 3f 3f 3f 3f 3f 3f 3f 3f ????????????????
      0190 (0400): 3f 3f 3f 3f 3f 3f 3f 3f - 3f 3f 3f 3f 3f 3f 3f 3f ????????????????
      01a0 (0416): 3f 3f 3f 3f 3f 3f 3f 3f - 3f 3f 3f 3f 3f 3f 3f 3f ????????????????
      01b0 (0432): 3f 3f 3f 3f 3f 3f 3f 3f - 3f 3f 3f 3f 3f 3f 3f 3f ????????????????
      01c0 (0448): 3f 3f 3f 3f 3f 3f 3f 3f - 3f 3f 3f 3f 3f 3f 3f 3f ????????????????
      01d0 (0464): 3f 3f 3f 3f 3f 3f 3f 3f - 3f 3f 3f 3f 3f 3f 3f 3f ????????????????
      01e0 (0480): 3f 3f 3f 3f 3f 3f 3f 3f - 3f 3f 3f 3f 3f 3f 3f 3f ????????????????
      01f0 (0496): 3f 3f 3f 3f 3f 3f 3f 3f - 3f 3f 3f 3f 3f 3f 3f 3f ????????????????
      0200 (0512): 3f 3f 3f 3f 3f 3f 3f 3f - 3f 3f 3f 3f 3f 3f 3f 3f ????????????????
      0210 (0528): 3f 3f 3f 3f 3f 3f 3f 3f - 3f 3f 3f 3f 3f 3f 3f 3f ????????????????
      0220 (0544): 3f 3f 3f 3f 3f 3f 3f 3f - 3f 3f 3f 3f 3f 3f 3f 3f ????????????????
      0230 (0560): 3f 3f 3f 3f 3f 3f 3f 3f - 3f 3f 3f 3f 3f 3f 3f 3f ????????????????
      0240 (0576): 3f 3f 3f 3f 3f 3f 3f 3f - 3f 3f 3f 3f 3f 3f 3f 3f ????????????????
      0250 (0592): 3f 3f 3f 3f 3f 3f 3f 3f - 3f 3f 3f 3f 3f 3f 3f 3f ????????????????
      0260 (0608): 3f 3f 3f 3f 3f 3f 3f 3f - 3f 3f 3f 3f 3f 3f 3f 3f ????????????????
      0270 (0624): 3f 3f 3f 3f 3f 3f 3f 3f - 3f 3f 3f 3f 3f 3f 3f 3f ????????????????
      0280 (0640): 3f 3f 3f 3f 3f 3f 3f 3f - 3f 3f 3f 3f 3f 3f 3f 3f ????????????????
      0290 (0656): 3f 3f 3f 3f 3f 3f 3f 3f - 3f 3f 3f 3f 3f 3f 3f 3f ????????????????
      02a0 (0672): 3f 3f 3f 3f 3f 3f 3f 3f - 3f 3f 3f 3f 3f 3f 3f 3f ????????????????
      02b0 (0688): 3f 3f 3f 3f 3f 3f 3f 3f - 3f 3f 3f 3f 3f 3f 3f 3f ????????????????
      02c0 (0704): 3f 3f 3f 3f 3f 3f 3f 3f - 3f 3f 3f 3f 3f 3f 3f 3f ????????????????
      02d0 (0720): 3f 3f 3f 3f 3f 3f 3f 3f - 3f 3f 3f 3f 3f 3f 3f 3f ????????????????
      02e0 (0736): 3f 3f 3f 3f 3f 3f 3f 3f - 3f 3f 3f 3f 3f 3f 3f 3f ????????????????
      02f0 (0752): 3f 3f 3f 3f 3f 3f 3f 3f - 3f 3f 3f 3f 3f 3f 3f 3f ????????????????
      0300 (0768): 3f 3f 3f 3f 3f 3f 3f 3f - 3f 3f 3f 3f 3f 3f 3f 3f ????????????????
      0310 (0784): 3f 3f 3f 3f 3f 3f 3f 3f - 3f 3f 3f 3f 3f 3f 3f 3f ????????????????
      0320 (0800): 3f 3f 3f 3f 3f 3f 3f 3f - 3f 3f 3f 3f 3f 3f 3f 3f ????????????????
      0330 (0816): 3f 3f 3f 3f 3f 3f 3f 3f - 3f 3f 3f 3f 3f 3f 3f 3f ????????????????
      0340 (0832): 3f 3f 3f 3f 3f 3f 3f 3f - 3f 3f 3f 3f 3f 3f 3f 3f ????????????????
      0350 (0848): 3f 3f 3f 3f 3f 3f 3f 3f - 3f 3f 3f 3f 3f 3f 3f 3f ????????????????
      0360 (0864): 3f 3f 3f 3f 3f 3f 3f 3f - 3f 3f 3f 3f 3f 3f 3f 3f ????????????????
      0370 (0880): 3f 3f 3f 3f 3f 3f 3f 3f - 3f 3f 3f 3f 3f 3f 3f 3f ????????????????
      0380 (0896): 3f 3f 3f 3f 3f 3f 3f 3f - 3f 3f 3f 3f 3f 3f 3f 3f ????????????????
      0390 (0912): 3f 3f 3f 3f 3f 3f 3f 3f - 3f 3f 3f 3f 3f 3f 3f 3f ????????????????
      03a0 (0928): 3f 3f 3f 3f 3f 3f 3f 3f - 3f 3f 3f 3f 3f 3f 3f 3f ????????????????
      03b0 (0944): 3f 3f 3f 3f 3f 3f 3f 3f - 3f 3f 3f 3f 3f 3f 3f 3f ????????????????
      03c0 (0960): 3f 3f 3f 3f 3f 3f 3f 3f - 3f 3f 3f 3f 3f 3f 3f 3f ????????????????
      03d0 (0976): 3f 3f 3f 3f 3f 3f 3f 3f - 3f 3f 3f 3f 3f 3f 3f 3f ????????????????
      03e0 (0992): 3f 3f 3f 3f 3f 3f 3f 3f - 3f 3f 3f 3f 3f 3f 3f 3f ????????????????
      03f0 (1008): 3f 3f 3f 3f 3f 3f 3f 3f - 3f 3f 3f 3f 3f 3f 3f 3f ????????????????
      0400 (1024): 3f 3f 3f 3f 3f 3f 3f 3f - 3f 3f 3f 3f 3f 3f 3f 3f ????????????????
      0410 (1040): 3f 3f 3f 3f 3f 3f 3f 3f - 3f 3f 3f 3f 3f 3f 3f 3f ????????????????
      0420 (1056): 3f 3f 3f 3f 3f 3f 3f 3f - 3f 3f 3f 3f 3f 3f 3f 3f ????????????????
      0430 (1072): 3f 3f 3f 3f 3f 3f 3f 3f - 3f 3f 3f 3f 3f 3f 3f 3f ????????????????
      0440 (1088): 3f 3f 3f 3f 3f 3f 3f 3f - 3f 3f 3f 3f 3f 3f 3f 3f ????????????????
      0450 (1104): 3f 3f 3f 3f 3f 3f 3f 3f - 3f 3f 3f 3f 3f 3f 3f 3f ????????????????
      0460 (1120): 3f 3f 3f 3f 3f 3f 3f 3f - 3f 3f 3f 3f 3f 3f 3f 3f ????????????????
      0470 (1136): 3f 3f 3f 3f 3f 3f 3f 3f - 3f 3f 3f 3f 3f 3f 3f 3f ????????????????
      0480 (1152): 3f 3f 3f 3f 3f 3f 3f 3f - 3f 3f 3f 3f 3f 3f 3f 3f ????????????????
      0490 (1168): 3f 3f 3f 3f 3f 3f 3f 3f - 3f 3f 3f 3f 3f 3f 3f 3f ????????????????
      04a0 (1184): 3f 3f 3f 3f 3f 3f 3f 3f - 3f 3f 3f 3f 3f 3f 3f 3f ????????????????
      04b0 (1200): 3f 3f 3f 3f 3f 3f 3f 3f - 3f                      ?????????
      C_GetAttributeValue returned CKR_OK [0x0000]
      ----- C_GetAttributeValue
      Process Id 0x00000E74, Thread Id 0x00000958
      Session  1
      pTemplate after call to C_GetAttributeValue [1 attributes]
       0: CKA_VALUE [1209]
      0000 (0000): 3f 3f 3f 3f 3f 3f 3f 3f - 3f 3f 3f 3f 3f 3f 3f 3f ????????????????
      0010 (0016): 3f 3f 3f 3f 3f 3f 3f 3f - 3f 3f 3f 3f 3f 3f 3f 3f ????????????????
      0020 (0032): 3f 3f 3f 3f 3f 3f 3f 3f - 3f 3f 3f 3f 3f 3f 3f 3f ????????????????
      0030 (0048): 3f 3f 3f 3f 3f 3f 3f 3f - 3f 3f 3f 3f 3f 3f 3f 3f ????????????????
      0040 (0064): 3f 3f 3f 3f 3f 3f 3f 3f - 3f 3f 3f 3f 3f 3f 3f 3f ????????????????
      0050 (0080): 3f 3f 3f 3f 3f 3f 3f 3f - 3f 3f 3f 3f 3f 3f 3f 3f ????????????????
      0060 (0096): 3f 3f 3f 3f 3f 3f 3f 3f - 3f 3f 3f 3f 3f 3f 3f 3f ????????????????
      0070 (0112): 3f 3f 3f 3f 3f 3f 3f 3f - 3f 3f 3f 3f 3f 3f 3f 3f ????????????????
      0080 (0128): 3f 3f 3f 3f 3f 3f 3f 3f - 3f 3f 3f 3f 3f 3f 3f 3f ????????????????
      0090 (0144): 3f 3f 3f 3f 3f 3f 3f 3f - 3f 3f 3f 3f 3f 3f 3f 3f ????????????????
      00a0 (0160): 3f 3f 3f 3f 3f 3f 3f 3f - 3f 3f 3f 3f 3f 3f 3f 3f ????????????????
      00b0 (0176): 3f 3f 3f 3f 3f 3f 3f 3f - 3f 3f 3f 3f 3f 3f 3f 3f ????????????????
      00c0 (0192): 3f 3f 3f 3f 3f 3f 3f 3f - 3f 3f 3f 3f 3f 3f 3f 3f ????????????????
      00d0 (0208): 3f 3f 3f 3f 3f 3f 3f 3f - 3f 3f 3f 3f 3f 3f 3f 3f ????????????????
      00e0 (0224): 3f 3f 3f 3f 3f 3f 3f 3f - 3f 3f 3f 3f 3f 3f 3f 3f ????????????????
      00f0 (0240): 3f 3f 3f 3f 3f 3f 3f 3f - 3f 3f 3f 3f 3f 3f 3f 3f ????????????????
      0100 (0256): 3f 3f 3f 3f 3f 3f 3f 3f - 3f 3f 3f 3f 3f 3f 3f 3f ????????????????
      0110 (0272): 3f 3f 3f 3f 3f 3f 3f 3f - 3f 3f 3f 3f 3f 3f 3f 3f ????????????????
      0120 (0288): 3f 3f 3f 3f 3f 3f 3f 3f - 3f 3f 3f 3f 3f 3f 3f 3f ????????????????
      0130 (0304): 3f 3f 3f 3f 3f 3f 3f 3f - 3f 3f 3f 3f 3f 3f 3f 3f ????????????????
      0140 (0320): 3f 3f 3f 3f 3f 3f 3f 3f - 3f 3f 3f 3f 3f 3f 3f 3f ????????????????
      0150 (0336): 3f 3f 3f 3f 3f 3f 3f 3f - 3f 3f 3f 3f 3f 3f 3f 3f ????????????????
      0160 (0352): 3f 3f 3f 3f 3f 3f 3f 3f - 3f 3f 3f 3f 3f 3f 3f 3f ????????????????
      0170 (0368): 3f 3f 3f 3f 3f 3f 3f 3f - 3f 3f 3f 3f 3f 3f 3f 3f ????????????????
      0180 (0384): 3f 3f 3f 3f 3f 3f 3f 3f - 3f 3f 3f 3f 3f 3f 3f 3f ????????????????
      0190 (0400): 3f 3f 3f 3f 3f 3f 3f 3f - 3f 3f 3f 3f 3f 3f 3f 3f ????????????????
      01a0 (0416): 3f 3f 3f 3f 3f 3f 3f 3f - 3f 3f 3f 3f 3f 3f 3f 3f ????????????????
      01b0 (0432): 3f 3f 3f 3f 3f 3f 3f 3f - 3f 3f 3f 3f 3f 3f 3f 3f ????????????????
      01c0 (0448): 3f 3f 3f 3f 3f 3f 3f 3f - 3f 3f 3f 3f 3f 3f 3f 3f ????????????????
      01d0 (0464): 3f 3f 3f 3f 3f 3f 3f 3f - 3f 3f 3f 3f 3f 3f 3f 3f ????????????????
      01e0 (0480): 3f 3f 3f 3f 3f 3f 3f 3f - 3f 3f 3f 3f 3f 3f 3f 3f ????????????????
      01f0 (0496): 3f 3f 3f 3f 3f 3f 3f 3f - 3f 3f 3f 3f 3f 3f 3f 3f ????????????????
      0200 (0512): 3f 3f 3f 3f 3f 3f 3f 3f - 3f 3f 3f 3f 3f 3f 3f 3f ????????????????
      0210 (0528): 3f 3f 3f 3f 3f 3f 3f 3f - 3f 3f 3f 3f 3f 3f 3f 3f ????????????????
      0220 (0544): 3f 3f 3f 3f 3f 3f 3f 3f - 3f 3f 3f 3f 3f 3f 3f 3f ????????????????
      0230 (0560): 3f 3f 3f 3f 3f 3f 3f 3f - 3f 3f 3f 3f 3f 3f 3f 3f ????????????????
      0240 (0576): 3f 3f 3f 3f 3f 3f 3f 3f - 3f 3f 3f 3f 3f 3f 3f 3f ????????????????
      0250 (0592): 3f 3f 3f 3f 3f 3f 3f 3f - 3f 3f 3f 3f 3f 3f 3f 3f ????????????????
      0260 (0608): 3f 3f 3f 3f 3f 3f 3f 3f - 3f 3f 3f 3f 3f 3f 3f 3f ????????????????
      0270 (0624): 3f 3f 3f 3f 3f 3f 3f 3f - 3f 3f 3f 3f 3f 3f 3f 3f ????????????????
      0280 (0640): 3f 3f 3f 3f 3f 3f 3f 3f - 3f 3f 3f 3f 3f 3f 3f 3f ????????????????
      0290 (0656): 3f 3f 3f 3f 3f 3f 3f 3f - 3f 3f 3f 3f 3f 3f 3f 3f ????????????????
      02a0 (0672): 3f 3f 3f 3f 3f 3f 3f 3f - 3f 3f 3f 3f 3f 3f 3f 3f ????????????????
      02b0 (0688): 3f 3f 3f 3f 3f 3f 3f 3f - 3f 3f 3f 3f 3f 3f 3f 3f ????????????????
      02c0 (0704): 3f 3f 3f 3f 3f 3f 3f 3f - 3f 3f 3f 3f 3f 3f 3f 3f ????????????????
      02d0 (0720): 3f 3f 3f 3f 3f 3f 3f 3f - 3f 3f 3f 3f 3f 3f 3f 3f ????????????????
      02e0 (0736): 3f 3f 3f 3f 3f 3f 3f 3f - 3f 3f 3f 3f 3f 3f 3f 3f ????????????????
      02f0 (0752): 3f 3f 3f 3f 3f 3f 3f 3f - 3f 3f 3f 3f 3f 3f 3f 3f ????????????????
      0300 (0768): 3f 3f 3f 3f 3f 3f 3f 3f - 3f 3f 3f 3f 3f 3f 3f 3f ????????????????
      0310 (0784): 3f 3f 3f 3f 3f 3f 3f 3f - 3f 3f 3f 3f 3f 3f 3f 3f ????????????????
      0320 (0800): 3f 3f 3f 3f 3f 3f 3f 3f - 3f 3f 3f 3f 3f 3f 3f 3f ????????????????
      0330 (0816): 3f 3f 3f 3f 3f 3f 3f 3f - 3f 3f 3f 3f 3f 3f 3f 3f ????????????????
      0340 (0832): 3f 3f 3f 3f 3f 3f 3f 3f - 3f 3f 3f 3f 3f 3f 3f 3f ????????????????
      0350 (0848): 3f 3f 3f 3f 3f 3f 3f 3f - 3f 3f 3f 3f 3f 3f 3f 3f ????????????????
      0360 (0864): 3f 3f 3f 3f 3f 3f 3f 3f - 3f 3f 3f 3f 3f 3f 3f 3f ????????????????
      0370 (0880): 3f 3f 3f 3f 3f 3f 3f 3f - 3f 3f 3f 3f 3f 3f 3f 3f ????????????????
      0380 (0896): 3f 3f 3f 3f 3f 3f 3f 3f - 3f 3f 3f 3f 3f 3f 3f 3f ????????????????
      0390 (0912): 3f 3f 3f 3f 3f 3f 3f 3f - 3f 3f 3f 3f 3f 3f 3f 3f ????????????????
      03a0 (0928): 3f 3f 3f 3f 3f 3f 3f 3f - 3f 3f 3f 3f 3f 3f 3f 3f ????????????????
      03b0 (0944): 3f 3f 3f 3f 3f 3f 3f 3f - 3f 3f 3f 3f 3f 3f 3f 3f ????????????????
      03c0 (0960): 3f 3f 3f 3f 3f 3f 3f 3f - 3f 3f 3f 3f 3f 3f 3f 3f ????????????????
      03d0 (0976): 3f 3f 3f 3f 3f 3f 3f 3f - 3f 3f 3f 3f 3f 3f 3f 3f ????????????????
      03e0 (0992): 3f 3f 3f 3f 3f 3f 3f 3f - 3f 3f 3f 3f 3f 3f 3f 3f ????????????????
      03f0 (1008): 3f 3f 3f 3f 3f 3f 3f 3f - 3f 3f 3f 3f 3f 3f 3f 3f ????????????????
      0400 (1024): 3f 3f 3f 3f 3f 3f 3f 3f - 3f 3f 3f 3f 3f 3f 3f 3f ????????????????
      0410 (1040): 3f 3f 3f 3f 3f 3f 3f 3f - 3f 3f 3f 3f 3f 3f 3f 3f ????????????????
      0420 (1056): 3f 3f 3f 3f 3f 3f 3f 3f - 3f 3f 3f 3f 3f 3f 3f 3f ????????????????
      0430 (1072): 3f 3f 3f 3f 3f 3f 3f 3f - 3f 3f 3f 3f 3f 3f 3f 3f ????????????????
      0440 (1088): 3f 3f 3f 3f 3f 3f 3f 3f - 3f 3f 3f 3f 3f 3f 3f 3f ????????????????
      0450 (1104): 3f 3f 3f 3f 3f 3f 3f 3f - 3f 3f 3f 3f 3f 3f 3f 3f ????????????????
      0460 (1120): 3f 3f 3f 3f 3f 3f 3f 3f - 3f 3f 3f 3f 3f 3f 3f 3f ????????????????
      0470 (1136): 3f 3f 3f 3f 3f 3f 3f 3f - 3f 3f 3f 3f 3f 3f 3f 3f ????????????????
      0480 (1152): 3f 3f 3f 3f 3f 3f 3f 3f - 3f 3f 3f 3f 3f 3f 3f 3f ????????????????
      0490 (1168): 3f 3f 3f 3f 3f 3f 3f 3f - 3f 3f 3f 3f 3f 3f 3f 3f ????????????????
      04a0 (1184): 3f 3f 3f 3f 3f 3f 3f 3f - 3f 3f 3f 3f 3f 3f 3f 3f ????????????????
      04b0 (1200): 3f 3f 3f 3f 3f 3f 3f 3f - 3f                      ?????????
      C_GetAttributeValue returned CKR_OK [0x0000]
      ----- C_FindObjectsInit
      Process Id 0x00000E74, Thread Id 0x00000958
      Session  1
      pTemplate [2 attributes]
       0: CKA_TOKEN [1]
      0000 (0000): 01                      -                         .
       1: CKA_CLASS [4]
      0000 (0000): 04 00 00 00             -                         ....
      C_FindObjectsInit returned CKR_OK [0x0000]
      ----- C_FindObjects
      Process Id 0x00000E74, Thread Id 0x00000958
      Session  1
      ulMaxObjectCount 0x0064
      *pulObjectCount 0x0000
      phObject object handle 0x00000000
      C_FindObjects returned CKR_OK [0x0000]
      ----- C_FindObjectsFinal
      Process Id 0x00000E74, Thread Id 0x00000958
      Session  1
      C_FindObjectsFinal returned CKR_OK [0x0000]
      ----- C_FindObjectsInit
      Process Id 0x00000E74, Thread Id 0x00000958
      Session  2
      pTemplate [3 attributes]
       0: CKA_TOKEN [1]
      0000 (0000): 01                      -                         .
       1: CKA_CLASS [4]
      0000 (0000): 01 00 00 00             -                         ....
       2: CKA_SUBJECT [102]
      0000 (0000): 30 64 31 0b 30 09 06 03 - 55 04 06 13 02 49 54 31 0d1.0...U....IT1
      0010 (0016): 1a 30 18 06 03 55 04 0a - 0c 11 49 4e 2e 54 45 2e .0...U....IN.TE.
      0020 (0032): 53 2e 41 2e 20 53 2e 70 - 2e 41 2e 31 39 30 37 06 S.A. S.p.A.1907.
      0030 (0048): 03 55 04 03 0c 30 49 4e - 2e 54 45 2e 53 2e 41 2e .U...0IN.TE.S.A.
      0040 (0064): 20 54 69 6d 65 20 53 74 - 61 6d 70 69 6e 67 20 43  Time Stamping C
      0050 (0080): 65 72 74 69 66 69 63 61 - 74 69 6f 6e 20 41 75 74 ertification Aut
      0060 (0096): 68 6f 72 69 74 79       -                         hority
      C_FindObjectsInit returned CKR_OK [0x0000]
      ----- C_FindObjects
      Process Id 0x00000E74, Thread Id 0x00000958
      Session  2
      ulMaxObjectCount 0x0064
      *pulObjectCount 0x0000
      phObject object handle 0x00000000
      C_FindObjects returned CKR_OK [0x0000]
      ----- C_FindObjectsFinal
      Process Id 0x00000E74, Thread Id 0x00000958
      Session  2
      C_FindObjectsFinal returned CKR_OK [0x0000]
      ----- C_FindObjectsInit
      Process Id 0x00000E74, Thread Id 0x00000958
      Session  1
      pTemplate [3 attributes]
       0: CKA_TOKEN [1]
      0000 (0000): 01                      -                         .
       1: CKA_ID [20]
      0000 (0000): dc 31 4a 92 71 62 1d c9 - 5c d5 64 64 9e 9f c8 1a Ü1J’qb.ÉÕddžŸÈ.
      0010 (0016): 74 0f 8a 26             -                         t.Š&
       2: CKA_CLASS [4]
      0000 (0000): 03 00 00 00             -                         ....
      C_FindObjectsInit returned CKR_OK [0x0000]
      ----- C_FindObjects
      Process Id 0x00000E74, Thread Id 0x00000958
      Session  1
      ulMaxObjectCount 0x0064
      *pulObjectCount 0x0001
      phObject object handle 0x80000003
      C_FindObjects returned CKR_OK [0x0000]
      ----- C_FindObjects
      Process Id 0x00000E74, Thread Id 0x00000958
      Session  1
      ulMaxObjectCount 0x0064
      *pulObjectCount 0x0000
      phObject object handle 0x00000000
      C_FindObjects returned CKR_OK [0x0000]
      ----- C_FindObjectsFinal
      Process Id 0x00000E74, Thread Id 0x00000958
      Session  1
      C_FindObjectsFinal returned CKR_OK [0x0000]
      ----- C_GetAttributeValue
      Process Id 0x00000E74, Thread Id 0x00000958
      Session  1
      pTemplate after call to C_GetAttributeValue [1 attributes]
       0: CKA_KEY_TYPE [4]
      (NULL)
      C_GetAttributeValue returned CKR_OK [0x0000]
      ----- C_GetAttributeValue
      Process Id 0x00000E74, Thread Id 0x00000958
      Session  1
      pTemplate after call to C_GetAttributeValue [1 attributes]
       0: CKA_KEY_TYPE [4]
      0000 (0000): 00 00 00 00             -                         ....
      C_GetAttributeValue returned CKR_OK [0x0000]
      ----- C_GetAttributeValue
      Process Id 0x00000E74, Thread Id 0x00000958
      Session  1
      pTemplate after call to C_GetAttributeValue [1 attributes]
       0: CKA_MODULUS [256]
      0000 (0000): 3f 3f 3f 3f 3f 3f 3f 3f - 3f 3f 3f 3f 3f 3f 3f 3f ????????????????
      0010 (0016): 3f 3f 3f 3f 3f 3f 3f 3f - 3f 3f 3f 3f 3f 3f 3f 3f ????????????????
      0020 (0032): 3f 3f 3f 3f 3f 3f 3f 3f - 3f 3f 3f 3f 3f 3f 3f 3f ????????????????
      0030 (0048): 3f 3f 3f 3f 3f 3f 3f 3f - 3f 3f 3f 3f 3f 3f 3f 3f ????????????????
      0040 (0064): 3f 3f 3f 3f 3f 3f 3f 3f - 3f 3f 3f 3f 3f 3f 3f 3f ????????????????
      0050 (0080): 3f 3f 3f 3f 3f 3f 3f 3f - 3f 3f 3f 3f 3f 3f 3f 3f ????????????????
      0060 (0096): 3f 3f 3f 3f 3f 3f 3f 3f - 3f 3f 3f 3f 3f 3f 3f 3f ????????????????
      0070 (0112): 3f 3f 3f 3f 3f 3f 3f 3f - 3f 3f 3f 3f 3f 3f 3f 3f ????????????????
      0080 (0128): 3f 3f 3f 3f 3f 3f 3f 3f - 3f 3f 3f 3f 3f 3f 3f 3f ????????????????
      0090 (0144): 3f 3f 3f 3f 3f 3f 3f 3f - 3f 3f 3f 3f 3f 3f 3f 3f ????????????????
      00a0 (0160): 3f 3f 3f 3f 3f 3f 3f 3f - 3f 3f 3f 3f 3f 3f 3f 3f ????????????????
      00b0 (0176): 3f 3f 3f 3f 3f 3f 3f 3f - 3f 3f 3f 3f 3f 3f 3f 3f ????????????????
      00c0 (0192): 3f 3f 3f 3f 3f 3f 3f 3f - 3f 3f 3f 3f 3f 3f 3f 3f ????????????????
      00d0 (0208): 3f 3f 3f 3f 3f 3f 3f 3f - 3f 3f 3f 3f 3f 3f 3f 3f ????????????????
      00e0 (0224): 3f 3f 3f 3f 3f 3f 3f 3f - 3f 3f 3f 3f 3f 3f 3f 3f ????????????????
      00f0 (0240): 3f 3f 3f 3f 3f 3f 3f 3f - 3f 3f 3f 3f 3f 3f 3f 3f ????????????????
      C_GetAttributeValue returned CKR_OK [0x0000]
      ----- C_GetAttributeValue
      Process Id 0x00000E74, Thread Id 0x00000958
      Session  1
      pTemplate after call to C_GetAttributeValue [1 attributes]
       0: CKA_MODULUS [256]
      0000 (0000): 3f 3f 3f 3f 3f 3f 3f 3f - 3f 3f 3f 3f 3f 3f 3f 3f ????????????????
      0010 (0016): 3f 3f 3f 3f 3f 3f 3f 3f - 3f 3f 3f 3f 3f 3f 3f 3f ????????????????
      0020 (0032): 3f 3f 3f 3f 3f 3f 3f 3f - 3f 3f 3f 3f 3f 3f 3f 3f ????????????????
      0030 (0048): 3f 3f 3f 3f 3f 3f 3f 3f - 3f 3f 3f 3f 3f 3f 3f 3f ????????????????
      0040 (0064): 3f 3f 3f 3f 3f 3f 3f 3f - 3f 3f 3f 3f 3f 3f 3f 3f ????????????????
      0050 (0080): 3f 3f 3f 3f 3f 3f 3f 3f - 3f 3f 3f 3f 3f 3f 3f 3f ????????????????
      0060 (0096): 3f 3f 3f 3f 3f 3f 3f 3f - 3f 3f 3f 3f 3f 3f 3f 3f ????????????????
      0070 (0112): 3f 3f 3f 3f 3f 3f 3f 3f - 3f 3f 3f 3f 3f 3f 3f 3f ????????????????
      0080 (0128): 3f 3f 3f 3f 3f 3f 3f 3f - 3f 3f 3f 3f 3f 3f 3f 3f ????????????????
      0090 (0144): 3f 3f 3f 3f 3f 3f 3f 3f - 3f 3f 3f 3f 3f 3f 3f 3f ????????????????
      00a0 (0160): 3f 3f 3f 3f 3f 3f 3f 3f - 3f 3f 3f 3f 3f 3f 3f 3f ????????????????
      00b0 (0176): 3f 3f 3f 3f 3f 3f 3f 3f - 3f 3f 3f 3f 3f 3f 3f 3f ????????????????
      00c0 (0192): 3f 3f 3f 3f 3f 3f 3f 3f - 3f 3f 3f 3f 3f 3f 3f 3f ????????????????
      00d0 (0208): 3f 3f 3f 3f 3f 3f 3f 3f - 3f 3f 3f 3f 3f 3f 3f 3f ????????????????
      00e0 (0224): 3f 3f 3f 3f 3f 3f 3f 3f - 3f 3f 3f 3f 3f 3f 3f 3f ????????????????
      00f0 (0240): 3f 3f 3f 3f 3f 3f 3f 3f - 3f 3f 3f 3f 3f 3f 3f 3f ????????????????
      C_GetAttributeValue returned CKR_OK [0x0000]
      ----- C_GetAttributeValue
      Process Id 0x00000E74, Thread Id 0x00000958
      Session  1
      pTemplate after call to C_GetAttributeValue [3 attributes]
       0: CKA_TOKEN [1]
      (NULL)
       1: CKA_SENSITIVE [1]
      (NULL)
       2: CKA_EXTRACTABLE [1]
      (NULL)
      C_GetAttributeValue returned CKR_OK [0x0000]
      ----- C_GetAttributeValue
      Process Id 0x00000E74, Thread Id 0x00000958
      Session  1
      pTemplate after call to C_GetAttributeValue [3 attributes]
       0: CKA_TOKEN [1]
      0000 (0000): 01                      -                         .
       1: CKA_SENSITIVE [1]
      0000 (0000): 00                      -                         .
       2: CKA_EXTRACTABLE [1]
      0000 (0000): 01                      -                         .
      C_GetAttributeValue returned CKR_OK [0x0000]
      ----- C_GetAttributeValue
      Process Id 0x00000E74, Thread Id 0x00000958
      Session  1
      pTemplate after call to C_GetAttributeValue [1 attributes]
       0: CKA_PUBLIC_EXPONENT [3]
      0000 (0000): 3f 3f 3f                -                         ???
      C_GetAttributeValue returned CKR_OK [0x0000]
      ----- C_GetAttributeValue
      Process Id 0x00000E74, Thread Id 0x00000958
      Session  1
      pTemplate after call to C_GetAttributeValue [1 attributes]
       0: CKA_PUBLIC_EXPONENT [3]
      0000 (0000): 3f 3f 3f                -                         ???
      C_GetAttributeValue returned CKR_OK [0x0000]
      ----- C_GetAttributeValue
      Process Id 0x00000E74, Thread Id 0x00000958
      Session  1
      pTemplate after call to C_GetAttributeValue [8 attributes]
       0: CKA_MODULUS [0]
          No data returned in above attribute.
      (Empty Buffer)
       1: CKA_PUBLIC_EXPONENT [0]
          No data returned in above attribute.
      (Empty Buffer)
       2: CKA_PRIVATE_EXPONENT [0]
          No data returned in above attribute.
      (Empty Buffer)
       3: CKA_PRIME_1 [0]
          No data returned in above attribute.
      (Empty Buffer)
       4: CKA_PRIME_2 [0]
          No data returned in above attribute.
      (Empty Buffer)
       5: CKA_EXPONENT_1 [0]
          No data returned in above attribute.
      (Empty Buffer)
       6: CKA_EXPONENT_2 [0]
          No data returned in above attribute.
      (Empty Buffer)
       7: CKA_COEFFICIENT [0]
          No data returned in above attribute.
      (Empty Buffer)
      C_GetAttributeValue returned error CKR_DEVICE_ERROR [0x0030]
      
    • Markus Kilås

      What about if you only test the key that seems to work (alias AGOSTO2010T) do you get any error in your HSM logs then?

      signserver.cmd testkey ID_OF_YOUR_WORKER AGOSTO2010T

    • Massimiliano Ziccardi

      I tried:

      signserver.cmd testkey 1 AGOSTO2010T
      

      The output has been :

      0    [main] INFO  org.signserver.cli.TestKeyCommand  - Test key with alias AGOST
      O2010T.
      AGOSTO2010T     SUCCESS
      

      However, in the token log:

      2010/08/18 - 10:29:18 - PKCS#11 ERROR: The following error has been detected.
          PKCS#11 return code CKR_DEVICE_ERROR was received.
          The thread executing at the time was 0x00000958
          The containing process of the above thread was 0x00000E74
          The error was detected at line no. 672,
          in file CKRSAPrivateKey.cpp.
          The device specific error code was 0x0.
          Description:
              There was an error retrieving the plain text importer key, plain text importer key is not available in this mode.
      
    • Markus Kilås

      The error message I don’t understand but the «SUCCESS» means that it was possible to sign and verify the signature created using that key. What do you get if you reload the configuration for your signer and then display its status:

      signserver.cmd reload 1
      signserver.cmd getstatus complete 1
      
    • Massimiliano Ziccardi

      Here the output:

      binsignserver.cmd reload 1
      ===========================================
      Executing Command on host : localhost
      ===========================================
      SignServer reloaded successfully
      Current configuration is now activated.
      
      binsignserver.cmd getstatus complete 1
      ===========================================
      Executing Command on host : localhost
      ===========================================
      Current version of server is : SignServer 3.1.4
      Status of Signer with Id 1 is :
        SignToken Status : Offline
        Signings: 0
      Active Properties are :
        DEFAULTTSAPOLICYOID=1.2.3
        MODULEVERSION=3140
        pin=pkitssint
        SIGNERCERTCHAIN=
        DEFAULTKEY=AGOSTO2010T
        sharedLibrary=C:windowssystem32bp201w32HSM.dll
        SLOT=0
        defaultKey=AGOSTO2010T
        MODULENAME=TSA
        AUTHTYPE=NOAUTH
        PIN=pkitssint
        NAME=TSA
        SIGNERCERT=
        SHAREDLIBRARY=C:windowssystem32bp201w32HSM.dll
        CLASSPATH=org.signserver.common.ProcessableConfig
        slot=0
      Active Authorized Clients are are (Cert DN, IssuerDN):
      Error: No Signer Certificate have been uploaded to this signer.
      
    • Massimiliano Ziccardi

      Any idea?

      Thanks a lot,
      Massimiliano

    • Markus Kilås

      I would try to do a manual activation and see what is happening but that should be about the same thing as what is done when you do a reload as the PIN code is provided and an auto-activation will be performed. But I don’t have so many other ideas right now so I might be worth trying:
      signserver.cmd activatecryptotoken 1

      An other problem could be if you had JBoss already started when you created the key in that case you will need to restart JBoss for SignServer to be able to access it.

    • Massimiliano Ziccardi

      No luck. Same stack traces.

    • Markus Kilås

      Have you tried to use the key with some other application?

      For instance can try to add your PKCS11 module as a Security Device in Firefox  and then browse under Your Certificates to make sure that the device is working properly.

      If possible resetting the slot and generate new keys could also be something to try.

      Regards,
      Markus

    • Massimiliano Ziccardi

      I regenerated the keys and the certificate, however, the problem is still there…

      Regards,
      Massimiliano

    • Markus Kilås

      Not sure if it is related but I noticed the line in your first stacktrace:

      17:21:54,108 WARN [StringTools] De-obfuscation not possible due to weak crypto policy.
      

      which indicates that you don’t have the unlimited crypto policy install.

      Did you try with Firefox?

      Regards,
      Markus

    • Massimiliano Ziccardi

      Hi Markus.

      1st, I wanna thank you all a lot for this beautiful support.
      Our HSM manufacturer sent us a driver patch: with such patch, signserver reload works!!
      However, I’m getting an error doing timestamps: I’m going to open a new thread, sorry!!

      Thanks!!

    • Markus Kilås

      Thank you, may I ask which HSM vendor and versions you were using in case someone else gets a similar problem?

      Regards,
      Markus

    • Massimiliano Ziccardi

      Of course!
      It was Sureware Keyper 2.4 with client software (drivers) version 3.10.

    • vpeltier

      Hi Markus.

      I’m trying to configure my TSA with PKCS11 but there many errors occured that I don’t understand.

      Here is my TSA configuration (for PKCS11):

      GLOB.WORKERGENID1.CLASSPATH = org.signserver.module.tsa.TimeStampSigner
      GLOB.WORKERGENID1.SIGNERTOKEN.CLASSPATH = org.signserver.server.cryptotokens.PKCS11CryptoToken
      WORKERGENID1.sharedLibrary=/opt/nfast/toolkits/pkcs11/libcknfast.so
      WORKERGENID1.slot=0
      WORKERGENID1.defaultKey=timestamp_v1
      WORKERGENID1.ATTRIBUTESFILE=/opt/nfast/pkcs11.cfg

      I’m not sure about the defaultkey (I have to ckeck with the person who have created this key)

      Here is errors appears in GUI admin:

      Status of Signer with Id 4 is :
      Worker status : Offline
      Token status : Offline
      Signings: 0
      Errors:
      No signer certificate available
      Certificate chain not available
      Unsupported certificate type
      Error Crypto Token is disconnected, worker Id : 4
      […]
      Error: No Signer Certificate have been uploaded to this signer.

      Do you know where these errors can come ?

      Regards,

      Valentin.

      • Markus Kilås

        Hi Valentin,

        The worker and its crypto token stays offline until you run the activatecryptotoken (unless the configuration contains an HSM slot password).
        You will also need to generate a certificate signing request and then install the certificate.
        The steps for setting up with an HSM are described here:
        http://signserver.org/manual/installguide.html#Production%20configuration%20with%20HSM

        Best regards,
        Markus
        PrimeKey Solutions

    • vpeltier

      Here is a test for the timestamp_v1 key:

      2013-08-26 08:21:32,736 INFO [TestKeyCommand] Test key with alias timestamp_v1.
      Exception in thread «main» org.signserver.cli.spi.UnexpectedCommandFailureException: java.security.KeyStoreException: KeyStore instantiation failed
      at org.signserver.admin.cli.defaultimpl.TestKeyCommand.execute(TestKeyCommand.java:153)
      at org.signserver.cli.CommandLineInterface.execute(CommandLineInterface.java:97)
      at org.signserver.admin.cli.AdminCLI.main(AdminCLI.java:51)
      Caused by: java.security.KeyStoreException: KeyStore instantiation failed
      at java.security.KeyStore$Builder$2.getKeyStore(KeyStore.java:1707)

      […]
      Caused by: java.security.KeyStoreException: PKCS11 not found
      at java.security.KeyStore.getInstance(KeyStore.java:587)
      at java.security.KeyStore$Builder$2$1.run(KeyStore.java:1663)
      at java.security.AccessController.doPrivileged(Native Method)
      at java.security.KeyStore$Builder$2.getKeyStore(KeyStore.java:1704)
      … 31 more
      Caused by: java.security.NoSuchAlgorithmException: PKCS11 KeyStore not available
      at sun.security.jca.GetInstance.getInstance(GetInstance.java:142)
      at java.security.Security.getImpl(Security.java:659)
      at java.security.KeyStore.getInstance(KeyStore.java:584)
      … 34 more

      • Markus Kilås

        Caused by: java.security.NoSuchAlgorithmException: PKCS11 KeyStore not available

        The application server log should give more information around the time where the worker was reloaded or when you run the activatecryptotoken command.

        Also, try to see if you get a better result if you temporarly remove the ATTRIBUTESFILE property.

        Best regards,
        Markus
        PrimeKey Solutions

    • vpeltier

      Ok thanks. I have removed ATTRIBUTESFILE property.

      Glassgish server logs tell me that there is an error with my Sun PKCS11 provider. I’ll check that.

      server.log:
      [#|2013-08-26T12:02:20.106+0000|INFO|sun-appserver2.1|javax.enterprise.system.stream.out|_ThreadID=80;_ThreadName=p: thread-pool-1; w: 5134;|INFO [KeyTools] Using SUN PKCS11 provider: sun.security.pkcs11.SunPKCS11
      |#]

      [#|2013-08-26T12:02:20.107+0000|INFO|sun-appserver2.1|javax.enterprise.system.stream.out|_ThreadID=80;_ThreadName=p: thread-pool-1; w: 5134;|ERROR [KeyTools] Error constructing pkcs11 provider: null
      |#]

      [#|2013-08-26T12:02:20.108+0000|INFO|sun-appserver2.1|javax.enterprise.system.stream.out|_ThreadID=80;_ThreadName=p: thread-pool-1; w: 5134;|ERROR [PKCS11CryptoToken] Error initializing PKCS11CryptoToken : Not possible to create provider. See cause.
      org.ejbca.core.model.ca.catoken.CATokenOfflineException: Not possible to create provider. See cause.
      at org.ejbca.util.keystore.P11Slot.createProvider(P11Slot.java:271)

      Caused by: java.io.IOException: Error constructing pkcs11 provider: null

       

      Last edit: vpeltier 2013-09-09

    • vpeltier

      Hi Markus,

      My problem persists…

      I have tried to manage the HSM connection (preload function). The server’s log give me the same error about the provider PKCS11. See below:

      [#|2013-09-09T08:00:41.982+0000|INFO|sun-appserver2.1|javax.enterprise.system.stream.out|_ThreadID=29;_ThreadName=p: thread-pool-1; w: 820;|INFO [SignServerLog4jDevice] EVENT: RELOAD_WORKER_CONFIG; MODULE: WORKER_CONFIG; ADMINISTRATOR: CLI user; ISSUER: null; SERIAL_NUMBER: null; WORKER_ID: 4; REPLY_TIME:1378713641982
      |#]

      [#|2013-09-09T08:00:42.000+0000|INFO|sun-appserver2.1|javax.enterprise.system.stream.out|_ThreadID=29;_ThreadName=p: thread-pool-1; w: 820;|INFO [KeyTools] Using SUN PKCS11 provider: sun.security.pkcs11.SunPKCS11
      |#]

      [#|2013-09-09T08:00:42.001+0000|INFO|sun-appserver2.1|javax.enterprise.system.stream.out|_ThreadID=29;_ThreadName=p: thread-pool-1; w: 820;|ERROR [KeyTools] Error constructing pkcs11 provider: null
      |#]

      [#|2013-09-09T08:00:42.003+0000|INFO|sun-appserver2.1|javax.enterprise.system.stream.out|_ThreadID=29;_ThreadName=p: thread-pool-1; w: 820;|ERROR [PKCS11CryptoToken] Error initializing PKCS11CryptoToken : Not possible to create provider. See cause.
      org.ejbca.core.model.ca.catoken.CATokenOfflineException: Not possible to create provider. See cause.
      at org.ejbca.util.keystore.P11Slot.createProvider(P11Slot.java:271)
      at org.ejbca.util.keystore.P11Slot.<init>(P11Slot.java:84)
      at org.ejbca.util.keystore.P11Slot.<init>(P11Slot.java:39)
      at org.ejbca.util.keystore.P11Slot$SlotDataParam.getNewP11Slot(P11Slot.java:209)
      at org.ejbca.util.keystore.P11Slot.getInstance(P11Slot.java:158)
      at org.ejbca.util.keystore.P11Slot.getInstance(P11Slot.java:141)
      at org.ejbca.core.model.ca.catoken.PKCS11CAToken.init(PKCS11CAToken.java:132)
      at org.signserver.server.cryptotokens.PKCS11CryptoToken.init(PKCS11CryptoToken.java:76)
      at org.signserver.server.BaseProcessable.getCryptoToken(BaseProcessable.java:139)
      at org.signserver.server.BaseProcessable.getSigningCertificate(BaseProcessable.java:183)
      at org.signserver.ejb.WorkerSessionBean.reloadConfiguration(WorkerSessionBean.java:693)
      at org.signserver.ejb.WorkerSessionBean.reloadConfiguration(WorkerSessionBean.java:672)
      at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
      at java.lang.reflect.Method.invoke(Method.java:597)
      at com.sun.enterprise.security.application.EJBSecurityManager.runMethod(EJBSecurityManager.java:1011)
      at com.sun.enterprise.security.SecurityUtil.invoke(SecurityUtil.java:175)
      at com.sun.ejb.containers.BaseContainer.invokeTargetBeanMethod(BaseContainer.java:2929)
      at com.sun.ejb.containers.BaseContainer.intercept(BaseContainer.java:4020)
      at com.sun.ejb.containers.EJBObjectInvocationHandler.invoke(EJBObjectInvocationHandler.java:203)
      at com.sun.ejb.containers.EJBObjectInvocationHandlerDelegate.invoke(EJBObjectInvocationHandlerDelegate.java:77)
      at $Proxy45.reloadConfiguration(Unknown Source)
      at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
      at java.lang.reflect.Method.invoke(Method.java:597)
      at com.sun.corba.ee.impl.presentation.rmi.ReflectiveTie._invoke(ReflectiveTie.java:154)
      at com.sun.corba.ee.impl.protocol.CorbaServerRequestDispatcherImpl.dispatchToServant(CorbaServerRequestDispatcherImpl.java:687)
      at com.sun.corba.ee.impl.protocol.CorbaServerRequestDispatcherImpl.dispatch(CorbaServerRequestDispatcherImpl.java:227)
      at com.sun.corba.ee.impl.protocol.CorbaMessageMediatorImpl.handleRequestRequest(CorbaMessageMediatorImpl.java:1846)
      at com.sun.corba.ee.impl.protocol.CorbaMessageMediatorImpl.handleRequest(CorbaMessageMediatorImpl.java:1706)
      at com.sun.corba.ee.impl.protocol.CorbaMessageMediatorImpl.handleInput(CorbaMessageMediatorImpl.java:1088)
      at com.sun.corba.ee.impl.protocol.giopmsgheaders.RequestMessage_1_2.callback(RequestMessage_1_2.java:223)
      at com.sun.corba.ee.impl.protocol.CorbaMessageMediatorImpl.handleRequest(CorbaMessageMediatorImpl.java:806)
      at com.sun.corba.ee.impl.protocol.CorbaMessageMediatorImpl.dispatch(CorbaMessageMediatorImpl.java:563)
      at com.sun.corba.ee.impl.protocol.CorbaMessageMediatorImpl.doWork(CorbaMessageMediatorImpl.java:2567)
      at com.sun.corba.ee.impl.orbutil.threadpool.ThreadPoolImpl$WorkerThread.run(ThreadPoolImpl.java:555)
      Caused by: java.io.IOException: Error constructing pkcs11 provider: null
      at org.ejbca.util.keystore.KeyTools.getP11Provider(KeyTools.java:479)
      at org.ejbca.util.keystore.KeyTools.getP11Provider(KeyTools.java:446)
      at org.ejbca.util.keystore.P11Slot.createProvider(P11Slot.java:263)
      … 37 more
      Caused by: java.lang.reflect.InvocationTargetException
      at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
      at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
      at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
      at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
      at org.ejbca.util.keystore.KeyTools.getP11Provider(KeyTools.java:476)
      … 39 more
      Caused by: java.security.ProviderException: Initialization failed
      at sun.security.pkcs11.SunPKCS11.<init>(SunPKCS11.java:340)
      at sun.security.pkcs11.SunPKCS11.<init>(SunPKCS11.java:90)
      … 44 more
      Caused by: sun.security.pkcs11.wrapper.PKCS11Exception: CKR_SLOT_ID_INVALID
      at sun.security.pkcs11.wrapper.PKCS11.C_GetSlotInfo(Native Method)
      at sun.security.pkcs11.SunPKCS11.<init>(SunPKCS11.java:329)
      … 45 more
      |#]

      [#|2013-09-09T08:13:14.556+0000|INFO|sun-appserver2.1|javax.enterprise.system.stream.out|_ThreadID=30;_ThreadName=p: thread-pool-1; w: 826;|ERROR [TimeStampSigner] Neither Signtoken or ProcessableConfig contains a certificate chain!
      |#]

      Have you another idea ?

      Regards,
      Valentin.

    • Markus Kilås

      Hi Valentin,

      The root cause seems to be CKR_SLOT_ID_INVALID. When using nCipher you often have to specify for instance slotListIndex=0 instead of slot=0 to point out the first available slot as the first slot might not always get the slot id of 0.

      Best regards,
      Markus
      PrimeKey


    Log in to post a comment.

    Понравилась статья? Поделить с друзьями:
  1. Pjsip syntax error exception when parsing request line header on line 1 col 1
  2. Pixma mg2545s ошибка 5100
  3. Pixma g1410 ошибка 5b00
  4. Pixel launcher ошибка как исправить
  5. Pixel error разработчик страна