Ckr general 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 символов.

Источник

I have followed the example: https://pkcs11interop.net/doc/_high_level_a_p_i_2_24__wrap_and_unwrap_key_test_8cs-example.html

to wrap symmetric keys using rsa keys and it worked.

What I am trying to achieve is to wrap an asymmetric key (rsa private key) instead. All I did was replacing the «secretKey» variable with an ObjectHandle of the private key. However, I get CKR_GENERAL_ERROR each time I call Wrapkey function.

Can someone explain why this won’t work? I couldn’t find anything in the specifications that prevents wrapping asymmetric keys.

The private key was generated with the following attributes:

List<ObjectAttribute> privateKeyAttributes = new List<ObjectAttribute>();
privateKeyAttributes.Add(new ObjectAttribute(CKA.CKA_TOKEN, true));
privateKeyAttributes.Add(new ObjectAttribute(CKA.CKA_PRIVATE, true));
privateKeyAttributes.Add(new ObjectAttribute(CKA.CKA_ID, ConvertUtils.HexStringToBytes(id)));
privateKeyAttributes.Add(new ObjectAttribute(CKA.CKA_SENSITIVE, false));
privateKeyAttributes.Add(new ObjectAttribute(CKA.CKA_DECRYPT, true));
privateKeyAttributes.Add(new ObjectAttribute(CKA.CKA_SIGN, true));
privateKeyAttributes.Add(new ObjectAttribute(CKA.CKA_SIGN_RECOVER, true));
privateKeyAttributes.Add(new ObjectAttribute(CKA.CKA_EXTRACTABLE, true));

Best regards,

asked Oct 16, 2018 at 9:19

Saleh Faisal's user avatar

You seem to be trying to wrap RSA private key using CKM_RSA_PKCS mechanim. Chapter 12.1.6 of PKCS#11 v2.20 specification states:

The PKCS#1 v1.5 RSA mechanism, denoted CKM_RSA_PKCS, is a
multi-purpose mechanism based on the RSA public-key cryptosystem and
the block formats initially defined in PKCS#1 v1.5.

This mechanism can wrap and unwrap any secret key of appropriate
length. Of course, a particular token may not be able to wrap/unwrap
every appropriate-length secret key that it supports. For wrapping,
the «input» to the encryption operation is the value of the CKA_VALUE
attribute of the key that is wrapped; similarly for unwrapping.

PKCS#11 specification uses term secret key only for symmetric keys. Moreover CKA_VALUE attribute is invalid for RSA private keys. This will not work.

Your best bet is to consolt the documentation of your device/library and choose different wrapping mechanism that suits your needs.

answered Oct 16, 2018 at 18:14

jariq's user avatar

jariqjariq

11.4k3 gold badges32 silver badges52 bronze badges

Я
   DenisVich

10.08.17 — 11:25

При попытки проверить номенклатуру по ЕГАИС или контрагента вываливает такое сообщение. Версия УТМ 2.0.3 Сертификат стоит. В настройках 1С все прописано. localhost 8080. УТМ  v 2 2.0.3. Программа демон УТМ стоит. Все работало. В чем может быть проблема?»

Сервер отклонил запрос: Не удалось подписать документ

Сервер отклонил запрос: CKR_GENERAL_ERROR@

Поможет ли обновление? Спасибо.

   igorPetrov

1 — 10.08.17 — 11:31

(0) А УТМ работает?

   DenisVich

2 — 10.08.17 — 11:33

Да работает. Зелененький сертификат в нем.

   igorPetrov

3 — 10.08.17 — 11:43

(2) Перезапусти службу.

  

Ёпрст

4 — 10.08.17 — 11:47

(0) УТМ 2.0.3 ?

2.0.5 давно стоять должна.. с 2.0.3 вообще, по идее, не должна работать

TurboConf — расширение возможностей Конфигуратора 1С

ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку «Обновить» в браузере.

Тема не обновлялась длительное время, и была помечена как архивная. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.

Описание проблемы.
Для работы с ЕГАИС используется носитель JaCarta PKI/ГОСТ/SE. Часто один из разделов блокируется (раздел PKI). В этом случае дальнейшая работа с ЕГАИС невозможна.

Причина блокировки
– частое обращение универсального транспортного модуля к носителю JaCarta. При десяти неудачных попытках авторизации, носитель блокирует раздел и исключает дальнейшую работу.

Решить проблему можно двумя способами:

  1. Обратиться в удостоверяющий центр, который выдал носитель.
  2. Самостоятельно разблокировать носитель JaCarta по инструкции.

Инструкция на примере Microsoft Windows 10.

Пошаговая инструкция как разблокировать PKI раздел

Шаг 1. Переключение в режим администрирования

В меню «Пуск» найдите приложение «Единый клиент JaCarta» и откройте его.

Рис. 1. Единый клиент JaCarta

Откроется рабочая область программы.

Рис. 2. Переключение в режим администрирования

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

Рис. 3. Информация о токене

Шаг 2. Проверка блокировки PKI раздела

Чтобы понять, что раздел PKI действительно заблокирован, нажмите во вкладке «Информация о токене» на ссылку «Полная информация…».

Откроется «Подробная информация о токене». В новом окне найдите раздел «Информация о приложении PKI». Если статус в строке «PIN-код» — «Заблокирован», то закройте окно и перейдите к следующему пункту инструкции.

Рис. 4. Подробная информация о токене

Шаг 3. Разблокировка PKI раздела

Перейдите на вкладку «PKI». В панели «Операции с приложением» выберите пункт «Разблокировать PIN-код пользователя…».

Откроется окно «Разблокировка PIN-кода пользователя», в котором укажите:

  1. Текущий PIN-код администратора – по умолчанию 00000000;
  2. Новый PIN-код пользователя – по умолчанию 11111111;
  3. Подтверждение кода (имеется ввиду PIN-кода пользователя).

Рис. 6. Разблокировка PIN-кода пользователя

После указания PIN-кодов, нажмите «Выполнить».

Если все введено корректно, появится уведомление. Нажмите «ОК» для завершения.

Рис. 7. Уведомление об успешной разблокировке

Перейдите на вкладку «Информация о токене» и нажмите на ссылку «Полная информация» для проверки текущего статуса приложения PKI. Статус должен быть «Установлен».

Рис. 8. Проверка статуса

Если статус изменился, разблокировка завершена.

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

По общению с некоторыми активно интересующимися читателями, я решил повторить свой «поисковой» эксперимент, который я делал, когда писал первые обзорные материалы на темы токенов. На этот раз я решил собрать в кучу неудачные опыты использования токенов, собрать ошибки 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

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

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

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

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

    Все функции из реализации стандарта 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 ДБО. Если есть замечания или поправки, то пишите их в комментариях.

    Pkcs11 ckr device error

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

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

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

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

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

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

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

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

    Код ошибки

    Описание

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

    Источник

    pkcs#11

    Сообщений 13

    #1 Тема от mityase 2009-06-01 15:53:13

    • mityase
    • Посетитель
    • Неактивен

    pkcs#11

    При вызове функции C_InitToken возвращается CKR_DEVICE_ERROR. Это нормально?

    #2 Ответ от Алексей Несененко 2009-06-02 09:35:10

    • Алексей Несененко
    • Посетитель
    • Неактивен

    Re: pkcs#11

    Какая у Вас версия драйверов?
    Какая у Вас версия библиотеки rtPKCS11.dll?

    После установки новых драйверов (версии 2.22.01.0227) должна быть версия rtPKCS11.dll 2.21.0.0

    #3 Ответ от mityase 2009-06-02 14:00:08

    • mityase
    • Посетитель
    • Неактивен

    Re: pkcs#11

    Установил свежий драйвер. Ситуация не изменилась.

    #4 Ответ от Алексей Несененко 2009-06-02 15:16:33

    • Алексей Несененко
    • Посетитель
    • Неактивен

    Re: pkcs#11

    Версию DLL проверили?

    #5 Ответ от mityase 2009-06-02 15:55:41

    • mityase
    • Посетитель
    • Неактивен

    Re: pkcs#11

    2.21.00.
    Но вызывая C_GetInfo, я получаю следующие версии:
    CryptokiVersion: 2.1
    LibraryVersion: 2.0

    #6 Ответ от Алексей Несененко 2009-06-04 09:52:49

    • Алексей Несененко
    • Посетитель
    • Неактивен

    Re: pkcs#11

    Вы проверяли — сам токен рабочий?

    #7 Ответ от mityase 2009-06-04 10:52:19

    • mityase
    • Посетитель
    • Неактивен

    Re: pkcs#11

    Да, проверял, на одном из ваших примеров на создание объектов — токен корректно отработал. Вообще у меня три рутокена и ведут себя они одинаково — вылетает CKR_DEVICE_ERROR при вызове C_InitToken, все остальные функции, которые успел попробовать работают нормально.

    #8 Ответ от Алексей Несененко 2009-06-04 11:12:56

    • Алексей Несененко
    • Посетитель
    • Неактивен

    Re: pkcs#11

    Пришлите, пожалуйста, Ваш пример, который выдает ошибку на адрес hotline@rutoken.ru

    #9 Ответ от mityase 2009-06-04 11:58:22

    • mityase
    • Посетитель
    • Неактивен

    Re: pkcs#11

    Это пример InitToken из SDK.

    #10 Ответ от Андрей Марухин 2009-06-04 14:43:47

    • Андрей Марухин
    • Посетитель
    • Неактивен

    Re: pkcs#11

    Согласно стандарту PKCS #11 (текущей версии v 2-20), появление ошибки CKR_DEVICE_ERROR при вызове какой-либо функции должно сигнализировать о том, что произошел сбой в работе токена или слота. Однако, поскольку ошибка возникает именно при вызове функции C_InitToken и имеющиеся токены исправны, то возможен такой вариант.
    Если при попытке инициализации токена с помощью C_InitToken Cryptoki обнаружит, что у некоторого приложения открыт сеанс с токеном, то функция завершится с ошибкой CKR_SESSION_EXISTS, а токен не будет инициализирован. К сожалению, сам Cryptoki не всегда способен определить наличие открытого сеанса с токеном. В этом случае поведение и последствия вызова функции C_InitToken не определены. В связи с этим, не могли бы Вы уточнить:
    — имеются ли в системе какие-либо приложения, также использующие интерфейс PKCS #11;
    — установлено ли в системе ПО для токенов других производителей;
    — что происходит при вызове криптографических функций (генерация ключей, шифрование, расшифрование) из наших примеров?

    #11 Ответ от mityase 2009-06-04 15:32:37

    • mityase
    • Посетитель
    • Неактивен

    Re: pkcs#11

    — нет, по-крайней мере вашу реализацию;
    — нет;
    — они корректно отрабатывают.

    Пока пользуюсь инициализацией через утилиту администрирования. Работает.
    Насколько я понимаю, утилита работает через тот же низкоуровненый интерфейс, что и pkcs#11?

    #12 Ответ от Андрей Марухин 2009-06-04 17:50:45

    • Андрей Марухин
    • Посетитель
    • Неактивен

    Re: pkcs#11

    Да, утилита и библиотека используют тот же низкоуровневый интерфейс. Однако, выполняемые ими операции вовсе неэквивалентны.
    Утилита администрирования позволяет инициализировать всю файловую систему токена, создавая дерево предопределенных папок со служебными файлами и объекты, хранящие PIN-коды пользователя и администратора. Т.е. в этом случае полностью перезаписывается вся память токена.
    Функция C_InitToken всего лишь подготавливает структуру папок для хранения объектов PKCS #11, которые располагаются в предопределенной папке 3F00000000001. Фактически C_InitToken только удаляет содержимое этой папки и задает символьное имя токена.
    Поэтому такое поведение весьма странно.
    Скажите, а попытка вызова C_InitToken для предварительно инициализированного с помощью утилиты администрирования токена тоже заканчивается ошибкой CKR_DEVICE_ERROR?

    #13 Ответ от mityase 2009-06-04 18:05:21

    • mityase
    • Посетитель
    • Неактивен

    Re: pkcs#11

    Вопрос снят. Спасибо.

    Я инициализировал токен со следующим параметром:
    «PIN-код Пользователя имеют право менять» *Администратор.

    Не обратил внимание на сообщение, примите извинения за отобранное время. Я инициализировал токен до этого с правом смены у пользователя и, видимо, приложению просто не хватило полномочий для сброса пин-кода при инициализации.

    Источник

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

    C_OpenSession ¶

    CK_RV C_OpenSession ( CK_SLOT_IDslotID, CK_FLAGSflags, CK_VOID_PTRpApplication, CK_NOTIFY Notify, CK_SESSION_HANDLE_PTRphSession ) ¶

    Параметры:
    • slotID (in) – идентификатор слота.
    • flags (in) – флаги, определяющие тип сеанса.
    • pApplication (in) – определяемый приложением указатель, который будет передан возвратному уведомлению (notification callback). Должен принимать значение NULL_PTR .
    • Notify (in) – адрес функции возвратного уведомления (notification callback). Должен принимать значение NULL_PTR .
    • phSession (out) – указатель на объект, который получает дескриптор нового сеанса.

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

    Аргументы pApplication и Notify – должны принимать значение NULL_PTR .

    Результат:
    • 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_SESSION_COUNT – открыто слишком большое количество сеансов.

    Данный аргумент возвращается только функцией C_OpenSession .

    Данный аргумент возвращается только функцией C_OpenSession .

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

    C_CloseSession ¶

    CK_RV C_CloseSession ( CK_SESSION_HANDLEhSession ) ¶

    Параметры:
    • hSession (in) – дескриптор сеанса.

    Закрывает сеанс между приложением и токеном. При выполнении освобождает все буферы памяти, выделенные в рамках текущего сеанса (аналогично вызову функции freeBuffer() ).

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

    Результат:
    • 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_SESSION_CLOSED – сеанс был закрыт в момент выполнения функции.
    • CKR_SESSION_HANDLE_INVALID – недопустимый дескриптор сеанса.

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

    C_CloseAllSessions ¶

    CK_RV C_CloseAllSessions ( CK_SLOT_IDslotID ) ¶

    Параметры:
    • slotID (in) – идентификатор слота.

    Закрывает все сеансы на данном слоте. При выполнении освобождает все буферы памяти, выделенные в рамках всех закрываемых сеансов (аналогично вызову функции freeBuffer() ).

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

    Результат:
    • 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 – в слоте отсутствует токен.

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

    C_GetSessionInfo ¶

    CK_RV C_GetSessionInfo ( CK_SESSION_HANDLEhSession, CK_SESSION_INFO_PTRpInfo ) ¶

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

    Функция C_GetSessionInfo записывает информацию о сеансе в структуру CK_SESSION_INFO .

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

    Результат:
    • 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_SESSION_CLOSED – сеанс был закрыт в момент выполнения функции.
    • CKR_SESSION_HANDLE_INVALID – недопустимый дескриптор сеанса.

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

    C_Login ¶

    CK_RV C_Login ( CK_SESSION_HANDLEhSession, CK_USER_TYPEuserType, CK_UTF8CHAR_PTRpPin, CK_ULONGulPinLen ) ¶

    Параметры:
    • hSession (in) – дескриптор сеанса.
    • userType (in) – тип пользователя.
    • pPin (in) – указатель на PIN-код (Ключ администратора безопасности в терминах Криптотокен 2 ЭП для Администратора).
    • ulPinLen (in) – размер PIN-кода.

    Функция C_Login используется для ввода PIN-кода и перехода в режим пользователя или администратора. При работе с Антифрод-терминалом ввод PIN-кода происходит с экрана терминала, а не с клавиатуры.

    Криптотокен

    Возможные значения параметра userType и PIN-коды по умолчанию:

    Пользователь Значение userType PIN-код по умолчанию
    Администратор CKU_SO 1234567890
    Пользователь CKU_USER Не установлен

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

    Возможные значения параметра userType и PIN-коды по умолчанию (устанавливаются на производстве “Аладдин Р.Д.”, если заказчик не предоставил свои):

    Пользователь Значение userType PIN-код по умолчанию
    Пользователь CKU_USER 1234567890
    Подпись CKU_SIGNATURE Задается пользователем

    Функция C_Login() вызывается с параметром userType равным CKU_SIGNATURE только после перехода в режим Пользователя.

    Laser

    Возможные значения параметра userType и PIN-коды по умолчанию:

    Datastore

    Возможные значения параметра userType и PIN-коды по умолчанию:

    Пользователь Значение userType PIN-код по умолчанию
    Администратор CKU_SO
    Пользователь Значение userType PIN-код по умолчанию
    Администратор CKU_SO Не установлен
    Пользователь CKU_USER 1234567890

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

    Для Криптотокен 2 ЭП:

    • Пользователь — при userType равном CKU_SIGNATURE ;
    • Гость — при userType равном CKU_SO и CKU_USER .
    Результат:
    • CKR_ARGUMENTS_BAD – недопустимые аргументы.
    • CKR_CRYPTOKI_NOT_INITIALIZED – функция не может быть выполнена, т.к. библиотека еще не была инициализирована (см. C_Initialize() ).
    • CKR_DEVICE_ERROR – возникла проблема с токеном и/или слотом.
    • CKR_DEVICE_MEMORY – памяти токена недостаточно для данной операции.
    • CKR_DEVICE_REMOVED – токен был изъят из слота.
    • CKR_FUNCTION_CANCELED – функция была отменена в момент исполнения.
    • CKR_FUNCTION_FAILED – выполнение функции было прервано или она не может быть выполнена.
    • CKR_GENERAL_ERROR – общий сбой при работе с библиотекой.
    • CKR_HOST_MEMORY – компьютер, на котором запущена библиотека, не имеет достаточно памяти для выполнения функции.
    • CKR_OK – функция выполнена успешно.
    • CKR_OPERATION_NOT_INITIALIZED – в указанном сеансе нет активной операции данного типа.
    • CKR_PIN_INCORRECT – неверный PIN-код.
    • CKR_SESSION_CLOSED – сеанс был закрыт в момент выполнения функции.
    • CKR_PIN_LOCKED – указанный PIN-код заблокирован и не может быть использован.
    • CKR_SESSION_HANDLE_INVALID – недопустимый дескриптор сеанса.
    • CKR_SESSION_READ_ONLY_EXISTS – сеанс на чтение уже открыт и администратор не может быть залогинен.
    • CKR_USER_ALREADY_LOGGED_IN – пользователь уже залогинен.

    Данный аргумент возвращается только функцией C_Login .

    Данный аргумент возвращается только функцией C_Login .

    Данный аргумент возвращается только функцией C_Login .

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

    C_Logout ¶

    CK_RV C_Logout ( CK_SESSION_HANDLEhSession ) ¶

    Параметры:
    • hSession (in) – дескриптор сеанса.

    Сброс предъявления PIN-кода пользователя или администратора.

    Источник

    ключ вынут вставлен обратно…

    Цитата:

    2016-07-26 18:08:15,076 INFO ru.centerinform.crypto.b — Внимание! Не будет сделана подпись для 18 документов!
    2016-07-26 18:08:15,169 INFO org.eclipse.jetty.server.handler.ContextHandler — Stopped [email]o.e.j.w.WebAppContext@1739528{/,null,UNAVAILABLE}{/ROOT.war[/email]}
    2016-07-26 18:08:45,201 WARN org.eclipse.jetty.util.thread.QueuedThreadPool — qtp13551507{STOPPING,8<=25<=200,i=0,q=19} Couldn’t stop Thread[qtp13551507-672,5,main]
    2016-07-26 18:08:45,201 WARN org.eclipse.jetty.util.thread.QueuedThreadPool — qtp13551507{STOPPING,8<=25<=200,i=0,q=19} Couldn’t stop Thread[qtp13551507-677,5,main]
    2016-07-26 18:08:45,201 WARN org.eclipse.jetty.util.thread.QueuedThreadPool — qtp13551507{STOPPING,8<=25<=200,i=0,q=19} Couldn’t stop Thread[qtp13551507-666,5,main]
    2016-07-26 18:08:45,201 WARN org.eclipse.jetty.util.thread.QueuedThreadPool — qtp13551507{STOPPING,8<=25<=200,i=0,q=19} Couldn’t stop Thread[qtp13551507-20,5,main]
    2016-07-26 18:08:45,201 WARN org.eclipse.jetty.util.thread.QueuedThreadPool — qtp13551507{STOPPING,8<=25<=200,i=0,q=19} Couldn’t stop Thread[qtp13551507-705,5,main]
    2016-07-26 18:08:45,201 WARN org.eclipse.jetty.util.thread.QueuedThreadPool — qtp13551507{STOPPING,8<=25<=200,i=0,q=19} Couldn’t stop Thread[qtp13551507-727,5,main]
    2016-07-26 18:08:45,201 WARN org.eclipse.jetty.util.thread.QueuedThreadPool — qtp13551507{STOPPING,8<=25<=200,i=0,q=19} Couldn’t stop Thread[qtp13551507-17,5,main]
    2016-07-26 18:08:45,201 WARN org.eclipse.jetty.util.thread.QueuedThreadPool — qtp13551507{STOPPING,8<=25<=200,i=0,q=19} Couldn’t stop Thread[qtp13551507-756,5,main]
    2016-07-26 18:08:45,201 WARN org.eclipse.jetty.util.thread.QueuedThreadPool — qtp13551507{STOPPING,8<=25<=200,i=0,q=19} Couldn’t stop Thread[qtp13551507-739,5,main]
    2016-07-26 18:08:45,201 WARN org.eclipse.jetty.util.thread.QueuedThreadPool — qtp13551507{STOPPING,8<=25<=200,i=0,q=19} Couldn’t stop Thread[qtp13551507-23,5,main]
    2016-07-26 18:08:45,201 WARN org.eclipse.jetty.util.thread.QueuedThreadPool — qtp13551507{STOPPING,8<=25<=200,i=0,q=19} Couldn’t stop Thread[qtp13551507-721,5,main]
    2016-07-26 18:08:45,201 WARN org.eclipse.jetty.util.thread.QueuedThreadPool — qtp13551507{STOPPING,8<=25<=200,i=0,q=19} Couldn’t stop Thread[qtp13551507-24,5,main]
    2016-07-26 18:08:45,201 WARN org.eclipse.jetty.util.thread.QueuedThreadPool — qtp13551507{STOPPING,8<=25<=200,i=0,q=19} Couldn’t stop Thread[qtp13551507-711,5,main]
    2016-07-26 18:08:45,201 WARN org.eclipse.jetty.util.thread.QueuedThreadPool — qtp13551507{STOPPING,8<=25<=200,i=0,q=19} Couldn’t stop Thread[qtp13551507-732,5,main]
    2016-07-26 18:08:45,201 WARN org.eclipse.jetty.util.thread.QueuedThreadPool — qtp13551507{STOPPING,8<=25<=200,i=0,q=19} Couldn’t stop Thread[qtp13551507-21,5,main]
    2016-07-26 18:08:45,201 WARN org.eclipse.jetty.util.thread.QueuedThreadPool — qtp13551507{STOPPING,8<=25<=200,i=0,q=19} Couldn’t stop Thread[qtp13551507-689,5,main]
    2016-07-26 18:08:45,201 WARN org.eclipse.jetty.util.thread.QueuedThreadPool — qtp13551507{STOPPING,8<=25<=200,i=0,q=19} Couldn’t stop Thread[qtp13551507-734,5,main]
    2016-07-26 18:08:45,201 WARN org.eclipse.jetty.util.thread.QueuedThreadPool — qtp13551507{STOPPING,8<=25<=200,i=0,q=19} Couldn’t stop Thread[qtp13551507-684,5,main]
    2016-07-26 18:08:45,201 WARN org.eclipse.jetty.util.thread.QueuedThreadPool — qtp13551507{STOPPING,8<=25<=200,i=0,q=19} Couldn’t stop Thread[qtp13551507-712,5,main]
    2016-07-26 18:08:45,201 INFO es.programador.transport.Transport — Остановка служб завершена
    2016-07-26 18:08:45,201 INFO es.programador.transport.Transport — Остановка работы планировщика задач
    2016-07-26 18:08:45,201 INFO org.quartz.core.QuartzScheduler — Scheduler QuartzScheduler_$_NON_CLUSTERED shutting down.
    2016-07-26 18:08:45,201 INFO org.quartz.core.QuartzScheduler — Scheduler QuartzScheduler_$_NON_CLUSTERED paused.
    2016-07-26 18:08:45,201 INFO org.quartz.core.QuartzScheduler — Scheduler QuartzScheduler_$_NON_CLUSTERED shutdown complete.
    2016-07-26 18:08:45,201 INFO ru.centerinform.crypto.b — Внимание! Не будет сделана подпись для 18 документов!
    2016-07-26 18:14:17,654 INFO es.programador.transport.Transport — Загрузка конфигурации
    2016-07-26 18:14:17,747 INFO es.programador.transport.a.a — Загрузка файла настроек: C:UTMtransporterconftransport.properties
    2016-07-26 18:14:17,779 INFO es.programador.transport.a.a — Периодичность перезагрузки настроек выставлена в 10001 мс
    2016-07-26 18:14:18,029 INFO es.programador.transport.Transport — Чтение конфигурации

    я хер знает как это понимать…

    Hi all,

    I had my smartcard working on ArchLinux some while ago to use the certificate for website logins in Firefox. This stopped working at some update, but I failed to notice when.

    When accessing the website, it asks for the smartcard PIN and displays the certificate information correctly. If I proceed, this error is thrown:

    Secure Connection Failed
    An error occurred during a connection to fn2.flexnow.ruhr-uni-bochum.de. A PKCS #11 module returned CKR_GENERAL_ERROR, indicating that an unrecoverable error has occurred. Error code: SEC_ERROR_PKCS11_GENERAL_ERROR

    This is the slightly more detailed pkcs11-tool output:

    $ pkcs11-tool --module /usr/lib64/onepin-opensc-pkcs11.so -t -l
    Using slot 0 with a present token (0x0)
    Logging in to "Student Card (User Pin)".
    Please enter User PIN: 
    C_SeedRandom() and C_GenerateRandom():
      seeding (C_SeedRandom) not supported
      seems to be OK
    Digests:
      all 4 digest functions seem to work
      MD5: OK
      SHA-1: OK
      RIPEMD160: OK
    Signatures (currently only RSA signatures)
      testing key 0 (RUBSIGNCERT) 
    error: PKCS11 function C_SignFinal failed: rv = CKR_GENERAL_ERROR (0x5)

    Since this worked before, which packages are necessary to downgrade? What could help identify the issue and report it to upstream? If any verbose debug output is produced, please tell me if it compromises smartcard security.

    Reader: OmniKey AG CardMan 4321
    Smartcard Software:

    local/opensc 0.16.0-2
    local/pcsc-perl 1.4.14-2
    local/pcsc-tools 1.4.27-1
    local/pcsclite 1.8.20-1

    Firefox 52.0.1-1
    In Firefox, Security Device is /usr/lib/opensc-pkcs11.so

    Last edited by 912012 (2017-03-21 19:01:48)

    Понравилась статья? Поделить с друзьями:
  1. Ck2game exe ошибка приложения
  2. Civilizationbe dx11 exe ошибка
  3. Civilization beyond earth ошибка mantle
  4. Civilization beyond earth ошибка 0xc0000142 windows 10
  5. Civilization 6 ошибка при запуске приложения 0xe06d7363