0x54f внутренняя ошибка рутокен

Содержание

  1. 0x54f внутренняя ошибка рутокен
  2. Стандартные коды ошибок
  3. Первичная диагностика неисправности Рутокен
  4. Первый этап диагностики — Визуальный осмотр Рутокена
  5. 1. Повреждение/разлом корпуса или USB-разъема Рутокена
  6. 2. На корпусе Рутокена видны следы попыток вскрыть носитель
  7. 3. Рутокен со следами оплавления и/или почернения корпуса изнутри носителя, отпаявшаяся микросхема или вспученная поверхность микросхемы
  8. Второй этап диагностики — Возможные ошибки при работе с Панелью управления Рутокен
  9. 1. Рутокен не определяется в «Панели управления Рутокен»
  10. 2. Рутокен определяется панелью управления, кнопка «Ввести PIN-код…» активна, но авторизация с PIN-кодом пользователя/администратора выполняется с ошибкой. Дальнейшие действия зависят от формулировки возникающей ошибки:
  11. 2.1 Ошибка “Не удалось получить всю информацию о токене Код ошибки: 0x6a82 Описание ошибки: Файл/ RSF не найден”
  12. 2.2 Ошибка “Не удалось получить всю информацию о токене код ошибки: 0х6400 Описание ошибки: Состояние памяти Rutoken не изменилось”
  13. 2.3 Ошибка “Не удалось получить всю информацию о токене Код ошибки 0xF003 Описание ошибки Неверное значение”
  14. 2.4 Ошибка «Обнаружено повреждение системной области памяти (ошибка CRC)» код ошибки 0x6F20
  15. 2.5 Референсные данные не найдены
  16. 2.6 «PIN-код заблокирован»
  17. Третий этап диагностики — Диагностика ключевой информации, содержащейся на Рутокене
  18. 1. Проверка целостности контейнера с сертификатом “КриптоПро CSP” или “VipNet CSP”
  19. 2. Проверка целостности сертификата с неизвлекаемыми ключами
  20. 0x54f внутренняя ошибка рутокен
  21. Стандартные коды ошибок
  22. Ошибки Рутокен
  23. Ошибка: Сертификат ненадежен/Не удалось проверить статус отзыва
  24. Ошибка: Rutoken перестает определяться (Windows 10)
  25. Ошибка: Панель управления не видит Рутокен ЭЦП 2.0

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

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

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

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

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

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

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

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

Источник

Первичная диагностика неисправности Рутокен

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

Отправка токена на экспертизу производится через ту компанию, с которой у компании «Актив» имеются договорные отношения.

Таким образом, если вы приобретали Рутокен у одного из наших партнеров, вам нужно передать Рутокен партнеру. Если договор между вашей организацией и компанией «Актив» напрямую не заключался, и вы направите Рутокен нам, мы не сможем принять его на экспертизу.

Узнать срок гарантии на устройство Рутокен можно в той компании, в которой он приобретался.

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

Самые частые ошибки мы собрали в этой статье.

Первичная диагностика состоит из 3 этапов:

  1. Визуальный осмотр Рутокена. На данном этапе определяется, попадает ли Рутокен под гарантию по сроку его использования, а также выявляются механические повреждения Рутокена.
  2. Возможные ошибки в «Панели управления Рутокен» На данном этапе определяются неисправности, которые могут быть выявлены только путем подключения Рутокена к компьютеру.
  3. Диагностика ключевой информации, содержащейся на Рутокене. На данном этапе проверяется целостность ключевой информации, которая содержится на носителе Рутокен с помощью вспомогательных инструментов, таких как: “Панель управления Рутокен”, “КриптоПро CSP” или «ViPNet CSP».

Первый этап диагностики — Визуальный осмотр Рутокена

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

Можно выделить следующие виды механических повреждений:

1. Повреждение/разлом корпуса или USB-разъема Рутокена

2. На корпусе Рутокена видны следы попыток вскрыть носитель

3. Рутокен со следами оплавления и/или почернения корпуса изнутри носителя, отпаявшаяся микросхема или вспученная поверхность микросхемы

Рутокен со следами оплавления и/или почернения можно направить на дополнительную экспертизу. Если в ходе экспертизы будет выявлено умышленное повреждение или превышение допустимого напряжения, подаваемого в USB-порт, гарантийная замена Рутокена на новый произведена не будет.

Второй этап диагностики — Возможные ошибки при работе с Панелью управления Рутокен

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

Подключите Рутокен к компьютеру и запустите «Панель управления Рутокен».

Запуск панели управления Рутокен выполняется через меню Пуск / Панель управления / Панель управления Рутокен.

Если Рутокен определяется в «Панели управления Рутокен», активна кнопка «Ввести PIN-код…»

Нажмите на кнопку «Информация» на вкладке «Администрирование». Ошибок возникать не должно.

Попробуйте авторизоваться с PIN-кодом пользователя и/или администратора.

Если при нажатии на кнопку «Информация» ошибок не возникает, а авторизация выполняется успешно, следует перейти к третьему этапу диагностики носителя Рутокен

(Рутокен работает корректно, необходимо проверить целостность ключевой информации на Рутокене).

После подключения Рутокена к компьютеру возможны следующие ошибки в Панели управления Рутокен:

1. Рутокен не определяется в «Панели управления Рутокен»

Рутокен не определяется в «Панели управления Рутокен» (список «Подключенные Рутокен» пустой) и, как следствие, неактивны кнопки «Ввести PIN-код…» и «Информация…». В данном случае необходимо воспользоваться инструкцией.

2. Рутокен определяется панелью управления, кнопка «Ввести PIN-код…» активна, но авторизация с PIN-кодом пользователя/администратора выполняется с ошибкой. Дальнейшие действия зависят от формулировки возникающей ошибки:

2.1 Ошибка “Не удалось получить всю информацию о токене Код ошибки: 0x6a82 Описание ошибки: Файл/ RSF не найден”

Подключите Рутокен к другому USB порту. Повторите попытку ввода PIN-кода. По возможности, установите Драйверы Рутокен на другой компьютер, подключите токен и попробуйте ввести PIN-код.

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

2.2 Ошибка “Не удалось получить всю информацию о токене код ошибки: 0х6400 Описание ошибки: Состояние памяти Rutoken не изменилось”

Подключите Рутокен к другому USB порту. Повторите попытку ввести PIN-код. По возможности, установите Драйверы Рутокен на другой компьютер, подключите токен и попробуйте ввести PIN-код.

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

2.3 Ошибка “Не удалось получить всю информацию о токене Код ошибки 0xF003 Описание ошибки Неверное значение”

Подключите Рутокен к другому USB порту. Повторите попытку ввести PIN-код. По возможности, установите Драйверы Рутокен на другой компьютер, подключите токен и попробуйте ввести PIN-код.

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

2.4 Ошибка «Обнаружено повреждение системной области памяти (ошибка CRC)» код ошибки 0x6F20

Ошибка означает, что память на носителя Рутокен была повреждена. Форматирование Рутокена не поможет. Рутокен необходимо передать в ту компанию, в которой приобретался данный носитель для отправки на экспертизу в компанию Актив.

2.5 Референсные данные не найдены

Подключите Рутокен к другому USB порту. Повторите попытку ввести PIN-код. По возможности, установите Драйверы Рутокен на другой компьютер, подключите токен и попробуйте ввести PIN-код.

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

Более подробная информация об ошибке есть в статье нашей Базы Знаний.

2.6 «PIN-код заблокирован»

Ошибка «PIN-код заблокирован» означает, что Рутокен был заблокирован в результате превышения количества попыток ввода PIN-кода.

Если заблокирован PIN-код пользователя, воспользуйтесь инструкцией.

Если заблокирован PIN-код Администратора, воспользуйтесь инструкцией.

Третий этап диагностики — Диагностика ключевой информации, содержащейся на Рутокене

На третьем этапе проверяется целостность ключевой информации, которая содержится на Рутокене.

Определите модель Рутокена по инструкции.

Если используется носитель из семейства Рутокен ЭЦП, проверьте формат ключей по инструкции.

1. Проверка целостности контейнера с сертификатом “КриптоПро CSP” или “VipNet CSP”

Выполнить такую проверку можно через программу криптопровайдера, с помощью которой была сгенерирована электронная подпись пользователя, например программа «КриптоПро CSP» или «VipNet CSP»

Тестирование целостности контейнера через «КриптоПро CSP» необходимо проводить по инструкции.

Тестирование целостности контейнера через «VipNet CSP» необходимо проводить по инструкции.

Если операция по проверке ключевого контейнера выполняется без ошибок, значит ключевая информация на носителе Рутокен не повреждена.

2. Проверка целостности сертификата с неизвлекаемыми ключами

Тестирование носителей Рутокен ЭЦП 2.0 с записанными на него неизвлекаемыми ключами ЭП (PKCS#11) пользователями самостоятельно не производится. Удаленная диагностика выполняется сотрудниками технической поддержки компании Актив.

Если у вас возникли вопросы — обращайтесь в службу технической поддержки компании “Актив”.

Источник

0x54f внутренняя ошибка рутокен

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

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

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

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

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

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

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

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

Источник

Ошибки Рутокен

Из нашей статьи вы узнаете:

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

Ошибка: Сертификат ненадежен/Не удалось проверить статус отзыва

Ошибку можно заметить на вкладке «Сертификаты» непосредственно в панели управления Рутокен. Проблема возникает во время установки ЭЦП и связана с неполной настройкой. Речь про отсутствие специального корневого доверенного сертификата, который выдает удостоверяющий центр.

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

  • выберите ваш сертификат в панели управления;
  • нажмите кнопку «Свойства»;
  • выберите вкладку «Путь сертификации».

Если в открывшемся дереве вы видите лишь ваш личный сертификат, то надо установить еще один, который был выдан в удостоверяющем центре, и сделать доверенным.

Ошибка: Rutoken перестает определяться (Windows 10)

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

В случае если ошибка не исчезла, обратитесь за консультацией в удостоверяющий центр, где вы оформили ЭЦП и приобрели Рутокен.

Ошибка: Панель управления не видит Рутокен ЭЦП 2.0

Для решения проблемы выполните следующие действия:

  • подключите токен к другому USB-разъему или компьютеру для оценки работоспособности;
  • определите наличие устройства через «Диспетчер устройств» в разделе «Контроллеры USB»;
  • проконтролируйте наличие доступа к веткам реестра
    • HKEY_LOCAL_MACHINESOFTWAREMicrosoftCryptographyCalais и
    • HKEY_LOCAL_MACHINESOFTWAREMicrosoftCryptographyCalaisReaders у текущего пользователя и Local Service (если необходимо, то добавьте), также убедитесь, что Служба «Смарт-карта» запущена от имени NT AUTHORITYLocalService («Пуск» — «Панель управления» — «Администрирование» — «Службы»).;
  • проверьте количество считывателей в настройках панели управления (должно быть значение 1);
  • переустановите комплект драйверов для исключения сбоя программного обеспечения.

Если ничего не помогло и ошибка осталась, обращайтесь в удостоверяющий центр «Астрал». Мы предлагаем услуги по генерации ЭЦП любых типов на выгодных условиях, а также комплексное техническое сопровождение. Для решения проблем мы готовы проконсультировать по телефону либо найти выход с помощью удаленного подключения к вашему компьютеру. Получить дополнительную информацию можно по телефону либо оставив заявку на сайте. Мы оперативно ответим и предоставим консультацию.

Источник

вопросы

Из нашей статьи вы узнаете:

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

Ошибка: Сертификат ненадежен/Не удалось проверить статус отзыва

Ошибку можно заметить на вкладке «Сертификаты» непосредственно в панели управления Рутокен. Проблема возникает во время установки ЭЦП и связана с неполной настройкой. Речь про отсутствие специального корневого доверенного сертификата, который выдает удостоверяющий центр.

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

  • выберите ваш сертификат в панели управления;
  • нажмите кнопку «Свойства»;
  • выберите вкладку «Путь сертификации».

Если в открывшемся дереве вы видите лишь ваш личный сертификат, то надо установить еще один, который был выдан в удостоверяющем центре, и сделать доверенным.

Ошибка: Rutoken перестает определяться (Windows 10)

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

В случае если ошибка не исчезла, обратитесь за консультацией в удостоверяющий центр, где вы оформили ЭЦП и приобрели Рутокен.

Ошибка: Рутокен плагин недоступен

Если у вас появляется ошибка «Плагин недоступен» при входе в личный кабинет сервиса Честный Знак, то это значит, что на компьютере не установлены криптографический плагин Рутокен Плагин или КриптоПро ЭЦП Browser plug-in.

Чтобы исправить данную ошибку вы можете воспользоваться нашей инструкцией по установке плагина RuToken.

Ошибка: Панель управления не видит Рутокен ЭЦП 2.0

Для решения проблемы выполните следующие действия:

  • подключите токен к другому USB-разъему или компьютеру для оценки работоспособности;
  • определите наличие устройства через «Диспетчер устройств» в разделе «Контроллеры USB»;
  • проконтролируйте наличие доступа к веткам реестра
    • HKEY_LOCAL_MACHINESOFTWAREMicrosoftCryptographyCalais и
    • HKEY_LOCAL_MACHINESOFTWAREMicrosoftCryptographyCalaisReaders у текущего пользователя и Local Service (если необходимо, то добавьте), также убедитесь, что Служба «Смарт-карта» запущена от имени NT AUTHORITYLocalService («Пуск» — «Панель управления» — «Администрирование» — «Службы»).;
  • проверьте количество считывателей в настройках панели управления (должно быть значение 1);
  • переустановите комплект драйверов для исключения сбоя программного обеспечения.

Если ничего не помогло и ошибка осталась, обращайтесь в удостоверяющий центр «Астрал». Мы предлагаем услуги по генерации ЭЦП любых типов на выгодных условиях, а также комплексное техническое сопровождение. Для решения проблем мы готовы проконсультировать по телефону либо найти выход с помощью удаленного подключения к вашему компьютеру. Получить дополнительную информацию можно по телефону либо оставив заявку на сайте. Мы оперативно ответим и предоставим консультацию.

CKR_ARGUMENTS_BAD

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

CKR_ATTRIBUTE_READ_ONLY

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

CKR_ATTRIBUTE_SENSITIVE

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

CKR_ATTRIBUTE_TYPE_INVALID

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

CKR_ATTRIBUTE_VALUE_INVALID

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

CKR_BUFFER_TOO_SMALL

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

CKR_CANT_LOCK

Библиотека не поддерживает блокировку для защиты потоков; возвращается только при  вызове функции 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_HOST_MEMORY

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

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

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

CKR_PIN_EXPIRED

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

CKR_PIN_INCORRECT

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

CKR_PIN_INVALID

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

CKR_PIN_LEN_RANGE

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

CKR_PIN_LOCKED

Авторизация по данному PIN-коду невозможна (превышен допустимый предел последовательного ввода неправильных значений 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.0, как второго по значимости игрока рынка СКЗИ. Кстати, благодаря Аладдину, мы теперь знаем много чего по распределению всего рынка СКЗИ в цифрах:

Не буду высказываться негативно о данном исследовании, но уж больно джинсой попахивает. Тем не менее, на мой взгляд, издание авторитетное и достойное доверия. На что нужно обратить внимание, что исследование сделано по использованию СКЗИ в банковской сфере. Мы с вами говорим об алкогольной рознице, поэтому не все игроки нам интересны. Или, например, когда на Jacarta PKI ГОСТ для ЕГАИС жалоб больше полутысячи (см. тут) и не только на PKI, то тоже непонятно, откуда так много) Поэтому надо учитывать, что сфера банка, а не алкогольной розницы.

И третьего игрока, о котором я уже рассказывал в одном из самых первых постов, это ESMART Token ГОСТ. Его доля настолько мала, что по сути это частное решение для конкретных заказчиков.

Итак, какие у Рутоен отзывы, точнее сказать у Рутокен ЭЦП 2.0 (рассматриваем алкоголь розницу)

Форумы, которые я просмотрел:

Результат — 189 отзывов про Рутокен ошибка против 630 по запросу jacarta ошибка

Тут есть небольшой нюанс, что словосочение ошибка Рутокен очень часто выпадает в контексте, когда у Jacarta ошибки – установите Рутокен.

Например,

У Рутокен отзывы лучше,  но это не делает Рутокен ЭЦП 2.0  идеальным. Как и у Джакарты у Рутокена ЭЦП 2.0 есть серия ошибок, которые выявляются чаще всего и которые, к сожалению, не могут не раздражать. Из реальных ошибок у Ротокена есть проблемы с PKI как и у Jacarta ГОСТ для ЕГАИС.

Например,

Отзывы о Рутокен ЭЦП 2.0 на форуме http://forum.sbis.ru

Результат 10 против 5 по Джакарте, однако некоторые ветки, например

При сочетании ошибка рутокен, индексируют запрос не видит Jacarta или просто, что ошибка в «Джекарте» (оригинальное написание в ветке) и советуют брать Рутокен, который, цитирую, «обладает всеми теми же свойствами, но Тендор утверждает, что надо брать именно JaCarta». Поэтому минусую эту ветку и 2 результата по ней и вот эти:

Но она за 2011 год и не является релевантной, как и остальные

Итого, получается, что по отношению к запросу jacarta ошибка 5 веток, мы имеем 0 реальных недовольств по отношению к запросу Рутокен ошибка. По запросу Jacarta PKI ГОСТ для ЕГАИС я запросы не делал, но они выползают зачастую в более широких запросах.

Второй по частоте шибка, которая возникает у Рутокена, это когда система его не видит. До этого много было проблем, так как Рутокен не работал с атоловским хабом и тоже, часто возникали трудности. Как и трабл, когда система не видит jacarta рутокен с этой проблемой пока не расправился. Думаю, что причины, как у Джакарты могут быть не только в том, что продукт плохой, но и в том, что люди, иногда, пользоваться не могут и требуется помощь сисадминов, когда уже все зависло по 3 разу.

Ищем, какие у Рутокен ЭЦП 2.0 отзывы на www.egaisa.net

Это еще один форум основной http://egaisa.net/

Результат поиска: 1

Но юзер перепутал еТокен с Рутокеном, поэтому ничего по этому форуму сказать не могу. В принципе и по ошибкам JaCarta  там тоже было не густо.

Подводя итог, у Рутокен отзывы имеют более положительный характер. Но это не отменяет основных ошибок:

  • Система не видит Рутокен
  • Ошибка при обновлении или переустановке
  • Ошибка с PKI

Для ESMART на www.egais2016.ru  вообще нет никаких результатов

На http://egaisa.net также не нашлось никаких веток обсуждения, как на Сбисе. Поэтому, как я уже писал, непонятно, как в пользовательском отношении успешен/не успешен данный токен.

Друзья, я надеюсь, что мои материалы помогают вам искать и аккумулировать объективную информацию по токенам и всегда быть в курсе последних новостей. Спасибо, что читаете)

Содержание

  1. Ошибки Рутокен
  2. Ошибка: Сертификат ненадежен/Не удалось проверить статус отзыва
  3. Ошибка: Rutoken перестает определяться (Windows 10)
  4. Ошибка: Панель управления не видит Рутокен ЭЦП 2.0
  5. Почему компьютер не видит носитель рутокен
  6. Первичная диагностика неисправности Рутокен
  7. 1. Повреждение/разлом корпуса или USB-разъема Рутокена
  8. 3. Рутокен со следами оплавления и/или почернения корпуса изнутри носителя, отпаявшаяся микросхема или вспученная поверхность микросхемы
  9. 1. Рутокен не определяется в «Панели управления Рутокен»
  10. 2. Рутокен определяется панелью управления, кнопка «Ввести PIN-код…» активна, но авторизация с PIN-кодом пользователя/администратора выполняется с ошибкой. Дальнейшие действия зависят от формулировки возникающей ошибки:
  11. 2.1 Ошибка “Не удалось получить всю информацию о токене Код ошибки: 0x6a82 Описание ошибки: Файл/ RSF не найден”
  12. 2.2 Ошибка “Не удалось получить всю информацию о токене код ошибки: 0х6400 Описание ошибки: Состояние памяти Rutoken не изменилось”
  13. 2.3 Ошибка “Не удалось получить всю информацию о токене Код ошибки 0xF003 Описание ошибки Неверное значение”
  14. 2.4 Ошибка «Обнаружено повреждение системной области памяти (ошибка CRC)» код ошибки 0x6F20
  15. 2.5 Референсные данные не найдены
  16. 2.6 «PIN-код заблокирован»
  17. 1. Проверка целостности контейнера с сертификатом “КриптоПро CSP” или “VipNet CSP”
  18. 2. Проверка целостности сертификата с неизвлекаемыми ключами
  19. Почему компьютер не видит носитель рутокен
  20. Почему компьютер не видит рутокен
  21. Установка драйвера для Windows Vista Windows Seven
  22. Установка драйвера для Windows XP
  23. Подготовка
  24. Установка драйверов и модулей ruToken
  25. Настройка считывателя в КриптоПро
  26. Установка сертификатов
  27. Почему не виден сертификат ЭЦП на носителе
  28. Причина 1: драйвер не установлен или устройство отображается в диспетчере устройств с восклицательным знаком
  29. Причина 2: долгое опознание носителя на Windows 7
  30. Причина 3: USB-порт работает некорректно
  31. Причина 4: носитель неисправен
  32. Почему выходит ошибка при создании подписи
  33. Устранение ошибки ненайденного элемента ЭЦП
  34. Устранение ошибки с построением цепочки сертификатов

Ошибки Рутокен

Из нашей статьи вы узнаете:

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

Ошибка: Сертификат ненадежен/Не удалось проверить статус отзыва

Ошибку можно заметить на вкладке «Сертификаты» непосредственно в панели управления Рутокен. Проблема возникает во время установки ЭЦП и связана с неполной настройкой. Речь про отсутствие специального корневого доверенного сертификата, который выдает удостоверяющий центр.

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

Если в открывшемся дереве вы видите лишь ваш личный сертификат, то надо установить еще один, который был выдан в удостоверяющем центре, и сделать доверенным.

Ошибка: Rutoken перестает определяться (Windows 10)

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

В случае если ошибка не исчезла, обратитесь за консультацией в удостоверяющий центр, где вы оформили ЭЦП и приобрели Рутокен.

Ошибка: Панель управления не видит Рутокен ЭЦП 2.0

Для решения проблемы выполните следующие действия:

Если ничего не помогло и ошибка осталась, обращайтесь в удостоверяющий центр «Астрал». Мы предлагаем услуги по генерации ЭЦП любых типов на выгодных условиях, а также комплексное техническое сопровождение. Для решения проблем мы готовы проконсультировать по телефону либо найти выход с помощью удаленного подключения к вашему компьютеру. Получить дополнительную информацию можно по телефону либо оставив заявку на сайте. Мы оперативно ответим и предоставим консультацию.

Источник

Почему компьютер не видит носитель рутокен

Рутокен при подключении к компьютеру не отображается в Панели управления Рутокен, кнопка «Ввести PIN-код» неактивна.

image2018 5 8 14 29 34

Если используется Подключение к удаленному рабочему столу, подробную информацию можно прочитать в этой статье.

Определите модель Рутокен по маркировке на самом ключе, воспользовавшись этой инструкцией.

Возможно, не хватает питания для Рутокена. Попробуйте подключить Рутокен в другой USB-порт.

Если используется удлинитель, подключите Рутокен напрямую.

Проверьте работают ли флешки, другие токены или смарт-карты.

Модель Рутокен S должна отображаться в разделе Контроллеры USB.

image2018 5 8 14 53 13

Модели Рутокен ЭЦП 2.0, Рутокен Lite должны отображаться в разделе Устройства чтения смарт-карт.

*Иногда могут отображаться как «USB Smart Card reader», «Rutoken ECP» или «Rutoken Lite»

image2018 5 8 14 52 26

Откройте Панель управления Рутокен и перейдите на вкладку Настройки.

Проверьте значение в раскрывающемся списке Количество считывателей Рутокен S. Если установлен «0», то увеличьте это значение до 1 и примените изменения

image2018 5 8 14 56 13

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

Источник

Первичная диагностика неисправности Рутокен

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

Отправка токена на экспертизу производится через ту компанию, с которой у компании «Актив» имеются договорные отношения.

Таким образом, если вы приобретали Рутокен у одного из наших партнеров, вам нужно передать Рутокен партнеру. Если договор между вашей организацией и компанией «Актив» напрямую не заключался, и вы направите Рутокен нам, мы не сможем принять его на экспертизу.

Узнать срок гарантии на устройство Рутокен можно в той компании, в которой он приобретался.

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

Самые частые ошибки мы собрали в этой статье.

Первичная диагностика состоит из 3 этапов:

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

Можно выделить следующие виды механических повреждений:

1. Повреждение/разлом корпуса или USB-разъема Рутокена

image2020 4 17 15 35 9 image2020 4 17 15 34 16

image2020 4 17 15 32 7

3. Рутокен со следами оплавления и/или почернения корпуса изнутри носителя, отпаявшаяся микросхема или вспученная поверхность микросхемы

image2020 4 17 16 55 37 image2020 4 17 16 56 4

Рутокен со следами оплавления и/или почернения можно направить на дополнительную экспертизу. Если в ходе экспертизы будет выявлено умышленное повреждение или превышение допустимого напряжения, подаваемого в USB-порт, гарантийная замена Рутокена на новый произведена не будет.

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

Подключите Рутокен к компьютеру и запустите «Панель управления Рутокен».

Запуск панели управления Рутокен выполняется через меню Пуск / Панель управления / Панель управления Рутокен.

image2020 4 17 17 4 50

Если Рутокен определяется в «Панели управления Рутокен», активна кнопка «Ввести PIN-код…»

Нажмите на кнопку «Информация» на вкладке «Администрирование». Ошибок возникать не должно.

Попробуйте авторизоваться с PIN-кодом пользователя и/или администратора.

Если при нажатии на кнопку «Информация» ошибок не возникает, а авторизация выполняется успешно, следует перейти к третьему этапу диагностики носителя Рутокен

(Рутокен работает корректно, необходимо проверить целостность ключевой информации на Рутокене).

После подключения Рутокена к компьютеру возможны следующие ошибки в Панели управления Рутокен:

1. Рутокен не определяется в «Панели управления Рутокен»

image2020 4 17 17 5 41

Рутокен не определяется в «Панели управления Рутокен» (список «Подключенные Рутокен» пустой) и, как следствие, неактивны кнопки «Ввести PIN-код…» и «Информация…». В данном случае необходимо воспользоваться инструкцией.

2. Рутокен определяется панелью управления, кнопка «Ввести PIN-код…» активна, но авторизация с PIN-кодом пользователя/администратора выполняется с ошибкой. Дальнейшие действия зависят от формулировки возникающей ошибки:

2.1 Ошибка “Не удалось получить всю информацию о токене Код ошибки: 0x6a82 Описание ошибки: Файл/ RSF не найден”

Oshibka

Подключите Рутокен к другому USB порту. Повторите попытку ввода PIN-кода. По возможности, установите Драйверы Рутокен на другой компьютер, подключите токен и попробуйте ввести PIN-код.

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

2.2 Ошибка “Не удалось получить всю информацию о токене код ошибки: 0х6400 Описание ошибки: Состояние памяти Rutoken не изменилось”

6400

Подключите Рутокен к другому USB порту. Повторите попытку ввести PIN-код. По возможности, установите Драйверы Рутокен на другой компьютер, подключите токен и попробуйте ввести PIN-код.

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

2.3 Ошибка “Не удалось получить всю информацию о токене Код ошибки 0xF003 Описание ошибки Неверное значение”

F003

Подключите Рутокен к другому USB порту. Повторите попытку ввести PIN-код. По возможности, установите Драйверы Рутокен на другой компьютер, подключите токен и попробуйте ввести PIN-код.

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

2.4 Ошибка «Обнаружено повреждение системной области памяти (ошибка CRC)» код ошибки 0x6F20

image2020 4 17 17 8 59

Ошибка означает, что память на носителя Рутокен была повреждена. Форматирование Рутокена не поможет. Рутокен необходимо передать в ту компанию, в которой приобретался данный носитель для отправки на экспертизу в компанию Актив.

2.5 Референсные данные не найдены

image001

Подключите Рутокен к другому USB порту. Повторите попытку ввести PIN-код. По возможности, установите Драйверы Рутокен на другой компьютер, подключите токен и попробуйте ввести PIN-код.

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

Более подробная информация об ошибке есть в статье нашей Базы Знаний.

2.6 «PIN-код заблокирован»

image2020 4 17 17 9 17

Ошибка «PIN-код заблокирован» означает, что Рутокен был заблокирован в результате превышения количества попыток ввода PIN-кода.

Если заблокирован PIN-код пользователя, воспользуйтесь инструкцией.

Если заблокирован PIN-код Администратора, воспользуйтесь инструкцией.

На третьем этапе проверяется целостность ключевой информации, которая содержится на Рутокене.

Определите модель Рутокена по инструкции.

Если используется носитель из семейства Рутокен ЭЦП, проверьте формат ключей по инструкции.

1. Проверка целостности контейнера с сертификатом “КриптоПро CSP” или “VipNet CSP”

Выполнить такую проверку можно через программу криптопровайдера, с помощью которой была сгенерирована электронная подпись пользователя, например программа «КриптоПро CSP» или «VipNet CSP»

Тестирование целостности контейнера через «КриптоПро CSP» необходимо проводить по инструкции.

Тестирование целостности контейнера через «VipNet CSP» необходимо проводить по инструкции.

Если операция по проверке ключевого контейнера выполняется без ошибок, значит ключевая информация на носителе Рутокен не повреждена.

2. Проверка целостности сертификата с неизвлекаемыми ключами

Тестирование носителей Рутокен ЭЦП 2.0 с записанными на него неизвлекаемыми ключами ЭП (PKCS#11) пользователями самостоятельно не производится. Удаленная диагностика выполняется сотрудниками технической поддержки компании Актив.

Источник

Почему компьютер не видит носитель рутокен

После прохождения проверки условий подключения по сертификату ключа проверки ЭЦП и выбора сертификата в личном кабинете юридического лица на сайте nalog.ru через Yandex браузер возникает одно из двух сообщений:

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

image2019 9 5 16 7 19 image2019 9 5 16 8 6

Эти ошибки возникают в приложении Рутокен Коннект, установленном на компьютер, если не выполняются условия для успешного входа или выбран неверный вариант входа.

Необходимо определить нужно ли расширение Рутокен Коннект и какой вариант входа нужно использовать.

Расширение Рутокен Коннект должно использоваться для входа на сайт nalog.ru только если используется модель Рутокен ЭЦП 2.0 с записанным на него сертификатом формата PKCS#11 (как для ЕГАИС).

Проверка условий подключения должна завершиться успешно.

2. Если используется другая модель Рутокен и/или на Рутокене содержится сертификат формата «КриптоПро CSP», то выбран правильный вариант:

нужно выполнить одно из трех действий:

a) Удалите адрес lkul.nalog.ru:443 из настроек Рутокен Коннект

image2019 9 5 17 32 40

image2019 9 5 17 37 4

b) Или удалите Адаптер Рутокен Коннект

image2019 9 5 17 41 56

с) Или удалите приложение Рутокен Коннект

image2019 9 5 18 2 17

После выполнения одного из трех действий повторите Проверку условий подключения по сертификату ЭЦП.

Источник

Почему компьютер не видит рутокен

1. Возможно, на токене перегорел светодиод (лампочка). Для проверки следует:

5469

2. Подключить Rutoken к другому USB-порту.

3. Запустить / перезапустить службу «Смарт-карта». Для этого:

4. Переустановить драйвер Rutoken, предварительно отключив носитель от компьютера.
Для этого открыть меню «Пуск» > «Панель управления» > «Установка и удаление программ» (для ОС Windows Vista Windows Seven меню «Пуск» > «Панель управления» > «Программы и компоненты»). В списке найти пункт «Rutoken Drivers» и выбрать «Удалить». После удаления необходимо перезагрузить компьютер и установить драйвер Rutoken заново.

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

Установка драйвера для Windows Vista Windows Seven

1. Кликнуть по значку «Мой компьютер» правой кнопкой мыши и выбрать элемент «Свойства».

2. В открывшемся меню выбрать «Диспетчер устройств».

picture 1502

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

picture 826

4. Необходимо выделить строку «ruToken» и выбрать «Обновить драйверы».

picture 827

5. Далее выбрать «Выполнить поиск драйверов на этом компьютере».

picture 828

6. Нажать на кнопку «Обзор», указать каталог C:WindowsSystem32Aktiv Co и нажать на кнопку «Далее». Указанный каталог может быть скрытым. В таком случае необходимо выбрать меню «Сервис» > «Параметры папок» > «Вид», установить переключатель «Показывать скрытые файлы, папки и диски» и повторить выбор каталога.

picture 829

7. Дождаться окончания установки и нажать на кнопку «Закрыть».

picture 830

8. После установки драйвера устройство будет отображаться в разделе «Контроллеры USB». На токене также должен загореться диод.

picture 831

Установка драйвера для Windows XP

1. Кликнуть по значку «Мой компьютер» правой кнопкой мыши и выбрать элемент «Свойства».

2. В окне «Свойства системы» перейти на вкладку «Оборудование» и нажать на кнопку «Диспетчер устройств».

picture 832

3. В открывшемся окне проверить, нет ли в списке элемента «ruToken» (либо «Неизвестное устройство»), обозначенного желтым значком. Необходимо кликнуть по нему правой кнопкой мыши и выбрать «Обновить драйвер».

picture 833

4. В окне «Мастер обновления оборудования» установить переключатель «Установка из указанного места».

picture 834

5. В открывшемся окне нажать на кнопку «Обзор», указать путь к каталогу C:Windowssystem32Aktiv Co
t USB и нажать на кнопку «Далее». Указанный каталог может быть скрытым. В таком случае необходимо выбрать меню «Сервис» > «Параметры папок» > «Вид», установить переключатель «Показывать скрытые файлы, папки и диски» и повторить выбор каталога

picture 835

6. Дождаться окончания установки и нажать на кнопку «Готово».

picture 836

7. По завершении установки драйвера устройство будет отображаться в разделе «Контроллеры универсальной последовательной шины USB». На токене также должен загореться диод.

picture 837

6. В случае если выполнение инструкций не помогло исправить ошибку, токен, скорее всего, неисправен. Чтобы в этом убедиться, следует присоединить Rutoken к компьютеру, на котором никогда не устанавливался драйвер. Если носитель работает корректно, то должен запуститься «Мастер установки нового оборудования». Если при присоединении рутокена ничего не происходит, то носитель, вероятнее всего, неисправен, и его необходимо сменить.

Если сохранилась копия сертификата, следует использовать ее для работы в системе Контур.Экстерн, предварительно установив сертификат. Если копий не сохранилось, необходимо обратиться в сервисный центр для незапланированной замены ключа.

%D0%9C%D0%B0%D1%80%D0%BA%D0%B8%D1%80%D0%BE%D0%B2%D0%BA%D0%B0 %D0%BE%D0%B1%D1%89 206%D1%8577 11.18

%D0%91%D0%B0%D0%BD%D0%BD%D0%B5%D1%80 216%D1%8590 11.10.17

vk 180

Подготовка

Установка драйверов и модулей ruToken

Для установки драйверов необходимо:

Настройка считывателя в КриптоПро

Откроется окно со списком установленных считывателей. Если в списке нет считывателя Все считыватели смарт-карт, нажмите кнопку «Добавить»

Если кнопка «Добавить» не активна, то нужно перейти на вкладку «Общие» и нажать на ссылку «Запустить с правами администратора».
RU 3.6 2.0

Для продолжения установки считывателя нажмите кнопку «Далее»

В следующем окне выберите считыватель Все считыватели смарт-карт и нажмите кнопку «Далее»
RU 3.6 3.0

Для продолжения установки нажмите кнопку «Далее»
RU 3.6 4.0

Установка сертификатов

Для того, чтобы система стала запрашивать ruToken при входе, с него нужно установить сертификат. Чтобы узнать, как это сделать, перейдите по данной ссылке (нажмите здесь чтобы перейти).

Иногда при работе с электронной цифровой подписью (ЭЦП) выходит ошибка о том, что ПК не видит сертификат подписи на носителе или о том, что при создании подписи была допущена ошибка. Причина может быть в неустановленном или переставшем работать драйвере, в неисправности токена или в неисправности программной части компьютера.

rabota za kompyuterom

Почему не виден сертификат ЭЦП на носителе

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

Причина 1: драйвер не установлен или устройство отображается в диспетчере устройств с восклицательным знаком

Если на носителе Рутокен ЭЦП не найдено ни одного сертификата, а в диспетчере устройств носитель отображается с восклицательным знаком, то проблема кроется в драйвере.

Для исправления ситуации нужно извлечь носитель ЭЦП из компьютера и скачать последнюю версию драйвера. Скачивание нужно производить только с официальных ресурсов:

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

Причина 2: долгое опознание носителя на Windows 7

При работе в ОС Windows 7 драйверы могут долго назначаться. Решение проблемы — дождитесь окончания процесса или обновите версию ОС.

Причина 3: USB-порт работает некорректно

Убедитесь, что проблема в USB-порте, а не в носителе ЭЦП, для этого переключите токен к другому порту. Если носитель определился системой, то перезагрузите ПК. Обычно это помогает справиться с проблемой и запустить работу всех USB-портов. Если перезагрузка не помогла, то желательно обратиться в техническую поддержку для устранения неисправности.

sertifikat jeup ne viden na nositele

Причина 4: носитель неисправен

Если при переключении носителя к другому ПК или USB-порту флешку компьютер не видит, то проблема в носителе. Чтобы устранить неисправность, обратитесь в сервисный центр для выпуска нового токена.

Почему выходит ошибка при создании подписи

Ошибка создания подписи обычно имеет в расшифровке два значения:

Неисправность работы подписи связана с некорректной работой криптопровайдера, неустановленными или необновленными сертификатами.

Решение проблемы зависит от типа ошибки и обычно не требует обращения в техническую поддержку.

Устранение ошибки ненайденного элемента ЭЦП

Переустановите криптопровайдер на неисправном ПК с официального портала КриптоПро (https://www.cryptopro.ru/downloads). После этого очистите кэш и временные файлы в используемом браузере, а также кэш Java. Затем удалите личные сертификаты и сертификаты главного удостоверяющего центра. Используйте КриптоПро и заново установите новые в соответствии с именем контейнера. После установки корневых сертификатов:

Если после проделанной работы ошибка сохраняется, то нужно обратиться в сервисный центр.

Устранение ошибки с построением цепочки сертификатов

Обычно ошибку вызывает отсутствие сертификатов доверенных корневых центров. Чтобы устранить неисправность, нужно открыть список сертификатов и найти проблемный. Он будет иметь отметку о проблеме в проверке отношений:

rundll 1

Затем пользователь скачивает с официальной страницы сертификат Минкомсвязи РФ и сертификат удостоверяющего центра, имеющего проблемы в работе. Устанавливают их в раздел «‎Корневые сертификаты»‎, а пошаговый процесс выглядит так:

В нужном сертификате нажать «‎Установить».

error 02

В мастере импорта сертификатов нажать «‎Далее» и в новом окне поставить галочку напротив «‎Поместить все сертификаты в следующем хранилище». Нажать «‎Обзор».

error 03

В открывшемся списке выбрать «‎Доверенные корневые центры» и нажать последовательно «‎ОК» и «‎Далее».

error 04

Нажать «‎Готово», а затем подтвердить установку.

error 05

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

Ошибки в работе носителя электронной подписи могут быть вызваны как неисправностью самого носителя, так и неисправностями в программном обеспечении. Перезагрузите ПК и переключите токен в другой порт, чтобы убедиться в его исправности. Если проблема вызвана тем, что токен поврежден, то необходимо обратиться в сервисный центр компании, выпустившей USB. При ошибке, возникающей во время подписания документа, нужно убедиться в корректной работе всех сертификатов и криптопровайдера и при необходимости провести их полную переустановку.

Источник

rutoken ecp touch fsb

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

Содержание статьи

  • 1 Ошибка: Сертификат ненадежен/Не удалось проверить статус отзыва
  • 2 Ошибка: Rutoken перестает определяться (Windows 10)
  • 3 Ошибка: Панель управления не видит Рутокен ЭЦП 2.0

Ошибка: Сертификат ненадежен/Не удалось проверить статус отзыва

Ошибку можно заметить на вкладке «Сертификаты» непосредственно в панели управления Рутокен. Проблема возникает во время установки ЭЦП и связана с неполной настройкой. Речь про отсутствие специального корневого доверенного сертификата, который выдает удостоверяющий центр.

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

  • выберите ваш сертификат в панели управления;
  • нажмите кнопку «Свойства»;
  • выберите вкладку «Путь сертификации».

Если в открывшемся дереве вы видите лишь ваш личный сертификат, то надо установить еще один, который был выдан в удостоверяющем центре, и сделать доверенным.

Ошибка: Rutoken перестает определяться (Windows 10)

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

В случае если ошибка не исчезла, обратитесь за консультацией в удостоверяющий центр, где вы оформили ЭЦП и приобрели Рутокен.

Ошибка: Панель управления не видит Рутокен ЭЦП 2.0

Для решения проблемы выполните следующие действия:

  • подключите токен к другому USB-разъему или компьютеру для оценки работоспособности;
  • определите наличие устройства через «Диспетчер устройств» в разделе «Контроллеры USB»;
  • проконтролируйте наличие доступа к веткам реестра
    • HKEY_LOCAL_MACHINESOFTWAREMicrosoftCryptographyCalais и
    • HKEY_LOCAL_MACHINESOFTWAREMicrosoftCryptographyCalaisReaders у текущего пользователя и Local Service (если необходимо, то добавьте), также убедитесь, что Служба «Смарт-карта» запущена от имени NT AUTHORITYLocalService («Пуск» — «Панель управления» — «Администрирование» — «Службы»).;
  • проверьте количество считывателей в настройках панели управления (должно быть значение 1);
  • переустановите комплект драйверов для исключения сбоя программного обеспечения.

Прочитали: 578

Возможные проблемы в работе носителя ЭП и их решение

Возможные проблемы в работе носителя ЭП и их решение

  • При подключении носителя к компьютеру не загорается индикатор
  • Носитель не определяется операционной системой
  • Что делать, если забыли пароль на ЭП
  • При отправке/получении документов появляется ошибка «Нет доступа к смарт-карте, введен неправильный пин-код»
  • При попытке воспользоваться ключом появляется ошибка «Вставьте ключевой носитель…Вставлен другой носитель»
  • Пришло письмо с просьбой очистить токен или появилось сообщение «На ключевом носителе заканчивается свободное место»
  • Что делать, если носитель сломался или потерялся

Рутокен и Рутокен ЭЦП 2.0

  • Рутокен не определяется системой MacOS
  • Не устанавливаются драйверы Рутокен
  • КриптоПро не видит ключи на Рутокен
  • КриптоПро видит не более 15 ключей на Рутокене
  • В приложении «Панель управления Рутокен» появляется ошибка «Указанное устройство чтения недоступно»
  • При использовании Рутокен появляется ошибка «Попытка ссылки на несуществующий маркер»
  • В приложении «Панель управления Рутокен» отображается ошибка «Нет доступа к системной службе «Смарт-карты»
  • На сайте ЕГАИС появляется ошибка «Не обнаружен аппаратный ключ»
  • При регистрации документа в ЕГАИС появляется сообщение «Общая ошибка криптографии. Переустановите драйвера на смарткарту и повторите отправку»
  • При входе в личный кабинет egais.ru возникает ошибка: «Key not found Подробности: undefined Апплет: false» или «Не найдено ни одного сертификата на аппаратном ключе»
  • При попытке удалить RSA-ключ возникает ошибка «Недоступно Код ошибки: 0x6»
  • При генерации RSA-ключа появляется ошибка «Неверные границы массива 0x800706c6»
  • В настройках Рутокен ЭЦП 2.0 в поле «Microsoft Base…» отображается статус «Активировать»
  • В настройках Рутокен ЭЦП 2.0 в поле «Microsoft Base…» отображается статус «Не поддерживается»

Не нашли ответа на свой вопрос — обратитесь к базе знаний производителя.

JaCarta-2 SE

  1. При установке единого клиента JaCarta появляется ошибка «There is a problem with this windows installer package»
  2. При подключении JaCarta-2 SE появляется ошибка «Не удалось найти драйвер»
  3. JaCarta не работает в Parallels Dektop на macOS
  4. При попытке разблокировать JaCarta-2 SE появляется сообщение «Ошибка авторизации. Pin-код пользователя еще не был проинициализирован»
  5. При открытии вкладки PKI на JaCarta SE ошибка «При чтении списка объектов произошла ошибка. Сессия с устройством (картой) не открыта. Выполнение операции невозможно Read objects 0x00000000»

  6. При запуске Единого клиента или при попытке открыть раздел «ГОСТ/PKI» появляется ошибка «Невозможно запустить приложение. Невозможно проинициализировать cryptoki библиотеку ‘jcPKCS11-2.dll».

Не нашли ответа на свой вопрос — обратитесь к базе знаний производителя.

Носители ЭП

Нашли неточность? Выделите текст с ошибкой и нажмите ctrl + enter.

Содержание

  1. Первичная диагностика неисправности Рутокен
  2. Первый этап диагностики — Визуальный осмотр Рутокена
  3. 1. Повреждение/разлом корпуса или USB-разъема Рутокена
  4. 2. На корпусе Рутокена видны следы попыток вскрыть носитель
  5. 3. Рутокен со следами оплавления и/или почернения корпуса изнутри носителя, отпаявшаяся микросхема или вспученная поверхность микросхемы
  6. Второй этап диагностики — Возможные ошибки при работе с Панелью управления Рутокен
  7. 1. Рутокен не определяется в «Панели управления Рутокен»
  8. 2. Рутокен определяется панелью управления, кнопка «Ввести PIN-код…» активна, но авторизация с PIN-кодом пользователя/администратора выполняется с ошибкой. Дальнейшие действия зависят от формулировки возникающей ошибки:
  9. 2.1 Ошибка “Не удалось получить всю информацию о токене Код ошибки: 0x6a82 Описание ошибки: Файл/ RSF не найден”
  10. 2.2 Ошибка “Не удалось получить всю информацию о токене код ошибки: 0х6400 Описание ошибки: Состояние памяти Rutoken не изменилось”
  11. 2.3 Ошибка “Не удалось получить всю информацию о токене Код ошибки 0xF003 Описание ошибки Неверное значение”
  12. 2.4 Ошибка «Обнаружено повреждение системной области памяти (ошибка CRC)» код ошибки 0x6F20
  13. 2.5 Референсные данные не найдены
  14. 2.6 «PIN-код заблокирован»
  15. Третий этап диагностики — Диагностика ключевой информации, содержащейся на Рутокене
  16. 1. Проверка целостности контейнера с сертификатом “КриптоПро CSP” или “VipNet CSP”
  17. 2. Проверка целостности сертификата с неизвлекаемыми ключами
  18. Ошибки Рутокен
  19. Ошибка: Сертификат ненадежен/Не удалось проверить статус отзыва
  20. Ошибка: Rutoken перестает определяться (Windows 10)
  21. Ошибка: Панель управления не видит Рутокен ЭЦП 2.0
  22. не работает Рутокен
  23. Сообщений 13
  24. #1 Тема от amdati 2010-02-01 11:54:23
  25. не работает Рутокен
  26. #2 Ответ от Алексей Несененко 2010-02-01 15:06:57
  27. Re: не работает Рутокен
  28. #3 Ответ от amdati 2010-02-01 16:01:47
  29. Re: не работает Рутокен
  30. #4 Ответ от Алексей Несененко 2010-02-01 16:29:03
  31. Re: не работает Рутокен
  32. #5 Ответ от amdati 2010-02-01 16:34:21
  33. Re: не работает Рутокен
  34. #6 Ответ от Алексей Несененко 2010-02-01 16:46:52
  35. Re: не работает Рутокен
  36. #7 Ответ от amdati 2010-02-01 16:55:17
  37. Re: не работает Рутокен
  38. #8 Ответ от Алексей Несененко 2010-02-01 17:01:32
  39. Re: не работает Рутокен
  40. #9 Ответ от amdati 2010-02-01 17:18:14
  41. Re: не работает Рутокен
  42. #10 Ответ от Алексей Несененко 2010-02-01 17:25:34
  43. Re: не работает Рутокен
  44. #11 Ответ от amdati 2010-02-01 17:29:24
  45. Re: не работает Рутокен

Первичная диагностика неисправности Рутокен

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

Отправка токена на экспертизу производится через ту компанию, с которой у компании «Актив» имеются договорные отношения.

Таким образом, если вы приобретали Рутокен у одного из наших партнеров, вам нужно передать Рутокен партнеру. Если договор между вашей организацией и компанией «Актив» напрямую не заключался, и вы направите Рутокен нам, мы не сможем принять его на экспертизу.

Узнать срок гарантии на устройство Рутокен можно в той компании, в которой он приобретался.

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

Самые частые ошибки мы собрали в этой статье.

Первичная диагностика состоит из 3 этапов:

  1. Визуальный осмотр Рутокена. На данном этапе определяется, попадает ли Рутокен под гарантию по сроку его использования, а также выявляются механические повреждения Рутокена.
  2. Возможные ошибки в «Панели управления Рутокен» На данном этапе определяются неисправности, которые могут быть выявлены только путем подключения Рутокена к компьютеру.
  3. Диагностика ключевой информации, содержащейся на Рутокене. На данном этапе проверяется целостность ключевой информации, которая содержится на носителе Рутокен с помощью вспомогательных инструментов, таких как: “Панель управления Рутокен”, “КриптоПро CSP” или «ViPNet CSP».

Первый этап диагностики — Визуальный осмотр Рутокена

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

Можно выделить следующие виды механических повреждений:

1. Повреждение/разлом корпуса или USB-разъема Рутокена

2. На корпусе Рутокена видны следы попыток вскрыть носитель

3. Рутокен со следами оплавления и/или почернения корпуса изнутри носителя, отпаявшаяся микросхема или вспученная поверхность микросхемы

Рутокен со следами оплавления и/или почернения можно направить на дополнительную экспертизу. Если в ходе экспертизы будет выявлено умышленное повреждение или превышение допустимого напряжения, подаваемого в USB-порт, гарантийная замена Рутокена на новый произведена не будет.

Второй этап диагностики — Возможные ошибки при работе с Панелью управления Рутокен

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

Подключите Рутокен к компьютеру и запустите «Панель управления Рутокен».

Запуск панели управления Рутокен выполняется через меню Пуск / Панель управления / Панель управления Рутокен.

Если Рутокен определяется в «Панели управления Рутокен», активна кнопка «Ввести PIN-код…»

Нажмите на кнопку «Информация» на вкладке «Администрирование». Ошибок возникать не должно.

Попробуйте авторизоваться с PIN-кодом пользователя и/или администратора.

Если при нажатии на кнопку «Информация» ошибок не возникает, а авторизация выполняется успешно, следует перейти к третьему этапу диагностики носителя Рутокен

(Рутокен работает корректно, необходимо проверить целостность ключевой информации на Рутокене).

После подключения Рутокена к компьютеру возможны следующие ошибки в Панели управления Рутокен:

1. Рутокен не определяется в «Панели управления Рутокен»

Рутокен не определяется в «Панели управления Рутокен» (список «Подключенные Рутокен» пустой) и, как следствие, неактивны кнопки «Ввести PIN-код…» и «Информация…». В данном случае необходимо воспользоваться инструкцией.

2. Рутокен определяется панелью управления, кнопка «Ввести PIN-код…» активна, но авторизация с PIN-кодом пользователя/администратора выполняется с ошибкой. Дальнейшие действия зависят от формулировки возникающей ошибки:

2.1 Ошибка “Не удалось получить всю информацию о токене Код ошибки: 0x6a82 Описание ошибки: Файл/ RSF не найден”

Подключите Рутокен к другому USB порту. Повторите попытку ввода PIN-кода. По возможности, установите Драйверы Рутокен на другой компьютер, подключите токен и попробуйте ввести PIN-код.

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

2.2 Ошибка “Не удалось получить всю информацию о токене код ошибки: 0х6400 Описание ошибки: Состояние памяти Rutoken не изменилось”

Подключите Рутокен к другому USB порту. Повторите попытку ввести PIN-код. По возможности, установите Драйверы Рутокен на другой компьютер, подключите токен и попробуйте ввести PIN-код.

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

2.3 Ошибка “Не удалось получить всю информацию о токене Код ошибки 0xF003 Описание ошибки Неверное значение”

Подключите Рутокен к другому USB порту. Повторите попытку ввести PIN-код. По возможности, установите Драйверы Рутокен на другой компьютер, подключите токен и попробуйте ввести PIN-код.

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

2.4 Ошибка «Обнаружено повреждение системной области памяти (ошибка CRC)» код ошибки 0x6F20

Ошибка означает, что память на носителя Рутокен была повреждена. Форматирование Рутокена не поможет. Рутокен необходимо передать в ту компанию, в которой приобретался данный носитель для отправки на экспертизу в компанию Актив.

2.5 Референсные данные не найдены

Подключите Рутокен к другому USB порту. Повторите попытку ввести PIN-код. По возможности, установите Драйверы Рутокен на другой компьютер, подключите токен и попробуйте ввести PIN-код.

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

Более подробная информация об ошибке есть в статье нашей Базы Знаний.

2.6 «PIN-код заблокирован»

Ошибка «PIN-код заблокирован» означает, что Рутокен был заблокирован в результате превышения количества попыток ввода PIN-кода.

Если заблокирован PIN-код пользователя, воспользуйтесь инструкцией.

Если заблокирован PIN-код Администратора, воспользуйтесь инструкцией.

Третий этап диагностики — Диагностика ключевой информации, содержащейся на Рутокене

На третьем этапе проверяется целостность ключевой информации, которая содержится на Рутокене.

Определите модель Рутокена по инструкции.

Если используется носитель из семейства Рутокен ЭЦП, проверьте формат ключей по инструкции.

1. Проверка целостности контейнера с сертификатом “КриптоПро CSP” или “VipNet CSP”

Выполнить такую проверку можно через программу криптопровайдера, с помощью которой была сгенерирована электронная подпись пользователя, например программа «КриптоПро CSP» или «VipNet CSP»

Тестирование целостности контейнера через «КриптоПро CSP» необходимо проводить по инструкции.

Тестирование целостности контейнера через «VipNet CSP» необходимо проводить по инструкции.

Если операция по проверке ключевого контейнера выполняется без ошибок, значит ключевая информация на носителе Рутокен не повреждена.

2. Проверка целостности сертификата с неизвлекаемыми ключами

Тестирование носителей Рутокен ЭЦП 2.0 с записанными на него неизвлекаемыми ключами ЭП (PKCS#11) пользователями самостоятельно не производится. Удаленная диагностика выполняется сотрудниками технической поддержки компании Актив.

Если у вас возникли вопросы — обращайтесь в службу технической поддержки компании “Актив”.

Источник

Ошибки Рутокен

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

Ошибка: Сертификат ненадежен/Не удалось проверить статус отзыва

Ошибку можно заметить на вкладке «Сертификаты» непосредственно в панели управления Рутокен. Проблема возникает во время установки ЭЦП и связана с неполной настройкой. Речь про отсутствие специального корневого доверенного сертификата, который выдает удостоверяющий центр.

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

  • выберите ваш сертификат в панели управления;
  • нажмите кнопку «Свойства»;
  • выберите вкладку «Путь сертификации».

Если в открывшемся дереве вы видите лишь ваш личный сертификат, то надо установить еще один, который был выдан в удостоверяющем центре, и сделать доверенным.

Ошибка: Rutoken перестает определяться (Windows 10)

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

В случае если ошибка не исчезла, обратитесь за консультацией в удостоверяющий центр, где вы оформили ЭЦП и приобрели Рутокен.

Ошибка: Панель управления не видит Рутокен ЭЦП 2.0

Для решения проблемы выполните следующие действия:

  • подключите токен к другому USB-разъему или компьютеру для оценки работоспособности;
  • определите наличие устройства через «Диспетчер устройств» в разделе «Контроллеры USB»;
  • проконтролируйте наличие доступа к веткам реестра
    • HKEY_LOCAL_MACHINESOFTWAREMicrosoftCryptographyCalais и
    • HKEY_LOCAL_MACHINESOFTWAREMicrosoftCryptographyCalaisReaders у текущего пользователя и Local Service (если необходимо, то добавьте), также убедитесь, что Служба «Смарт-карта» запущена от имени NT AUTHORITYLocalService («Пуск» — «Панель управления» — «Администрирование» — «Службы»).;
  • проверьте количество считывателей в настройках панели управления (должно быть значение 1);
  • переустановите комплект драйверов для исключения сбоя программного обеспечения.

Если ничего не помогло и ошибка осталась, обращайтесь в удостоверяющий центр «Астрал». Мы предлагаем услуги по генерации ЭЦП любых типов на выгодных условиях, а также комплексное техническое сопровождение. Для решения проблем мы готовы проконсультировать по телефону либо найти выход с помощью удаленного подключения к вашему компьютеру. Получить дополнительную информацию можно по телефону либо оставив заявку на сайте. Мы оперативно ответим и предоставим консультацию.

Источник

не работает Рутокен

Сообщений 13

#1 Тема от amdati 2010-02-01 11:54:23

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

не работает Рутокен

Здравствуйте. После полугода работы перестал работать Рутокен. Симптомы: при подключении Рутокена он как положено загарается красным светом и определяется системой (в диспетчере задач он есть и драйвера стоят самые последние). но Крипто про его не видит. Утилита администрирования Рутокена вроде бы как видит его, но тем не менее авторизоваться ни под Пользователем (12345678), ни под Администратором (87654321) не получается — пишет Неудачная аутентификация хотя никто паролей не менял. Пробовали ставить на 4 компьютерах. В том числе на одном локальном (не подключенном к сети) с полными правами. То есть мы не можем даже скопировать ключи на дискету, чтобы перестать зависеть от Рутокена. В чем может быть дело?

#2 Ответ от Алексей Несененко 2010-02-01 15:06:57

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

Re: не работает Рутокен

Крпито-Про не видит токена или контейнера на нем?

#3 Ответ от amdati 2010-02-01 16:01:47

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

Re: не работает Рутокен

крипто про не видит токена. тыкается на флоппик (в котором естесственно ничего нет). и в списке где должен быть токен — пусто.

#4 Ответ от Алексей Несененко 2010-02-01 16:29:03

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

Re: не работает Рутокен

Получается 2 проблемы:
1. КрпитоПро не видит Рутокен
2. Поменяные PIN на токене

1 — лечится переустановкой(настройкой) КриптоПро
2 — или находится человек который поменял и выясняется какие теперь коды у токена, или же информацию можно считать потеряной — придется токен форматировать.

#5 Ответ от amdati 2010-02-01 16:34:21

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

Re: не работает Рутокен

крипто про поставили последней версии. тот в котором в комплекте идут еще и драйвера для рутокена. не думаю что дело в нем. брали у других ключи на дискете. он их прекрасно видит.

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

получатеся все же надо обращаться в сервисный центр чтобы заменили? или же предоставили дискету? (у нас контур)

#6 Ответ от Алексей Несененко 2010-02-01 16:46:52

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

Re: не работает Рутокен

Если Вы установили КртиптоПро 3.6, то попробуйте переустановить только драйвера.
Скачайте последнюю версию с нашего сайта http://www.rutoken.ru

Если Вы в КриптоПро в закладке «сервис» нажимаете «просмотреть сертификаты в контейнере», а потом «обзор» индикатор на токене моргает?

#7 Ответ от amdati 2010-02-01 16:55:17

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

Re: не работает Рутокен

были испробованы все драйвера и их сочетания. те что последние на вашем сайте так же. и с Крипто про 3.6 что с драйверами и тот что без (который на диске контура был).

Нет, индикатор не моргает. Как горел так и горит постоянным светом

#8 Ответ от Алексей Несененко 2010-02-01 17:01:32

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

Re: не работает Рутокен

У вас только один токен?

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

Если Вам не известен пинкод, то даже при исправном токене придется обращаться в «Контур» за новым сертификатом.

#9 Ответ от amdati 2010-02-01 17:18:14

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

Re: не работает Рутокен

хорошо. благодарю за внимание и разъяснения.
просто уверен на 99.9 % что пинкод не менялся.

и еще. быть может это вам поможет как то: началось все с того что после полу года работы в Контуре, а точнее сразу после новогодних праздников, появилась проблема что Эксплорер вообще не заходил ни на один Контуровский сайт (ни на контур-экстерн.ру, ни на https. ), то есть не выдавал никаких ошибок — просто не заходил. мы решили с нуля на этом компе переставить все ПО для контура. на сайты он стал заходить но появилась вышеописанная проблема.

когда мы пытались переустановить ПО на другие компы (так же перепробовав и последние дрова и последний Крипто) то столкнулись с тем что ТОкен не виделся совсем. То есть на долю секунды загоралась лампочка и пропадала. Иногда появлялось служебное сообщение о том что Утройство работает не верно. иногда все же добивались того что он появлялся в диспетчере устройств, но тем не менее он не загорался. поставив все заново на первоначальный комп, у нас удалось добиться чтобы он хотя бы горел

#10 Ответ от Алексей Несененко 2010-02-01 17:25:34

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

Re: не работает Рутокен

Если индикатор на токене моргает а потом не загорается, надо проверить как он отображается в диспетчере устройств.
Если он там видится с вопросительным знаком, значит драйвера автоматически не подхватились и надо их переустановить.
Но надо переустанавливать не с автоматическим поиском, а из указанного места, указав путь к драйверам — c:WINDOWSsystem32Aktiv CortUSB

#11 Ответ от amdati 2010-02-01 17:29:24

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

Re: не работает Рутокен

это так же было проделано. на других компах чаще всего он сидел как Неопознанное устройство (без вопросительного знака) в разделе «Контроллеры шины УСБ». получалось иногда что появлялся как Рутокен (система говорила что утройство установленно верно). но он не загорался

Источник

Почему в криптопро не видно контейнера ключей. Что делать если компьютер не видит эцп. Сколько стоит ЭЦП

Добрый день!. Последние два дня у меня была интересная задача по поиску решения на вот такую ситуацию, есть физический или виртуальный сервер, на нем установлена наверняка многим известная КриптоПРО. На сервер подключен , который используется для подписи документов для ВТБ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. Ключ в системе видится , а вот в КриптоПРО нет.

Установка драйвера для Windows Vista Windows Seven

Нажмите на кнопку «Обзор», укажите каталог C:WindowsSystem32Aktiv Co и нажмите на кнопку «Далее».

Указанный каталог может быть скрытым. В таком случае выберите меню «Сервис» → «Параметры папок» → «Вид», выберите «Показывать скрытые файлы, папки и диски» и повторите выбор каталога.

Flash-накопитель

Если в качестве ключевого носителя используется flash-накопитель, необходимо выполнить следующие шаги:

1. Убедиться, что в что в корне носителя находится папка, содержащая файлы: header, masks, masks2, name, primary, primary2. Файлы должны иметь расширение.key, а формат названия папки должен быть следующим: xxxxxx.000.

Если каких-либо файлов не хватает или их формат неверен, то, возможно, контейнер закрытого ключа был поврежден или удален. Также необходимо проверить, не содержится ли данная папка с шестью файлами на других носителях.

2. Убедиться, что в КриптоПро CSP настроен считыватель «Дисковод X» (для КриптоПро CSP 3.6 — «Все съемные диски»), где X — буква диска. Для этого:

  • Выбрать меню «Пуск» > «Панель управления» > «КриптоПро CSP»;
  • Перейти на вкладку «Оборудование» и нажать на кнопку «Настроить считыватели».

Если считыватель отсутствует, его необходимо добавить (см. Как настроить считыватели в КриптоПро CSP?).

3. В окне «Выбор ключевого контейнера» установить переключатель «Уникальные имена».

4. Удалить запомненные пароли. Для этого:

  • Выбрать меню «Пуск» > «Панель управления» > «КриптоПро CSP»;
  • Перейти на вкладку «Сервис» и нажать на кнопку «Удалить запомненные пароли»;
  • Отметить пункт «Пользователя» и нажать на кнопку «ОК».

5. Сделать копию ключевого контейнера и использовать ее для работы (см. Как скопировать контейнер с сертификатом на другой носитель?).

6. Если на рабочем месте установлено КриптоПро CSP версии 2.0 или 3.0, а в списке ключевых носителей присутствует Дисковод А (B), то его необходимо удалить. Для этого:

  • Выбрать меню «Пуск» > «Панель управления» > «КриптоПро CSP»;
  • Перейти на вкладку «Оборудование» и нажать на кнопку «Настроить считыватели;»
  • Выбрать считыватель «Дисковод А» или «Дисковод B» и нажать на кнопку «Удалить».

После удаления данного считывателя работа с дискетой будет невозможна.

Если в качестве ключевого носителя используется смарт-карта Rutoken, необходимо выполнить следующие шаги:

1. Убедиться, что на рутокене горит лампочка. Если лампочка не горит, то следует воспользоваться следующими рекомендациями.

2. Убедиться, что в КриптоПро CSP настроен считыватель «Rutoken»(для КриптоПро CSP 3.6 — «Все считыватели смарт-карт»). Для этого:

  • Выбрать меню «Пуск» > «Панель управления» > «КриптоПро CSP»;
  • Перейти на вкладку «Оборудование» и нажать на кнопку «Настроить считыватели».

Если считыватель отсутствует, его необходимо добавить (см. Как настроить считыватели в КриптоПро CSP ?).

3. В окне «Выбор ключевого контейнера» установить переключатель «Уникальные имена».

4. Удалить запомненные пароли. Для этого:

  • Выбрать меню «Пуск» > «Панель управления» > «КриптоПро CSP»;
  • Перейти на вкладку «Сервис» и нажать на кнопку «Удалить запомненные пароли»;
  • Отметить пункт «Пользователя» и нажать на кнопку «ОК».

5. Обновить модули поддержки, необходимые для работы Rutoken. Для этого:

  • Отключить смарт-карту от компьютера;
  • Выбрать меню «Пуск» > «Панель управления» > «Установка и удаление программ» (для Windows Vista Seven «Пуск» > «Панель управления» > «Программы и компоненты»);
  • Выбрать из открывшегося списка «Rutoken Support Modules» и нажать на кнопку «Удалить».

После удаления модулей необходимо перезагрузить компьютер.

  • Загрузить и установить последнюю версию модулей поддержки. Дистрибутив доступен для загрузки на сайте компании Актив .

После установки модулей необходимо перезагрузить компьютер.

6. Следует увеличить количество отображаемых в КриптоПро CSP контейнеров на Rutoken, воспользовавшисьследующей инструкцией.

7. Обновить драйвер Rutoken (см. Как обновить драйвер Rutoken ?).

8. Следует убедиться, что на Rutoken содержатся ключевые контейнеры. Для этого необходимо проверить количество свободной памяти на носителе, выполнив следующие шаги:

  • Открыть «Пуск» («Настройки») > «Панель управления» > «Панель управления Рутокен» (если данный пункт отсутствует, то следует обновить драйвер Rutoken).
  • В открывшемся окне «Панели управления Рутокен» в пункте «Считыватели» следует выбрать «Activ Co. ruToken 0 (1,2)» и нажать на кнопку «Информация».

Если рутокен не виден в пункте «Считыватели» или при нажатии на кнопку «Информация» появляется сообщение «Состояние памяти ruToken не изменилось», значит, носитель был поврежден, необходимо обратиться в сервисный центр для незапланированной замены ключа.

  • Проверить, какое значение указано в строке «Свободная память (байт)».

В качестве ключевого носителя в сервисных центрах выдаются рутокены объемом памяти около 30000 байт. Один контейнер занимает объем порядка 4 Кб. Объем свободной памяти рутокена, содержащего один контейнер, составляет порядка 26 000 байт, двух контейнеров — 22 000 байт и т д.

Если объем свободной памяти рутокена составляет более 29-30 000 байт, то ключевые контейнеры на нем отсутствуют. Следовательно, сертификат содержится на другом носителе.

Как должно работать

Почему не видит ЭЦП компьютер? Вроде и ключ в виде флешки есть (тот же RuToken), и утилита «Крипто-Про» установлена, а проверка ЭП не выполняется. Основная причина — ПК изначально не видит флешку ЭЦП. Это возникает обычно, потому что ключ пытаются запустить на устройстве с неподдерживаемой ОС. Ведь каждый ключик-флешка делается под свою среду, и банальное обновление ОС может привести к потере совместимости с имеющимся ключом ЭЦП (флешкой).

Когда установка криптопровайдера выполнена на поддерживаемом аппарате, по инструкции, но всё равно компьютер не видит ЭЦП, проблема может быть и в самом ключе. Чтобы разобраться, свяжитесь с поддержкой. Там у вас запросят скриншоты:

  • версии/сборки CSP (вкладка «Общие»);
  • ошибок при подключении контейнера ЭЦП.

Кроме того, укажите специалистам, где получали ЭЦП, на каком носителе у вас установлен контейнер (рутокен, етокен, флешка или реестр) и какая используется ОС (разрядность, сборка).

Как должно работать

Почему не видит ЭЦП компьютер? Вроде и ключ в виде флешки есть (тот же RuToken), и утилита «Крипто-Про» установлена, а проверка ЭП не выполняется. Основная причина — ПК изначально не видит флешку ЭЦП. Это возникает обычно, потому что ключ пытаются запустить на устройстве с неподдерживаемой ОС. Ведь каждый ключик-флешка делается под свою среду, и банальное обновление ОС может привести к потере совместимости с имеющимся ключом ЭЦП (флешкой).

Когда установка криптопровайдера выполнена на поддерживаемом аппарате, по инструкции, но всё равно компьютер не видит ЭЦП, проблема может быть и в самом ключе. Чтобы разобраться, свяжитесь с поддержкой. Там у вас запросят скриншоты:

  • версии/сборки CSP (вкладка «Общие»);
  • ошибок при подключении контейнера ЭЦП.

Кроме того, укажите специалистам, где получали ЭЦП, на каком носителе у вас установлен контейнер (рутокен, етокен, флешка или реестр) и какая используется ОС (разрядность, сборка).

Дискета

Если в качестве ключевого контейнера используется дискета, выполните следующее:

  1. Убедитесь, что в корне дискеты находится папка, содержащая файлы: header, masks, masks2, name, primary, primary2. Файлы должны иметь расширение.key, а формат названия папки должен быть следующим: xxxxxx.000.
    Если каких-либо файлов не хватает или их формат неверен, то, возможно, контейнер закрытого ключа был поврежден или удален. Провериьте, не содержится ли данная папка с шестью файлами на других носителях.
  2. Убедитесь, что в КриптоПро CSP настроен считыватель «Дисковод X» (для КриптоПро CSP 3.6 — «Все съемные диски»), где X – буква диска. Для этого:
    1. Выберите меню «Пуск» → «Панель управления» → «КриптоПро CSP».
    2. Выберите вкладку «Оборудование» и нажмите на кнопку «Настроить считыватели».

    Если считыватель отсутствует, добавьте его (см. Как настроить считыватели в КриптоПро CSP).

    1. Выберите меню «Пуск» → «Панель управления» → «КриптоПро CSP».
    2. Выберите вкладку «Сервис» и нажмите на кнопку «Удалить запомненные пароли».
    3. Выберите пункт «Пользователя» и нажмите на кнопку «ОК».

    Windows не видит флешку с эцп

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

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

    Если при попытке заверить ведомость пользователь увидит сообщение о недействительности сертификата, значит подписать основной комплект тоже не удастся. Эта ошибка распространяется на все типы файлов, а не на какой-то конкретный документ.

    Причина сбоя — нарушение доверенной цепочки, о которой было сказано ранее. В первую очередь следует проверить наличие и корректность КС и ПС. Если они установлены, удалите эти файлы и загрузите снова.

Содержание

  1. 0x54f внутренняя ошибка рутокен
  2. Стандартные коды ошибок
  3. Первичная диагностика неисправности Рутокен
  4. Первый этап диагностики — Визуальный осмотр Рутокена
  5. 1. Повреждение/разлом корпуса или USB-разъема Рутокена
  6. 2. На корпусе Рутокена видны следы попыток вскрыть носитель
  7. 3. Рутокен со следами оплавления и/или почернения корпуса изнутри носителя, отпаявшаяся микросхема или вспученная поверхность микросхемы
  8. Второй этап диагностики — Возможные ошибки при работе с Панелью управления Рутокен
  9. 1. Рутокен не определяется в «Панели управления Рутокен»
  10. 2. Рутокен определяется панелью управления, кнопка «Ввести PIN-код…» активна, но авторизация с PIN-кодом пользователя/администратора выполняется с ошибкой. Дальнейшие действия зависят от формулировки возникающей ошибки:
  11. 2.1 Ошибка “Не удалось получить всю информацию о токене Код ошибки: 0x6a82 Описание ошибки: Файл/ RSF не найден”
  12. 2.2 Ошибка “Не удалось получить всю информацию о токене код ошибки: 0х6400 Описание ошибки: Состояние памяти Rutoken не изменилось”
  13. 2.3 Ошибка “Не удалось получить всю информацию о токене Код ошибки 0xF003 Описание ошибки Неверное значение”
  14. 2.4 Ошибка «Обнаружено повреждение системной области памяти (ошибка CRC)» код ошибки 0x6F20
  15. 2.5 Референсные данные не найдены
  16. 2.6 «PIN-код заблокирован»
  17. Третий этап диагностики — Диагностика ключевой информации, содержащейся на Рутокене
  18. 1. Проверка целостности контейнера с сертификатом “КриптоПро CSP” или “VipNet CSP”
  19. 2. Проверка целостности сертификата с неизвлекаемыми ключами
  20. 0x54f внутренняя ошибка рутокен
  21. Стандартные коды ошибок
  22. Ошибки Рутокен
  23. Ошибка: Сертификат ненадежен/Не удалось проверить статус отзыва
  24. Ошибка: Rutoken перестает определяться (Windows 10)
  25. Ошибка: Панель управления не видит Рутокен ЭЦП 2.0

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

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

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

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

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

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

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

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

Источник

Первичная диагностика неисправности Рутокен

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

Отправка токена на экспертизу производится через ту компанию, с которой у компании «Актив» имеются договорные отношения.

Таким образом, если вы приобретали Рутокен у одного из наших партнеров, вам нужно передать Рутокен партнеру. Если договор между вашей организацией и компанией «Актив» напрямую не заключался, и вы направите Рутокен нам, мы не сможем принять его на экспертизу.

Узнать срок гарантии на устройство Рутокен можно в той компании, в которой он приобретался.

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

Самые частые ошибки мы собрали в этой статье.

Первичная диагностика состоит из 3 этапов:

  1. Визуальный осмотр Рутокена. На данном этапе определяется, попадает ли Рутокен под гарантию по сроку его использования, а также выявляются механические повреждения Рутокена.
  2. Возможные ошибки в «Панели управления Рутокен» На данном этапе определяются неисправности, которые могут быть выявлены только путем подключения Рутокена к компьютеру.
  3. Диагностика ключевой информации, содержащейся на Рутокене. На данном этапе проверяется целостность ключевой информации, которая содержится на носителе Рутокен с помощью вспомогательных инструментов, таких как: “Панель управления Рутокен”, “КриптоПро CSP” или «ViPNet CSP».

Первый этап диагностики — Визуальный осмотр Рутокена

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

Можно выделить следующие виды механических повреждений:

1. Повреждение/разлом корпуса или USB-разъема Рутокена

2. На корпусе Рутокена видны следы попыток вскрыть носитель

3. Рутокен со следами оплавления и/или почернения корпуса изнутри носителя, отпаявшаяся микросхема или вспученная поверхность микросхемы

Рутокен со следами оплавления и/или почернения можно направить на дополнительную экспертизу. Если в ходе экспертизы будет выявлено умышленное повреждение или превышение допустимого напряжения, подаваемого в USB-порт, гарантийная замена Рутокена на новый произведена не будет.

Второй этап диагностики — Возможные ошибки при работе с Панелью управления Рутокен

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

Подключите Рутокен к компьютеру и запустите «Панель управления Рутокен».

Запуск панели управления Рутокен выполняется через меню Пуск / Панель управления / Панель управления Рутокен.

Если Рутокен определяется в «Панели управления Рутокен», активна кнопка «Ввести PIN-код…»

Нажмите на кнопку «Информация» на вкладке «Администрирование». Ошибок возникать не должно.

Попробуйте авторизоваться с PIN-кодом пользователя и/или администратора.

Если при нажатии на кнопку «Информация» ошибок не возникает, а авторизация выполняется успешно, следует перейти к третьему этапу диагностики носителя Рутокен

(Рутокен работает корректно, необходимо проверить целостность ключевой информации на Рутокене).

После подключения Рутокена к компьютеру возможны следующие ошибки в Панели управления Рутокен:

1. Рутокен не определяется в «Панели управления Рутокен»

Рутокен не определяется в «Панели управления Рутокен» (список «Подключенные Рутокен» пустой) и, как следствие, неактивны кнопки «Ввести PIN-код…» и «Информация…». В данном случае необходимо воспользоваться инструкцией.

2. Рутокен определяется панелью управления, кнопка «Ввести PIN-код…» активна, но авторизация с PIN-кодом пользователя/администратора выполняется с ошибкой. Дальнейшие действия зависят от формулировки возникающей ошибки:

2.1 Ошибка “Не удалось получить всю информацию о токене Код ошибки: 0x6a82 Описание ошибки: Файл/ RSF не найден”

Подключите Рутокен к другому USB порту. Повторите попытку ввода PIN-кода. По возможности, установите Драйверы Рутокен на другой компьютер, подключите токен и попробуйте ввести PIN-код.

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

2.2 Ошибка “Не удалось получить всю информацию о токене код ошибки: 0х6400 Описание ошибки: Состояние памяти Rutoken не изменилось”

Подключите Рутокен к другому USB порту. Повторите попытку ввести PIN-код. По возможности, установите Драйверы Рутокен на другой компьютер, подключите токен и попробуйте ввести PIN-код.

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

2.3 Ошибка “Не удалось получить всю информацию о токене Код ошибки 0xF003 Описание ошибки Неверное значение”

Подключите Рутокен к другому USB порту. Повторите попытку ввести PIN-код. По возможности, установите Драйверы Рутокен на другой компьютер, подключите токен и попробуйте ввести PIN-код.

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

2.4 Ошибка «Обнаружено повреждение системной области памяти (ошибка CRC)» код ошибки 0x6F20

Ошибка означает, что память на носителя Рутокен была повреждена. Форматирование Рутокена не поможет. Рутокен необходимо передать в ту компанию, в которой приобретался данный носитель для отправки на экспертизу в компанию Актив.

2.5 Референсные данные не найдены

Подключите Рутокен к другому USB порту. Повторите попытку ввести PIN-код. По возможности, установите Драйверы Рутокен на другой компьютер, подключите токен и попробуйте ввести PIN-код.

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

Более подробная информация об ошибке есть в статье нашей Базы Знаний.

2.6 «PIN-код заблокирован»

Ошибка «PIN-код заблокирован» означает, что Рутокен был заблокирован в результате превышения количества попыток ввода PIN-кода.

Если заблокирован PIN-код пользователя, воспользуйтесь инструкцией.

Если заблокирован PIN-код Администратора, воспользуйтесь инструкцией.

Третий этап диагностики — Диагностика ключевой информации, содержащейся на Рутокене

На третьем этапе проверяется целостность ключевой информации, которая содержится на Рутокене.

Определите модель Рутокена по инструкции.

Если используется носитель из семейства Рутокен ЭЦП, проверьте формат ключей по инструкции.

1. Проверка целостности контейнера с сертификатом “КриптоПро CSP” или “VipNet CSP”

Выполнить такую проверку можно через программу криптопровайдера, с помощью которой была сгенерирована электронная подпись пользователя, например программа «КриптоПро CSP» или «VipNet CSP»

Тестирование целостности контейнера через «КриптоПро CSP» необходимо проводить по инструкции.

Тестирование целостности контейнера через «VipNet CSP» необходимо проводить по инструкции.

Если операция по проверке ключевого контейнера выполняется без ошибок, значит ключевая информация на носителе Рутокен не повреждена.

2. Проверка целостности сертификата с неизвлекаемыми ключами

Тестирование носителей Рутокен ЭЦП 2.0 с записанными на него неизвлекаемыми ключами ЭП (PKCS#11) пользователями самостоятельно не производится. Удаленная диагностика выполняется сотрудниками технической поддержки компании Актив.

Если у вас возникли вопросы — обращайтесь в службу технической поддержки компании “Актив”.

Источник

0x54f внутренняя ошибка рутокен

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

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

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

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

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

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

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

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

Источник

Ошибки Рутокен

Из нашей статьи вы узнаете:

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

Ошибка: Сертификат ненадежен/Не удалось проверить статус отзыва

Ошибку можно заметить на вкладке «Сертификаты» непосредственно в панели управления Рутокен. Проблема возникает во время установки ЭЦП и связана с неполной настройкой. Речь про отсутствие специального корневого доверенного сертификата, который выдает удостоверяющий центр.

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

  • выберите ваш сертификат в панели управления;
  • нажмите кнопку «Свойства»;
  • выберите вкладку «Путь сертификации».

Если в открывшемся дереве вы видите лишь ваш личный сертификат, то надо установить еще один, который был выдан в удостоверяющем центре, и сделать доверенным.

Ошибка: Rutoken перестает определяться (Windows 10)

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

В случае если ошибка не исчезла, обратитесь за консультацией в удостоверяющий центр, где вы оформили ЭЦП и приобрели Рутокен.

Ошибка: Панель управления не видит Рутокен ЭЦП 2.0

Для решения проблемы выполните следующие действия:

  • подключите токен к другому USB-разъему или компьютеру для оценки работоспособности;
  • определите наличие устройства через «Диспетчер устройств» в разделе «Контроллеры USB»;
  • проконтролируйте наличие доступа к веткам реестра
    • HKEY_LOCAL_MACHINESOFTWAREMicrosoftCryptographyCalais и
    • HKEY_LOCAL_MACHINESOFTWAREMicrosoftCryptographyCalaisReaders у текущего пользователя и Local Service (если необходимо, то добавьте), также убедитесь, что Служба «Смарт-карта» запущена от имени NT AUTHORITYLocalService («Пуск» — «Панель управления» — «Администрирование» — «Службы»).;
  • проверьте количество считывателей в настройках панели управления (должно быть значение 1);
  • переустановите комплект драйверов для исключения сбоя программного обеспечения.

Если ничего не помогло и ошибка осталась, обращайтесь в удостоверяющий центр «Астрал». Мы предлагаем услуги по генерации ЭЦП любых типов на выгодных условиях, а также комплексное техническое сопровождение. Для решения проблем мы готовы проконсультировать по телефону либо найти выход с помощью удаленного подключения к вашему компьютеру. Получить дополнительную информацию можно по телефону либо оставив заявку на сайте. Мы оперативно ответим и предоставим консультацию.

Источник

Содержание

  1. Ошибки Рутокен
  2. Ошибка: Сертификат ненадежен/Не удалось проверить статус отзыва
  3. Ошибка: Rutoken перестает определяться (Windows 10)
  4. Ошибка: Панель управления не видит Рутокен ЭЦП 2.0
  5. Почему компьютер не видит носитель рутокен
  6. Первичная диагностика неисправности Рутокен
  7. 1. Повреждение/разлом корпуса или USB-разъема Рутокена
  8. 3. Рутокен со следами оплавления и/или почернения корпуса изнутри носителя, отпаявшаяся микросхема или вспученная поверхность микросхемы
  9. 1. Рутокен не определяется в «Панели управления Рутокен»
  10. 2. Рутокен определяется панелью управления, кнопка «Ввести PIN-код…» активна, но авторизация с PIN-кодом пользователя/администратора выполняется с ошибкой. Дальнейшие действия зависят от формулировки возникающей ошибки:
  11. 2.1 Ошибка “Не удалось получить всю информацию о токене Код ошибки: 0x6a82 Описание ошибки: Файл/ RSF не найден”
  12. 2.2 Ошибка “Не удалось получить всю информацию о токене код ошибки: 0х6400 Описание ошибки: Состояние памяти Rutoken не изменилось”
  13. 2.3 Ошибка “Не удалось получить всю информацию о токене Код ошибки 0xF003 Описание ошибки Неверное значение”
  14. 2.4 Ошибка «Обнаружено повреждение системной области памяти (ошибка CRC)» код ошибки 0x6F20
  15. 2.5 Референсные данные не найдены
  16. 2.6 «PIN-код заблокирован»
  17. 1. Проверка целостности контейнера с сертификатом “КриптоПро CSP” или “VipNet CSP”
  18. 2. Проверка целостности сертификата с неизвлекаемыми ключами
  19. Почему компьютер не видит носитель рутокен
  20. Почему компьютер не видит рутокен
  21. Установка драйвера для Windows Vista Windows Seven
  22. Установка драйвера для Windows XP
  23. Подготовка
  24. Установка драйверов и модулей ruToken
  25. Настройка считывателя в КриптоПро
  26. Установка сертификатов
  27. Почему не виден сертификат ЭЦП на носителе
  28. Причина 1: драйвер не установлен или устройство отображается в диспетчере устройств с восклицательным знаком
  29. Причина 2: долгое опознание носителя на Windows 7
  30. Причина 3: USB-порт работает некорректно
  31. Причина 4: носитель неисправен
  32. Почему выходит ошибка при создании подписи
  33. Устранение ошибки ненайденного элемента ЭЦП
  34. Устранение ошибки с построением цепочки сертификатов

Ошибки Рутокен

Из нашей статьи вы узнаете:

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

Ошибка: Сертификат ненадежен/Не удалось проверить статус отзыва

Ошибку можно заметить на вкладке «Сертификаты» непосредственно в панели управления Рутокен. Проблема возникает во время установки ЭЦП и связана с неполной настройкой. Речь про отсутствие специального корневого доверенного сертификата, который выдает удостоверяющий центр.

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

Если в открывшемся дереве вы видите лишь ваш личный сертификат, то надо установить еще один, который был выдан в удостоверяющем центре, и сделать доверенным.

Ошибка: Rutoken перестает определяться (Windows 10)

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

В случае если ошибка не исчезла, обратитесь за консультацией в удостоверяющий центр, где вы оформили ЭЦП и приобрели Рутокен.

Ошибка: Панель управления не видит Рутокен ЭЦП 2.0

Для решения проблемы выполните следующие действия:

Если ничего не помогло и ошибка осталась, обращайтесь в удостоверяющий центр «Астрал». Мы предлагаем услуги по генерации ЭЦП любых типов на выгодных условиях, а также комплексное техническое сопровождение. Для решения проблем мы готовы проконсультировать по телефону либо найти выход с помощью удаленного подключения к вашему компьютеру. Получить дополнительную информацию можно по телефону либо оставив заявку на сайте. Мы оперативно ответим и предоставим консультацию.

Источник

Почему компьютер не видит носитель рутокен

Рутокен при подключении к компьютеру не отображается в Панели управления Рутокен, кнопка «Ввести PIN-код» неактивна.

image2018 5 8 14 29 34

Если используется Подключение к удаленному рабочему столу, подробную информацию можно прочитать в этой статье.

Определите модель Рутокен по маркировке на самом ключе, воспользовавшись этой инструкцией.

Возможно, не хватает питания для Рутокена. Попробуйте подключить Рутокен в другой USB-порт.

Если используется удлинитель, подключите Рутокен напрямую.

Проверьте работают ли флешки, другие токены или смарт-карты.

Модель Рутокен S должна отображаться в разделе Контроллеры USB.

image2018 5 8 14 53 13

Модели Рутокен ЭЦП 2.0, Рутокен Lite должны отображаться в разделе Устройства чтения смарт-карт.

*Иногда могут отображаться как «USB Smart Card reader», «Rutoken ECP» или «Rutoken Lite»

image2018 5 8 14 52 26

Откройте Панель управления Рутокен и перейдите на вкладку Настройки.

Проверьте значение в раскрывающемся списке Количество считывателей Рутокен S. Если установлен «0», то увеличьте это значение до 1 и примените изменения

image2018 5 8 14 56 13

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

Источник

Первичная диагностика неисправности Рутокен

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

Отправка токена на экспертизу производится через ту компанию, с которой у компании «Актив» имеются договорные отношения.

Таким образом, если вы приобретали Рутокен у одного из наших партнеров, вам нужно передать Рутокен партнеру. Если договор между вашей организацией и компанией «Актив» напрямую не заключался, и вы направите Рутокен нам, мы не сможем принять его на экспертизу.

Узнать срок гарантии на устройство Рутокен можно в той компании, в которой он приобретался.

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

Самые частые ошибки мы собрали в этой статье.

Первичная диагностика состоит из 3 этапов:

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

Можно выделить следующие виды механических повреждений:

1. Повреждение/разлом корпуса или USB-разъема Рутокена

image2020 4 17 15 35 9 image2020 4 17 15 34 16

image2020 4 17 15 32 7

3. Рутокен со следами оплавления и/или почернения корпуса изнутри носителя, отпаявшаяся микросхема или вспученная поверхность микросхемы

image2020 4 17 16 55 37 image2020 4 17 16 56 4

Рутокен со следами оплавления и/или почернения можно направить на дополнительную экспертизу. Если в ходе экспертизы будет выявлено умышленное повреждение или превышение допустимого напряжения, подаваемого в USB-порт, гарантийная замена Рутокена на новый произведена не будет.

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

Подключите Рутокен к компьютеру и запустите «Панель управления Рутокен».

Запуск панели управления Рутокен выполняется через меню Пуск / Панель управления / Панель управления Рутокен.

image2020 4 17 17 4 50

Если Рутокен определяется в «Панели управления Рутокен», активна кнопка «Ввести PIN-код…»

Нажмите на кнопку «Информация» на вкладке «Администрирование». Ошибок возникать не должно.

Попробуйте авторизоваться с PIN-кодом пользователя и/или администратора.

Если при нажатии на кнопку «Информация» ошибок не возникает, а авторизация выполняется успешно, следует перейти к третьему этапу диагностики носителя Рутокен

(Рутокен работает корректно, необходимо проверить целостность ключевой информации на Рутокене).

После подключения Рутокена к компьютеру возможны следующие ошибки в Панели управления Рутокен:

1. Рутокен не определяется в «Панели управления Рутокен»

image2020 4 17 17 5 41

Рутокен не определяется в «Панели управления Рутокен» (список «Подключенные Рутокен» пустой) и, как следствие, неактивны кнопки «Ввести PIN-код…» и «Информация…». В данном случае необходимо воспользоваться инструкцией.

2. Рутокен определяется панелью управления, кнопка «Ввести PIN-код…» активна, но авторизация с PIN-кодом пользователя/администратора выполняется с ошибкой. Дальнейшие действия зависят от формулировки возникающей ошибки:

2.1 Ошибка “Не удалось получить всю информацию о токене Код ошибки: 0x6a82 Описание ошибки: Файл/ RSF не найден”

Oshibka

Подключите Рутокен к другому USB порту. Повторите попытку ввода PIN-кода. По возможности, установите Драйверы Рутокен на другой компьютер, подключите токен и попробуйте ввести PIN-код.

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

2.2 Ошибка “Не удалось получить всю информацию о токене код ошибки: 0х6400 Описание ошибки: Состояние памяти Rutoken не изменилось”

6400

Подключите Рутокен к другому USB порту. Повторите попытку ввести PIN-код. По возможности, установите Драйверы Рутокен на другой компьютер, подключите токен и попробуйте ввести PIN-код.

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

2.3 Ошибка “Не удалось получить всю информацию о токене Код ошибки 0xF003 Описание ошибки Неверное значение”

F003

Подключите Рутокен к другому USB порту. Повторите попытку ввести PIN-код. По возможности, установите Драйверы Рутокен на другой компьютер, подключите токен и попробуйте ввести PIN-код.

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

2.4 Ошибка «Обнаружено повреждение системной области памяти (ошибка CRC)» код ошибки 0x6F20

image2020 4 17 17 8 59

Ошибка означает, что память на носителя Рутокен была повреждена. Форматирование Рутокена не поможет. Рутокен необходимо передать в ту компанию, в которой приобретался данный носитель для отправки на экспертизу в компанию Актив.

2.5 Референсные данные не найдены

image001

Подключите Рутокен к другому USB порту. Повторите попытку ввести PIN-код. По возможности, установите Драйверы Рутокен на другой компьютер, подключите токен и попробуйте ввести PIN-код.

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

Более подробная информация об ошибке есть в статье нашей Базы Знаний.

2.6 «PIN-код заблокирован»

image2020 4 17 17 9 17

Ошибка «PIN-код заблокирован» означает, что Рутокен был заблокирован в результате превышения количества попыток ввода PIN-кода.

Если заблокирован PIN-код пользователя, воспользуйтесь инструкцией.

Если заблокирован PIN-код Администратора, воспользуйтесь инструкцией.

На третьем этапе проверяется целостность ключевой информации, которая содержится на Рутокене.

Определите модель Рутокена по инструкции.

Если используется носитель из семейства Рутокен ЭЦП, проверьте формат ключей по инструкции.

1. Проверка целостности контейнера с сертификатом “КриптоПро CSP” или “VipNet CSP”

Выполнить такую проверку можно через программу криптопровайдера, с помощью которой была сгенерирована электронная подпись пользователя, например программа «КриптоПро CSP» или «VipNet CSP»

Тестирование целостности контейнера через «КриптоПро CSP» необходимо проводить по инструкции.

Тестирование целостности контейнера через «VipNet CSP» необходимо проводить по инструкции.

Если операция по проверке ключевого контейнера выполняется без ошибок, значит ключевая информация на носителе Рутокен не повреждена.

2. Проверка целостности сертификата с неизвлекаемыми ключами

Тестирование носителей Рутокен ЭЦП 2.0 с записанными на него неизвлекаемыми ключами ЭП (PKCS#11) пользователями самостоятельно не производится. Удаленная диагностика выполняется сотрудниками технической поддержки компании Актив.

Источник

Почему компьютер не видит носитель рутокен

После прохождения проверки условий подключения по сертификату ключа проверки ЭЦП и выбора сертификата в личном кабинете юридического лица на сайте nalog.ru через Yandex браузер возникает одно из двух сообщений:

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

image2019 9 5 16 7 19 image2019 9 5 16 8 6

Эти ошибки возникают в приложении Рутокен Коннект, установленном на компьютер, если не выполняются условия для успешного входа или выбран неверный вариант входа.

Необходимо определить нужно ли расширение Рутокен Коннект и какой вариант входа нужно использовать.

Расширение Рутокен Коннект должно использоваться для входа на сайт nalog.ru только если используется модель Рутокен ЭЦП 2.0 с записанным на него сертификатом формата PKCS#11 (как для ЕГАИС).

Проверка условий подключения должна завершиться успешно.

2. Если используется другая модель Рутокен и/или на Рутокене содержится сертификат формата «КриптоПро CSP», то выбран правильный вариант:

нужно выполнить одно из трех действий:

a) Удалите адрес lkul.nalog.ru:443 из настроек Рутокен Коннект

image2019 9 5 17 32 40

image2019 9 5 17 37 4

b) Или удалите Адаптер Рутокен Коннект

image2019 9 5 17 41 56

с) Или удалите приложение Рутокен Коннект

image2019 9 5 18 2 17

После выполнения одного из трех действий повторите Проверку условий подключения по сертификату ЭЦП.

Источник

Почему компьютер не видит рутокен

1. Возможно, на токене перегорел светодиод (лампочка). Для проверки следует:

5469

2. Подключить Rutoken к другому USB-порту.

3. Запустить / перезапустить службу «Смарт-карта». Для этого:

4. Переустановить драйвер Rutoken, предварительно отключив носитель от компьютера.
Для этого открыть меню «Пуск» > «Панель управления» > «Установка и удаление программ» (для ОС Windows Vista Windows Seven меню «Пуск» > «Панель управления» > «Программы и компоненты»). В списке найти пункт «Rutoken Drivers» и выбрать «Удалить». После удаления необходимо перезагрузить компьютер и установить драйвер Rutoken заново.

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

Установка драйвера для Windows Vista Windows Seven

1. Кликнуть по значку «Мой компьютер» правой кнопкой мыши и выбрать элемент «Свойства».

2. В открывшемся меню выбрать «Диспетчер устройств».

picture 1502

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

picture 826

4. Необходимо выделить строку «ruToken» и выбрать «Обновить драйверы».

picture 827

5. Далее выбрать «Выполнить поиск драйверов на этом компьютере».

picture 828

6. Нажать на кнопку «Обзор», указать каталог C:WindowsSystem32Aktiv Co и нажать на кнопку «Далее». Указанный каталог может быть скрытым. В таком случае необходимо выбрать меню «Сервис» > «Параметры папок» > «Вид», установить переключатель «Показывать скрытые файлы, папки и диски» и повторить выбор каталога.

picture 829

7. Дождаться окончания установки и нажать на кнопку «Закрыть».

picture 830

8. После установки драйвера устройство будет отображаться в разделе «Контроллеры USB». На токене также должен загореться диод.

picture 831

Установка драйвера для Windows XP

1. Кликнуть по значку «Мой компьютер» правой кнопкой мыши и выбрать элемент «Свойства».

2. В окне «Свойства системы» перейти на вкладку «Оборудование» и нажать на кнопку «Диспетчер устройств».

picture 832

3. В открывшемся окне проверить, нет ли в списке элемента «ruToken» (либо «Неизвестное устройство»), обозначенного желтым значком. Необходимо кликнуть по нему правой кнопкой мыши и выбрать «Обновить драйвер».

picture 833

4. В окне «Мастер обновления оборудования» установить переключатель «Установка из указанного места».

picture 834

5. В открывшемся окне нажать на кнопку «Обзор», указать путь к каталогу C:Windowssystem32Aktiv Co
t USB и нажать на кнопку «Далее». Указанный каталог может быть скрытым. В таком случае необходимо выбрать меню «Сервис» > «Параметры папок» > «Вид», установить переключатель «Показывать скрытые файлы, папки и диски» и повторить выбор каталога

picture 835

6. Дождаться окончания установки и нажать на кнопку «Готово».

picture 836

7. По завершении установки драйвера устройство будет отображаться в разделе «Контроллеры универсальной последовательной шины USB». На токене также должен загореться диод.

picture 837

6. В случае если выполнение инструкций не помогло исправить ошибку, токен, скорее всего, неисправен. Чтобы в этом убедиться, следует присоединить Rutoken к компьютеру, на котором никогда не устанавливался драйвер. Если носитель работает корректно, то должен запуститься «Мастер установки нового оборудования». Если при присоединении рутокена ничего не происходит, то носитель, вероятнее всего, неисправен, и его необходимо сменить.

Если сохранилась копия сертификата, следует использовать ее для работы в системе Контур.Экстерн, предварительно установив сертификат. Если копий не сохранилось, необходимо обратиться в сервисный центр для незапланированной замены ключа.

%D0%9C%D0%B0%D1%80%D0%BA%D0%B8%D1%80%D0%BE%D0%B2%D0%BA%D0%B0 %D0%BE%D0%B1%D1%89 206%D1%8577 11.18

%D0%91%D0%B0%D0%BD%D0%BD%D0%B5%D1%80 216%D1%8590 11.10.17

vk 180

Подготовка

Установка драйверов и модулей ruToken

Для установки драйверов необходимо:

Настройка считывателя в КриптоПро

Откроется окно со списком установленных считывателей. Если в списке нет считывателя Все считыватели смарт-карт, нажмите кнопку «Добавить»

Если кнопка «Добавить» не активна, то нужно перейти на вкладку «Общие» и нажать на ссылку «Запустить с правами администратора».
RU 3.6 2.0

Для продолжения установки считывателя нажмите кнопку «Далее»

В следующем окне выберите считыватель Все считыватели смарт-карт и нажмите кнопку «Далее»
RU 3.6 3.0

Для продолжения установки нажмите кнопку «Далее»
RU 3.6 4.0

Установка сертификатов

Для того, чтобы система стала запрашивать ruToken при входе, с него нужно установить сертификат. Чтобы узнать, как это сделать, перейдите по данной ссылке (нажмите здесь чтобы перейти).

Иногда при работе с электронной цифровой подписью (ЭЦП) выходит ошибка о том, что ПК не видит сертификат подписи на носителе или о том, что при создании подписи была допущена ошибка. Причина может быть в неустановленном или переставшем работать драйвере, в неисправности токена или в неисправности программной части компьютера.

rabota za kompyuterom

Почему не виден сертификат ЭЦП на носителе

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

Причина 1: драйвер не установлен или устройство отображается в диспетчере устройств с восклицательным знаком

Если на носителе Рутокен ЭЦП не найдено ни одного сертификата, а в диспетчере устройств носитель отображается с восклицательным знаком, то проблема кроется в драйвере.

Для исправления ситуации нужно извлечь носитель ЭЦП из компьютера и скачать последнюю версию драйвера. Скачивание нужно производить только с официальных ресурсов:

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

Причина 2: долгое опознание носителя на Windows 7

При работе в ОС Windows 7 драйверы могут долго назначаться. Решение проблемы — дождитесь окончания процесса или обновите версию ОС.

Причина 3: USB-порт работает некорректно

Убедитесь, что проблема в USB-порте, а не в носителе ЭЦП, для этого переключите токен к другому порту. Если носитель определился системой, то перезагрузите ПК. Обычно это помогает справиться с проблемой и запустить работу всех USB-портов. Если перезагрузка не помогла, то желательно обратиться в техническую поддержку для устранения неисправности.

sertifikat jeup ne viden na nositele

Причина 4: носитель неисправен

Если при переключении носителя к другому ПК или USB-порту флешку компьютер не видит, то проблема в носителе. Чтобы устранить неисправность, обратитесь в сервисный центр для выпуска нового токена.

Почему выходит ошибка при создании подписи

Ошибка создания подписи обычно имеет в расшифровке два значения:

Неисправность работы подписи связана с некорректной работой криптопровайдера, неустановленными или необновленными сертификатами.

Решение проблемы зависит от типа ошибки и обычно не требует обращения в техническую поддержку.

Устранение ошибки ненайденного элемента ЭЦП

Переустановите криптопровайдер на неисправном ПК с официального портала КриптоПро (https://www.cryptopro.ru/downloads). После этого очистите кэш и временные файлы в используемом браузере, а также кэш Java. Затем удалите личные сертификаты и сертификаты главного удостоверяющего центра. Используйте КриптоПро и заново установите новые в соответствии с именем контейнера. После установки корневых сертификатов:

Если после проделанной работы ошибка сохраняется, то нужно обратиться в сервисный центр.

Устранение ошибки с построением цепочки сертификатов

Обычно ошибку вызывает отсутствие сертификатов доверенных корневых центров. Чтобы устранить неисправность, нужно открыть список сертификатов и найти проблемный. Он будет иметь отметку о проблеме в проверке отношений:

rundll 1

Затем пользователь скачивает с официальной страницы сертификат Минкомсвязи РФ и сертификат удостоверяющего центра, имеющего проблемы в работе. Устанавливают их в раздел «‎Корневые сертификаты»‎, а пошаговый процесс выглядит так:

В нужном сертификате нажать «‎Установить».

error 02

В мастере импорта сертификатов нажать «‎Далее» и в новом окне поставить галочку напротив «‎Поместить все сертификаты в следующем хранилище». Нажать «‎Обзор».

error 03

В открывшемся списке выбрать «‎Доверенные корневые центры» и нажать последовательно «‎ОК» и «‎Далее».

error 04

Нажать «‎Готово», а затем подтвердить установку.

error 05

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

Ошибки в работе носителя электронной подписи могут быть вызваны как неисправностью самого носителя, так и неисправностями в программном обеспечении. Перезагрузите ПК и переключите токен в другой порт, чтобы убедиться в его исправности. Если проблема вызвана тем, что токен поврежден, то необходимо обратиться в сервисный центр компании, выпустившей USB. При ошибке, возникающей во время подписания документа, нужно убедиться в корректной работе всех сертификатов и криптопровайдера и при необходимости провести их полную переустановку.

Источник

Почему в криптопро не видно контейнера ключей. Что делать если компьютер не видит эцп. Сколько стоит ЭЦП

Добрый день!. Последние два дня у меня была интересная задача по поиску решения на вот такую ситуацию, есть физический или виртуальный сервер, на нем установлена наверняка многим известная КриптоПРО. На сервер подключен , который используется для подписи документов для ВТБ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. Ключ в системе видится , а вот в КриптоПРО нет.

Установка драйвера для Windows Vista Windows Seven

Нажмите на кнопку «Обзор», укажите каталог C:WindowsSystem32Aktiv Co и нажмите на кнопку «Далее».

Указанный каталог может быть скрытым. В таком случае выберите меню «Сервис» → «Параметры папок» → «Вид», выберите «Показывать скрытые файлы, папки и диски» и повторите выбор каталога.

Flash-накопитель

Если в качестве ключевого носителя используется flash-накопитель, необходимо выполнить следующие шаги:

1. Убедиться, что в что в корне носителя находится папка, содержащая файлы: header, masks, masks2, name, primary, primary2. Файлы должны иметь расширение.key, а формат названия папки должен быть следующим: xxxxxx.000.

Если каких-либо файлов не хватает или их формат неверен, то, возможно, контейнер закрытого ключа был поврежден или удален. Также необходимо проверить, не содержится ли данная папка с шестью файлами на других носителях.

2. Убедиться, что в КриптоПро CSP настроен считыватель «Дисковод X» (для КриптоПро CSP 3.6 — «Все съемные диски»), где X — буква диска. Для этого:

  • Выбрать меню «Пуск» > «Панель управления» > «КриптоПро CSP»;
  • Перейти на вкладку «Оборудование» и нажать на кнопку «Настроить считыватели».

Если считыватель отсутствует, его необходимо добавить (см. Как настроить считыватели в КриптоПро CSP?).

3. В окне «Выбор ключевого контейнера» установить переключатель «Уникальные имена».

4. Удалить запомненные пароли. Для этого:

  • Выбрать меню «Пуск» > «Панель управления» > «КриптоПро CSP»;
  • Перейти на вкладку «Сервис» и нажать на кнопку «Удалить запомненные пароли»;
  • Отметить пункт «Пользователя» и нажать на кнопку «ОК».

5. Сделать копию ключевого контейнера и использовать ее для работы (см. Как скопировать контейнер с сертификатом на другой носитель?).

6. Если на рабочем месте установлено КриптоПро CSP версии 2.0 или 3.0, а в списке ключевых носителей присутствует Дисковод А (B), то его необходимо удалить. Для этого:

  • Выбрать меню «Пуск» > «Панель управления» > «КриптоПро CSP»;
  • Перейти на вкладку «Оборудование» и нажать на кнопку «Настроить считыватели;»
  • Выбрать считыватель «Дисковод А» или «Дисковод B» и нажать на кнопку «Удалить».

После удаления данного считывателя работа с дискетой будет невозможна.

Если в качестве ключевого носителя используется смарт-карта Rutoken, необходимо выполнить следующие шаги:

1. Убедиться, что на рутокене горит лампочка. Если лампочка не горит, то следует воспользоваться следующими рекомендациями.

2. Убедиться, что в КриптоПро CSP настроен считыватель «Rutoken»(для КриптоПро CSP 3.6 — «Все считыватели смарт-карт»). Для этого:

  • Выбрать меню «Пуск» > «Панель управления» > «КриптоПро CSP»;
  • Перейти на вкладку «Оборудование» и нажать на кнопку «Настроить считыватели».

Если считыватель отсутствует, его необходимо добавить (см. Как настроить считыватели в КриптоПро CSP ?).

3. В окне «Выбор ключевого контейнера» установить переключатель «Уникальные имена».

4. Удалить запомненные пароли. Для этого:

  • Выбрать меню «Пуск» > «Панель управления» > «КриптоПро CSP»;
  • Перейти на вкладку «Сервис» и нажать на кнопку «Удалить запомненные пароли»;
  • Отметить пункт «Пользователя» и нажать на кнопку «ОК».

5. Обновить модули поддержки, необходимые для работы Rutoken. Для этого:

  • Отключить смарт-карту от компьютера;
  • Выбрать меню «Пуск» > «Панель управления» > «Установка и удаление программ» (для Windows Vista Seven «Пуск» > «Панель управления» > «Программы и компоненты»);
  • Выбрать из открывшегося списка «Rutoken Support Modules» и нажать на кнопку «Удалить».

После удаления модулей необходимо перезагрузить компьютер.

  • Загрузить и установить последнюю версию модулей поддержки. Дистрибутив доступен для загрузки на сайте компании Актив .

После установки модулей необходимо перезагрузить компьютер.

6. Следует увеличить количество отображаемых в КриптоПро CSP контейнеров на Rutoken, воспользовавшисьследующей инструкцией.

7. Обновить драйвер Rutoken (см. Как обновить драйвер Rutoken ?).

8. Следует убедиться, что на Rutoken содержатся ключевые контейнеры. Для этого необходимо проверить количество свободной памяти на носителе, выполнив следующие шаги:

  • Открыть «Пуск» («Настройки») > «Панель управления» > «Панель управления Рутокен» (если данный пункт отсутствует, то следует обновить драйвер Rutoken).
  • В открывшемся окне «Панели управления Рутокен» в пункте «Считыватели» следует выбрать «Activ Co. ruToken 0 (1,2)» и нажать на кнопку «Информация».

Если рутокен не виден в пункте «Считыватели» или при нажатии на кнопку «Информация» появляется сообщение «Состояние памяти ruToken не изменилось», значит, носитель был поврежден, необходимо обратиться в сервисный центр для незапланированной замены ключа.

  • Проверить, какое значение указано в строке «Свободная память (байт)».

В качестве ключевого носителя в сервисных центрах выдаются рутокены объемом памяти около 30000 байт. Один контейнер занимает объем порядка 4 Кб. Объем свободной памяти рутокена, содержащего один контейнер, составляет порядка 26 000 байт, двух контейнеров — 22 000 байт и т д.

Если объем свободной памяти рутокена составляет более 29-30 000 байт, то ключевые контейнеры на нем отсутствуют. Следовательно, сертификат содержится на другом носителе.

Как должно работать

Почему не видит ЭЦП компьютер? Вроде и ключ в виде флешки есть (тот же RuToken), и утилита «Крипто-Про» установлена, а проверка ЭП не выполняется. Основная причина — ПК изначально не видит флешку ЭЦП. Это возникает обычно, потому что ключ пытаются запустить на устройстве с неподдерживаемой ОС. Ведь каждый ключик-флешка делается под свою среду, и банальное обновление ОС может привести к потере совместимости с имеющимся ключом ЭЦП (флешкой).

Когда установка криптопровайдера выполнена на поддерживаемом аппарате, по инструкции, но всё равно компьютер не видит ЭЦП, проблема может быть и в самом ключе. Чтобы разобраться, свяжитесь с поддержкой. Там у вас запросят скриншоты:

  • версии/сборки CSP (вкладка «Общие»);
  • ошибок при подключении контейнера ЭЦП.

Кроме того, укажите специалистам, где получали ЭЦП, на каком носителе у вас установлен контейнер (рутокен, етокен, флешка или реестр) и какая используется ОС (разрядность, сборка).

Как должно работать

Почему не видит ЭЦП компьютер? Вроде и ключ в виде флешки есть (тот же RuToken), и утилита «Крипто-Про» установлена, а проверка ЭП не выполняется. Основная причина — ПК изначально не видит флешку ЭЦП. Это возникает обычно, потому что ключ пытаются запустить на устройстве с неподдерживаемой ОС. Ведь каждый ключик-флешка делается под свою среду, и банальное обновление ОС может привести к потере совместимости с имеющимся ключом ЭЦП (флешкой).

Когда установка криптопровайдера выполнена на поддерживаемом аппарате, по инструкции, но всё равно компьютер не видит ЭЦП, проблема может быть и в самом ключе. Чтобы разобраться, свяжитесь с поддержкой. Там у вас запросят скриншоты:

  • версии/сборки CSP (вкладка «Общие»);
  • ошибок при подключении контейнера ЭЦП.

Кроме того, укажите специалистам, где получали ЭЦП, на каком носителе у вас установлен контейнер (рутокен, етокен, флешка или реестр) и какая используется ОС (разрядность, сборка).

Дискета

Если в качестве ключевого контейнера используется дискета, выполните следующее:

  1. Убедитесь, что в корне дискеты находится папка, содержащая файлы: header, masks, masks2, name, primary, primary2. Файлы должны иметь расширение.key, а формат названия папки должен быть следующим: xxxxxx.000.
    Если каких-либо файлов не хватает или их формат неверен, то, возможно, контейнер закрытого ключа был поврежден или удален. Провериьте, не содержится ли данная папка с шестью файлами на других носителях.
  2. Убедитесь, что в КриптоПро CSP настроен считыватель «Дисковод X» (для КриптоПро CSP 3.6 — «Все съемные диски»), где X – буква диска. Для этого:
    1. Выберите меню «Пуск» → «Панель управления» → «КриптоПро CSP».
    2. Выберите вкладку «Оборудование» и нажмите на кнопку «Настроить считыватели».

    Если считыватель отсутствует, добавьте его (см. Как настроить считыватели в КриптоПро CSP).

    1. Выберите меню «Пуск» → «Панель управления» → «КриптоПро CSP».
    2. Выберите вкладку «Сервис» и нажмите на кнопку «Удалить запомненные пароли».
    3. Выберите пункт «Пользователя» и нажмите на кнопку «ОК».

    Windows не видит флешку с эцп

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

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

    Если при попытке заверить ведомость пользователь увидит сообщение о недействительности сертификата, значит подписать основной комплект тоже не удастся. Эта ошибка распространяется на все типы файлов, а не на какой-то конкретный документ.

    Причина сбоя — нарушение доверенной цепочки, о которой было сказано ранее. В первую очередь следует проверить наличие и корректность КС и ПС. Если они установлены, удалите эти файлы и загрузите снова.

Post Views: 8 140

ошибка получения криптографического контекста 0x0000054f — вот такая ошибка вылезла в Континент ап версии 3.7.
Выходила она в момент установки соединения, когда всплывало окошко выбора сертификата — которым мы должны были подключаться.

ошибка получения криптографического контекста 0x0000054f
ошибка получения криптографического контекста 0x0000054f

Первым делом проверил наличие установленной КриптоПро CSP — тут все хорошо. Крипта стоит, лицензия на крипту действующая.
Проверил версию ПО Континента АП — сборка последняя. И тут не придраться.
Для надежности по новой установил сертификат в Континент АП, сертификат успешно установился.
Пробую подключиться — выбираю серт, та же ошибка!!!

Решение оказалось в моем случае очень простым.
Нужно было выбрать Криптопровайдер как на картинке — КриптоПро CSP. После я смог осуществить подключение.

CKR_ARGUMENTS_BAD

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

CKR_ATTRIBUTE_READ_ONLY

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

CKR_ATTRIBUTE_SENSITIVE

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

CKR_ATTRIBUTE_TYPE_INVALID

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

CKR_ATTRIBUTE_VALUE_INVALID

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

CKR_BUFFER_TOO_SMALL

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

CKR_CANT_LOCK

Библиотека не поддерживает блокировку для защиты потоков; возвращается только при  вызове функции 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_HOST_MEMORY

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

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

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

CKR_PIN_EXPIRED

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

CKR_PIN_INCORRECT

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

CKR_PIN_INVALID

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

CKR_PIN_LEN_RANGE

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

CKR_PIN_LOCKED

Авторизация по данному PIN-коду невозможна (превышен допустимый предел последовательного ввода неправильных значений 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

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

Содержание

  1. Ошибки Рутокен
  2. Ошибка: Сертификат ненадежен/Не удалось проверить статус отзыва
  3. Ошибка: Rutoken перестает определяться (Windows 10)
  4. Ошибка: Панель управления не видит Рутокен ЭЦП 2.0
  5. Почему компьютер не видит носитель рутокен
  6. Первичная диагностика неисправности Рутокен
  7. 1. Повреждение/разлом корпуса или USB-разъема Рутокена
  8. 3. Рутокен со следами оплавления и/или почернения корпуса изнутри носителя, отпаявшаяся микросхема или вспученная поверхность микросхемы
  9. 1. Рутокен не определяется в «Панели управления Рутокен»
  10. 2. Рутокен определяется панелью управления, кнопка «Ввести PIN-код…» активна, но авторизация с PIN-кодом пользователя/администратора выполняется с ошибкой. Дальнейшие действия зависят от формулировки возникающей ошибки:
  11. 2.1 Ошибка “Не удалось получить всю информацию о токене Код ошибки: 0x6a82 Описание ошибки: Файл/ RSF не найден”
  12. 2.2 Ошибка “Не удалось получить всю информацию о токене код ошибки: 0х6400 Описание ошибки: Состояние памяти Rutoken не изменилось”
  13. 2.3 Ошибка “Не удалось получить всю информацию о токене Код ошибки 0xF003 Описание ошибки Неверное значение”
  14. 2.4 Ошибка «Обнаружено повреждение системной области памяти (ошибка CRC)» код ошибки 0x6F20
  15. 2.5 Референсные данные не найдены
  16. 2.6 «PIN-код заблокирован»
  17. 1. Проверка целостности контейнера с сертификатом “КриптоПро CSP” или “VipNet CSP”
  18. 2. Проверка целостности сертификата с неизвлекаемыми ключами
  19. Почему компьютер не видит носитель рутокен
  20. Почему компьютер не видит рутокен
  21. Установка драйвера для Windows Vista Windows Seven
  22. Установка драйвера для Windows XP
  23. Подготовка
  24. Установка драйверов и модулей ruToken
  25. Настройка считывателя в КриптоПро
  26. Установка сертификатов
  27. Почему не виден сертификат ЭЦП на носителе
  28. Причина 1: драйвер не установлен или устройство отображается в диспетчере устройств с восклицательным знаком
  29. Причина 2: долгое опознание носителя на Windows 7
  30. Причина 3: USB-порт работает некорректно
  31. Причина 4: носитель неисправен
  32. Почему выходит ошибка при создании подписи
  33. Устранение ошибки ненайденного элемента ЭЦП
  34. Устранение ошибки с построением цепочки сертификатов

Ошибки Рутокен

Из нашей статьи вы узнаете:

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

Ошибка: Сертификат ненадежен/Не удалось проверить статус отзыва

Ошибку можно заметить на вкладке «Сертификаты» непосредственно в панели управления Рутокен. Проблема возникает во время установки ЭЦП и связана с неполной настройкой. Речь про отсутствие специального корневого доверенного сертификата, который выдает удостоверяющий центр.

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

Если в открывшемся дереве вы видите лишь ваш личный сертификат, то надо установить еще один, который был выдан в удостоверяющем центре, и сделать доверенным.

Ошибка: Rutoken перестает определяться (Windows 10)

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

В случае если ошибка не исчезла, обратитесь за консультацией в удостоверяющий центр, где вы оформили ЭЦП и приобрели Рутокен.

Ошибка: Панель управления не видит Рутокен ЭЦП 2.0

Для решения проблемы выполните следующие действия:

Если ничего не помогло и ошибка осталась, обращайтесь в удостоверяющий центр «Астрал». Мы предлагаем услуги по генерации ЭЦП любых типов на выгодных условиях, а также комплексное техническое сопровождение. Для решения проблем мы готовы проконсультировать по телефону либо найти выход с помощью удаленного подключения к вашему компьютеру. Получить дополнительную информацию можно по телефону либо оставив заявку на сайте. Мы оперативно ответим и предоставим консультацию.

Источник

Почему компьютер не видит носитель рутокен

Рутокен при подключении к компьютеру не отображается в Панели управления Рутокен, кнопка «Ввести PIN-код» неактивна.

image2018 5 8 14 29 34

Если используется Подключение к удаленному рабочему столу, подробную информацию можно прочитать в этой статье.

Определите модель Рутокен по маркировке на самом ключе, воспользовавшись этой инструкцией.

Возможно, не хватает питания для Рутокена. Попробуйте подключить Рутокен в другой USB-порт.

Если используется удлинитель, подключите Рутокен напрямую.

Проверьте работают ли флешки, другие токены или смарт-карты.

Модель Рутокен S должна отображаться в разделе Контроллеры USB.

image2018 5 8 14 53 13

Модели Рутокен ЭЦП 2.0, Рутокен Lite должны отображаться в разделе Устройства чтения смарт-карт.

*Иногда могут отображаться как «USB Smart Card reader», «Rutoken ECP» или «Rutoken Lite»

image2018 5 8 14 52 26

Откройте Панель управления Рутокен и перейдите на вкладку Настройки.

Проверьте значение в раскрывающемся списке Количество считывателей Рутокен S. Если установлен «0», то увеличьте это значение до 1 и примените изменения

image2018 5 8 14 56 13

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

Источник

Первичная диагностика неисправности Рутокен

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

Отправка токена на экспертизу производится через ту компанию, с которой у компании «Актив» имеются договорные отношения.

Таким образом, если вы приобретали Рутокен у одного из наших партнеров, вам нужно передать Рутокен партнеру. Если договор между вашей организацией и компанией «Актив» напрямую не заключался, и вы направите Рутокен нам, мы не сможем принять его на экспертизу.

Узнать срок гарантии на устройство Рутокен можно в той компании, в которой он приобретался.

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

Самые частые ошибки мы собрали в этой статье.

Первичная диагностика состоит из 3 этапов:

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

Можно выделить следующие виды механических повреждений:

1. Повреждение/разлом корпуса или USB-разъема Рутокена

image2020 4 17 15 35 9 image2020 4 17 15 34 16

image2020 4 17 15 32 7

3. Рутокен со следами оплавления и/или почернения корпуса изнутри носителя, отпаявшаяся микросхема или вспученная поверхность микросхемы

image2020 4 17 16 55 37 image2020 4 17 16 56 4

Рутокен со следами оплавления и/или почернения можно направить на дополнительную экспертизу. Если в ходе экспертизы будет выявлено умышленное повреждение или превышение допустимого напряжения, подаваемого в USB-порт, гарантийная замена Рутокена на новый произведена не будет.

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

Подключите Рутокен к компьютеру и запустите «Панель управления Рутокен».

Запуск панели управления Рутокен выполняется через меню Пуск / Панель управления / Панель управления Рутокен.

image2020 4 17 17 4 50

Если Рутокен определяется в «Панели управления Рутокен», активна кнопка «Ввести PIN-код…»

Нажмите на кнопку «Информация» на вкладке «Администрирование». Ошибок возникать не должно.

Попробуйте авторизоваться с PIN-кодом пользователя и/или администратора.

Если при нажатии на кнопку «Информация» ошибок не возникает, а авторизация выполняется успешно, следует перейти к третьему этапу диагностики носителя Рутокен

(Рутокен работает корректно, необходимо проверить целостность ключевой информации на Рутокене).

После подключения Рутокена к компьютеру возможны следующие ошибки в Панели управления Рутокен:

1. Рутокен не определяется в «Панели управления Рутокен»

image2020 4 17 17 5 41

Рутокен не определяется в «Панели управления Рутокен» (список «Подключенные Рутокен» пустой) и, как следствие, неактивны кнопки «Ввести PIN-код…» и «Информация…». В данном случае необходимо воспользоваться инструкцией.

2. Рутокен определяется панелью управления, кнопка «Ввести PIN-код…» активна, но авторизация с PIN-кодом пользователя/администратора выполняется с ошибкой. Дальнейшие действия зависят от формулировки возникающей ошибки:

2.1 Ошибка “Не удалось получить всю информацию о токене Код ошибки: 0x6a82 Описание ошибки: Файл/ RSF не найден”

Oshibka

Подключите Рутокен к другому USB порту. Повторите попытку ввода PIN-кода. По возможности, установите Драйверы Рутокен на другой компьютер, подключите токен и попробуйте ввести PIN-код.

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

2.2 Ошибка “Не удалось получить всю информацию о токене код ошибки: 0х6400 Описание ошибки: Состояние памяти Rutoken не изменилось”

6400

Подключите Рутокен к другому USB порту. Повторите попытку ввести PIN-код. По возможности, установите Драйверы Рутокен на другой компьютер, подключите токен и попробуйте ввести PIN-код.

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

2.3 Ошибка “Не удалось получить всю информацию о токене Код ошибки 0xF003 Описание ошибки Неверное значение”

F003

Подключите Рутокен к другому USB порту. Повторите попытку ввести PIN-код. По возможности, установите Драйверы Рутокен на другой компьютер, подключите токен и попробуйте ввести PIN-код.

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

2.4 Ошибка «Обнаружено повреждение системной области памяти (ошибка CRC)» код ошибки 0x6F20

image2020 4 17 17 8 59

Ошибка означает, что память на носителя Рутокен была повреждена. Форматирование Рутокена не поможет. Рутокен необходимо передать в ту компанию, в которой приобретался данный носитель для отправки на экспертизу в компанию Актив.

2.5 Референсные данные не найдены

image001

Подключите Рутокен к другому USB порту. Повторите попытку ввести PIN-код. По возможности, установите Драйверы Рутокен на другой компьютер, подключите токен и попробуйте ввести PIN-код.

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

Более подробная информация об ошибке есть в статье нашей Базы Знаний.

2.6 «PIN-код заблокирован»

image2020 4 17 17 9 17

Ошибка «PIN-код заблокирован» означает, что Рутокен был заблокирован в результате превышения количества попыток ввода PIN-кода.

Если заблокирован PIN-код пользователя, воспользуйтесь инструкцией.

Если заблокирован PIN-код Администратора, воспользуйтесь инструкцией.

На третьем этапе проверяется целостность ключевой информации, которая содержится на Рутокене.

Определите модель Рутокена по инструкции.

Если используется носитель из семейства Рутокен ЭЦП, проверьте формат ключей по инструкции.

1. Проверка целостности контейнера с сертификатом “КриптоПро CSP” или “VipNet CSP”

Выполнить такую проверку можно через программу криптопровайдера, с помощью которой была сгенерирована электронная подпись пользователя, например программа «КриптоПро CSP» или «VipNet CSP»

Тестирование целостности контейнера через «КриптоПро CSP» необходимо проводить по инструкции.

Тестирование целостности контейнера через «VipNet CSP» необходимо проводить по инструкции.

Если операция по проверке ключевого контейнера выполняется без ошибок, значит ключевая информация на носителе Рутокен не повреждена.

2. Проверка целостности сертификата с неизвлекаемыми ключами

Тестирование носителей Рутокен ЭЦП 2.0 с записанными на него неизвлекаемыми ключами ЭП (PKCS#11) пользователями самостоятельно не производится. Удаленная диагностика выполняется сотрудниками технической поддержки компании Актив.

Источник

Почему компьютер не видит носитель рутокен

После прохождения проверки условий подключения по сертификату ключа проверки ЭЦП и выбора сертификата в личном кабинете юридического лица на сайте nalog.ru через Yandex браузер возникает одно из двух сообщений:

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

image2019 9 5 16 7 19 image2019 9 5 16 8 6

Эти ошибки возникают в приложении Рутокен Коннект, установленном на компьютер, если не выполняются условия для успешного входа или выбран неверный вариант входа.

Необходимо определить нужно ли расширение Рутокен Коннект и какой вариант входа нужно использовать.

Расширение Рутокен Коннект должно использоваться для входа на сайт nalog.ru только если используется модель Рутокен ЭЦП 2.0 с записанным на него сертификатом формата PKCS#11 (как для ЕГАИС).

Проверка условий подключения должна завершиться успешно.

2. Если используется другая модель Рутокен и/или на Рутокене содержится сертификат формата «КриптоПро CSP», то выбран правильный вариант:

нужно выполнить одно из трех действий:

a) Удалите адрес lkul.nalog.ru:443 из настроек Рутокен Коннект

image2019 9 5 17 32 40

image2019 9 5 17 37 4

b) Или удалите Адаптер Рутокен Коннект

image2019 9 5 17 41 56

с) Или удалите приложение Рутокен Коннект

image2019 9 5 18 2 17

После выполнения одного из трех действий повторите Проверку условий подключения по сертификату ЭЦП.

Источник

Почему компьютер не видит рутокен

1. Возможно, на токене перегорел светодиод (лампочка). Для проверки следует:

5469

2. Подключить Rutoken к другому USB-порту.

3. Запустить / перезапустить службу «Смарт-карта». Для этого:

4. Переустановить драйвер Rutoken, предварительно отключив носитель от компьютера.
Для этого открыть меню «Пуск» > «Панель управления» > «Установка и удаление программ» (для ОС Windows Vista Windows Seven меню «Пуск» > «Панель управления» > «Программы и компоненты»). В списке найти пункт «Rutoken Drivers» и выбрать «Удалить». После удаления необходимо перезагрузить компьютер и установить драйвер Rutoken заново.

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

Установка драйвера для Windows Vista Windows Seven

1. Кликнуть по значку «Мой компьютер» правой кнопкой мыши и выбрать элемент «Свойства».

2. В открывшемся меню выбрать «Диспетчер устройств».

picture 1502

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

picture 826

4. Необходимо выделить строку «ruToken» и выбрать «Обновить драйверы».

picture 827

5. Далее выбрать «Выполнить поиск драйверов на этом компьютере».

picture 828

6. Нажать на кнопку «Обзор», указать каталог C:WindowsSystem32Aktiv Co и нажать на кнопку «Далее». Указанный каталог может быть скрытым. В таком случае необходимо выбрать меню «Сервис» > «Параметры папок» > «Вид», установить переключатель «Показывать скрытые файлы, папки и диски» и повторить выбор каталога.

picture 829

7. Дождаться окончания установки и нажать на кнопку «Закрыть».

picture 830

8. После установки драйвера устройство будет отображаться в разделе «Контроллеры USB». На токене также должен загореться диод.

picture 831

Установка драйвера для Windows XP

1. Кликнуть по значку «Мой компьютер» правой кнопкой мыши и выбрать элемент «Свойства».

2. В окне «Свойства системы» перейти на вкладку «Оборудование» и нажать на кнопку «Диспетчер устройств».

picture 832

3. В открывшемся окне проверить, нет ли в списке элемента «ruToken» (либо «Неизвестное устройство»), обозначенного желтым значком. Необходимо кликнуть по нему правой кнопкой мыши и выбрать «Обновить драйвер».

picture 833

4. В окне «Мастер обновления оборудования» установить переключатель «Установка из указанного места».

picture 834

5. В открывшемся окне нажать на кнопку «Обзор», указать путь к каталогу C:Windowssystem32Aktiv Co
t USB и нажать на кнопку «Далее». Указанный каталог может быть скрытым. В таком случае необходимо выбрать меню «Сервис» > «Параметры папок» > «Вид», установить переключатель «Показывать скрытые файлы, папки и диски» и повторить выбор каталога

picture 835

6. Дождаться окончания установки и нажать на кнопку «Готово».

picture 836

7. По завершении установки драйвера устройство будет отображаться в разделе «Контроллеры универсальной последовательной шины USB». На токене также должен загореться диод.

picture 837

6. В случае если выполнение инструкций не помогло исправить ошибку, токен, скорее всего, неисправен. Чтобы в этом убедиться, следует присоединить Rutoken к компьютеру, на котором никогда не устанавливался драйвер. Если носитель работает корректно, то должен запуститься «Мастер установки нового оборудования». Если при присоединении рутокена ничего не происходит, то носитель, вероятнее всего, неисправен, и его необходимо сменить.

Если сохранилась копия сертификата, следует использовать ее для работы в системе Контур.Экстерн, предварительно установив сертификат. Если копий не сохранилось, необходимо обратиться в сервисный центр для незапланированной замены ключа.

%D0%9C%D0%B0%D1%80%D0%BA%D0%B8%D1%80%D0%BE%D0%B2%D0%BA%D0%B0 %D0%BE%D0%B1%D1%89 206%D1%8577 11.18

%D0%91%D0%B0%D0%BD%D0%BD%D0%B5%D1%80 216%D1%8590 11.10.17

vk 180

Подготовка

Установка драйверов и модулей ruToken

Для установки драйверов необходимо:

Настройка считывателя в КриптоПро

Откроется окно со списком установленных считывателей. Если в списке нет считывателя Все считыватели смарт-карт, нажмите кнопку «Добавить»

Если кнопка «Добавить» не активна, то нужно перейти на вкладку «Общие» и нажать на ссылку «Запустить с правами администратора».
RU 3.6 2.0

Для продолжения установки считывателя нажмите кнопку «Далее»

В следующем окне выберите считыватель Все считыватели смарт-карт и нажмите кнопку «Далее»
RU 3.6 3.0

Для продолжения установки нажмите кнопку «Далее»
RU 3.6 4.0

Установка сертификатов

Для того, чтобы система стала запрашивать ruToken при входе, с него нужно установить сертификат. Чтобы узнать, как это сделать, перейдите по данной ссылке (нажмите здесь чтобы перейти).

Иногда при работе с электронной цифровой подписью (ЭЦП) выходит ошибка о том, что ПК не видит сертификат подписи на носителе или о том, что при создании подписи была допущена ошибка. Причина может быть в неустановленном или переставшем работать драйвере, в неисправности токена или в неисправности программной части компьютера.

rabota za kompyuterom

Почему не виден сертификат ЭЦП на носителе

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

Причина 1: драйвер не установлен или устройство отображается в диспетчере устройств с восклицательным знаком

Если на носителе Рутокен ЭЦП не найдено ни одного сертификата, а в диспетчере устройств носитель отображается с восклицательным знаком, то проблема кроется в драйвере.

Для исправления ситуации нужно извлечь носитель ЭЦП из компьютера и скачать последнюю версию драйвера. Скачивание нужно производить только с официальных ресурсов:

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

Причина 2: долгое опознание носителя на Windows 7

При работе в ОС Windows 7 драйверы могут долго назначаться. Решение проблемы — дождитесь окончания процесса или обновите версию ОС.

Причина 3: USB-порт работает некорректно

Убедитесь, что проблема в USB-порте, а не в носителе ЭЦП, для этого переключите токен к другому порту. Если носитель определился системой, то перезагрузите ПК. Обычно это помогает справиться с проблемой и запустить работу всех USB-портов. Если перезагрузка не помогла, то желательно обратиться в техническую поддержку для устранения неисправности.

sertifikat jeup ne viden na nositele

Причина 4: носитель неисправен

Если при переключении носителя к другому ПК или USB-порту флешку компьютер не видит, то проблема в носителе. Чтобы устранить неисправность, обратитесь в сервисный центр для выпуска нового токена.

Почему выходит ошибка при создании подписи

Ошибка создания подписи обычно имеет в расшифровке два значения:

Неисправность работы подписи связана с некорректной работой криптопровайдера, неустановленными или необновленными сертификатами.

Решение проблемы зависит от типа ошибки и обычно не требует обращения в техническую поддержку.

Устранение ошибки ненайденного элемента ЭЦП

Переустановите криптопровайдер на неисправном ПК с официального портала КриптоПро (https://www.cryptopro.ru/downloads). После этого очистите кэш и временные файлы в используемом браузере, а также кэш Java. Затем удалите личные сертификаты и сертификаты главного удостоверяющего центра. Используйте КриптоПро и заново установите новые в соответствии с именем контейнера. После установки корневых сертификатов:

Если после проделанной работы ошибка сохраняется, то нужно обратиться в сервисный центр.

Устранение ошибки с построением цепочки сертификатов

Обычно ошибку вызывает отсутствие сертификатов доверенных корневых центров. Чтобы устранить неисправность, нужно открыть список сертификатов и найти проблемный. Он будет иметь отметку о проблеме в проверке отношений:

rundll 1

Затем пользователь скачивает с официальной страницы сертификат Минкомсвязи РФ и сертификат удостоверяющего центра, имеющего проблемы в работе. Устанавливают их в раздел «‎Корневые сертификаты»‎, а пошаговый процесс выглядит так:

В нужном сертификате нажать «‎Установить».

error 02

В мастере импорта сертификатов нажать «‎Далее» и в новом окне поставить галочку напротив «‎Поместить все сертификаты в следующем хранилище». Нажать «‎Обзор».

error 03

В открывшемся списке выбрать «‎Доверенные корневые центры» и нажать последовательно «‎ОК» и «‎Далее».

error 04

Нажать «‎Готово», а затем подтвердить установку.

error 05

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

Ошибки в работе носителя электронной подписи могут быть вызваны как неисправностью самого носителя, так и неисправностями в программном обеспечении. Перезагрузите ПК и переключите токен в другой порт, чтобы убедиться в его исправности. Если проблема вызвана тем, что токен поврежден, то необходимо обратиться в сервисный центр компании, выпустившей USB. При ошибке, возникающей во время подписания документа, нужно убедиться в корректной работе всех сертификатов и криптопровайдера и при необходимости провести их полную переустановку.

Источник

Содержание

  1. 0x54f внутренняя ошибка рутокен
  2. Стандартные коды ошибок
  3. Первичная диагностика неисправности Рутокен
  4. Первый этап диагностики — Визуальный осмотр Рутокена
  5. 1. Повреждение/разлом корпуса или USB-разъема Рутокена
  6. 2. На корпусе Рутокена видны следы попыток вскрыть носитель
  7. 3. Рутокен со следами оплавления и/или почернения корпуса изнутри носителя, отпаявшаяся микросхема или вспученная поверхность микросхемы
  8. Второй этап диагностики — Возможные ошибки при работе с Панелью управления Рутокен
  9. 1. Рутокен не определяется в «Панели управления Рутокен»
  10. 2. Рутокен определяется панелью управления, кнопка «Ввести PIN-код…» активна, но авторизация с PIN-кодом пользователя/администратора выполняется с ошибкой. Дальнейшие действия зависят от формулировки возникающей ошибки:
  11. 2.1 Ошибка “Не удалось получить всю информацию о токене Код ошибки: 0x6a82 Описание ошибки: Файл/ RSF не найден”
  12. 2.2 Ошибка “Не удалось получить всю информацию о токене код ошибки: 0х6400 Описание ошибки: Состояние памяти Rutoken не изменилось”
  13. 2.3 Ошибка “Не удалось получить всю информацию о токене Код ошибки 0xF003 Описание ошибки Неверное значение”
  14. 2.4 Ошибка «Обнаружено повреждение системной области памяти (ошибка CRC)» код ошибки 0x6F20
  15. 2.5 Референсные данные не найдены
  16. 2.6 «PIN-код заблокирован»
  17. Третий этап диагностики — Диагностика ключевой информации, содержащейся на Рутокене
  18. 1. Проверка целостности контейнера с сертификатом “КриптоПро CSP” или “VipNet CSP”
  19. 2. Проверка целостности сертификата с неизвлекаемыми ключами
  20. 0x54f внутренняя ошибка рутокен
  21. Стандартные коды ошибок
  22. Ошибки Рутокен
  23. Ошибка: Сертификат ненадежен/Не удалось проверить статус отзыва
  24. Ошибка: Rutoken перестает определяться (Windows 10)
  25. Ошибка: Панель управления не видит Рутокен ЭЦП 2.0

0x54f внутренняя ошибка рутокен

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

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

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

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

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

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

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

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

Источник

Первичная диагностика неисправности Рутокен

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

Отправка токена на экспертизу производится через ту компанию, с которой у компании «Актив» имеются договорные отношения.

Таким образом, если вы приобретали Рутокен у одного из наших партнеров, вам нужно передать Рутокен партнеру. Если договор между вашей организацией и компанией «Актив» напрямую не заключался, и вы направите Рутокен нам, мы не сможем принять его на экспертизу.

Узнать срок гарантии на устройство Рутокен можно в той компании, в которой он приобретался.

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

Самые частые ошибки мы собрали в этой статье.

Первичная диагностика состоит из 3 этапов:

  1. Визуальный осмотр Рутокена. На данном этапе определяется, попадает ли Рутокен под гарантию по сроку его использования, а также выявляются механические повреждения Рутокена.
  2. Возможные ошибки в «Панели управления Рутокен» На данном этапе определяются неисправности, которые могут быть выявлены только путем подключения Рутокена к компьютеру.
  3. Диагностика ключевой информации, содержащейся на Рутокене. На данном этапе проверяется целостность ключевой информации, которая содержится на носителе Рутокен с помощью вспомогательных инструментов, таких как: “Панель управления Рутокен”, “КриптоПро CSP” или «ViPNet CSP».

Первый этап диагностики — Визуальный осмотр Рутокена

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

Можно выделить следующие виды механических повреждений:

1. Повреждение/разлом корпуса или USB-разъема Рутокена

2. На корпусе Рутокена видны следы попыток вскрыть носитель

3. Рутокен со следами оплавления и/или почернения корпуса изнутри носителя, отпаявшаяся микросхема или вспученная поверхность микросхемы

Рутокен со следами оплавления и/или почернения можно направить на дополнительную экспертизу. Если в ходе экспертизы будет выявлено умышленное повреждение или превышение допустимого напряжения, подаваемого в USB-порт, гарантийная замена Рутокена на новый произведена не будет.

Второй этап диагностики — Возможные ошибки при работе с Панелью управления Рутокен

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

Подключите Рутокен к компьютеру и запустите «Панель управления Рутокен».

Запуск панели управления Рутокен выполняется через меню Пуск / Панель управления / Панель управления Рутокен.

Если Рутокен определяется в «Панели управления Рутокен», активна кнопка «Ввести PIN-код…»

Нажмите на кнопку «Информация» на вкладке «Администрирование». Ошибок возникать не должно.

Попробуйте авторизоваться с PIN-кодом пользователя и/или администратора.

Если при нажатии на кнопку «Информация» ошибок не возникает, а авторизация выполняется успешно, следует перейти к третьему этапу диагностики носителя Рутокен

(Рутокен работает корректно, необходимо проверить целостность ключевой информации на Рутокене).

После подключения Рутокена к компьютеру возможны следующие ошибки в Панели управления Рутокен:

1. Рутокен не определяется в «Панели управления Рутокен»

Рутокен не определяется в «Панели управления Рутокен» (список «Подключенные Рутокен» пустой) и, как следствие, неактивны кнопки «Ввести PIN-код…» и «Информация…». В данном случае необходимо воспользоваться инструкцией.

2. Рутокен определяется панелью управления, кнопка «Ввести PIN-код…» активна, но авторизация с PIN-кодом пользователя/администратора выполняется с ошибкой. Дальнейшие действия зависят от формулировки возникающей ошибки:

2.1 Ошибка “Не удалось получить всю информацию о токене Код ошибки: 0x6a82 Описание ошибки: Файл/ RSF не найден”

Подключите Рутокен к другому USB порту. Повторите попытку ввода PIN-кода. По возможности, установите Драйверы Рутокен на другой компьютер, подключите токен и попробуйте ввести PIN-код.

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

2.2 Ошибка “Не удалось получить всю информацию о токене код ошибки: 0х6400 Описание ошибки: Состояние памяти Rutoken не изменилось”

Подключите Рутокен к другому USB порту. Повторите попытку ввести PIN-код. По возможности, установите Драйверы Рутокен на другой компьютер, подключите токен и попробуйте ввести PIN-код.

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

2.3 Ошибка “Не удалось получить всю информацию о токене Код ошибки 0xF003 Описание ошибки Неверное значение”

Подключите Рутокен к другому USB порту. Повторите попытку ввести PIN-код. По возможности, установите Драйверы Рутокен на другой компьютер, подключите токен и попробуйте ввести PIN-код.

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

2.4 Ошибка «Обнаружено повреждение системной области памяти (ошибка CRC)» код ошибки 0x6F20

Ошибка означает, что память на носителя Рутокен была повреждена. Форматирование Рутокена не поможет. Рутокен необходимо передать в ту компанию, в которой приобретался данный носитель для отправки на экспертизу в компанию Актив.

2.5 Референсные данные не найдены

Подключите Рутокен к другому USB порту. Повторите попытку ввести PIN-код. По возможности, установите Драйверы Рутокен на другой компьютер, подключите токен и попробуйте ввести PIN-код.

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

Более подробная информация об ошибке есть в статье нашей Базы Знаний.

2.6 «PIN-код заблокирован»

Ошибка «PIN-код заблокирован» означает, что Рутокен был заблокирован в результате превышения количества попыток ввода PIN-кода.

Если заблокирован PIN-код пользователя, воспользуйтесь инструкцией.

Если заблокирован PIN-код Администратора, воспользуйтесь инструкцией.

Третий этап диагностики — Диагностика ключевой информации, содержащейся на Рутокене

На третьем этапе проверяется целостность ключевой информации, которая содержится на Рутокене.

Определите модель Рутокена по инструкции.

Если используется носитель из семейства Рутокен ЭЦП, проверьте формат ключей по инструкции.

1. Проверка целостности контейнера с сертификатом “КриптоПро CSP” или “VipNet CSP”

Выполнить такую проверку можно через программу криптопровайдера, с помощью которой была сгенерирована электронная подпись пользователя, например программа «КриптоПро CSP» или «VipNet CSP»

Тестирование целостности контейнера через «КриптоПро CSP» необходимо проводить по инструкции.

Тестирование целостности контейнера через «VipNet CSP» необходимо проводить по инструкции.

Если операция по проверке ключевого контейнера выполняется без ошибок, значит ключевая информация на носителе Рутокен не повреждена.

2. Проверка целостности сертификата с неизвлекаемыми ключами

Тестирование носителей Рутокен ЭЦП 2.0 с записанными на него неизвлекаемыми ключами ЭП (PKCS#11) пользователями самостоятельно не производится. Удаленная диагностика выполняется сотрудниками технической поддержки компании Актив.

Если у вас возникли вопросы — обращайтесь в службу технической поддержки компании “Актив”.

Источник

0x54f внутренняя ошибка рутокен

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

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

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

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

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

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

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

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

Источник

Ошибки Рутокен

Из нашей статьи вы узнаете:

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

Ошибка: Сертификат ненадежен/Не удалось проверить статус отзыва

Ошибку можно заметить на вкладке «Сертификаты» непосредственно в панели управления Рутокен. Проблема возникает во время установки ЭЦП и связана с неполной настройкой. Речь про отсутствие специального корневого доверенного сертификата, который выдает удостоверяющий центр.

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

  • выберите ваш сертификат в панели управления;
  • нажмите кнопку «Свойства»;
  • выберите вкладку «Путь сертификации».

Если в открывшемся дереве вы видите лишь ваш личный сертификат, то надо установить еще один, который был выдан в удостоверяющем центре, и сделать доверенным.

Ошибка: Rutoken перестает определяться (Windows 10)

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

В случае если ошибка не исчезла, обратитесь за консультацией в удостоверяющий центр, где вы оформили ЭЦП и приобрели Рутокен.

Ошибка: Панель управления не видит Рутокен ЭЦП 2.0

Для решения проблемы выполните следующие действия:

  • подключите токен к другому USB-разъему или компьютеру для оценки работоспособности;
  • определите наличие устройства через «Диспетчер устройств» в разделе «Контроллеры USB»;
  • проконтролируйте наличие доступа к веткам реестра
    • HKEY_LOCAL_MACHINESOFTWAREMicrosoftCryptographyCalais и
    • HKEY_LOCAL_MACHINESOFTWAREMicrosoftCryptographyCalaisReaders у текущего пользователя и Local Service (если необходимо, то добавьте), также убедитесь, что Служба «Смарт-карта» запущена от имени NT AUTHORITYLocalService («Пуск» — «Панель управления» — «Администрирование» — «Службы»).;
  • проверьте количество считывателей в настройках панели управления (должно быть значение 1);
  • переустановите комплект драйверов для исключения сбоя программного обеспечения.

Если ничего не помогло и ошибка осталась, обращайтесь в удостоверяющий центр «Астрал». Мы предлагаем услуги по генерации ЭЦП любых типов на выгодных условиях, а также комплексное техническое сопровождение. Для решения проблем мы готовы проконсультировать по телефону либо найти выход с помощью удаленного подключения к вашему компьютеру. Получить дополнительную информацию можно по телефону либо оставив заявку на сайте. Мы оперативно ответим и предоставим консультацию.

Источник

В этой статье мы познакомимся со стандартом PKCS#11, предназначенным для работы с различными криптографическими устройствами. Для демонстрации мы будем использовать токены и смарт-карты Рутокен ЭЦП 2.0.

Чтобы вам было проще понять эту информацию, перед её прочтением желательно:

  • ознакомиться с инфраструктурой PKI;

  • знать, что такое CMS-подпись;

  • знать, для чего нужен Рутокен и что он может.

Исходя из определения из Википедии:

PKCS #11 — один из стандартов семейства Public-Key Cryptography Standards (PKCS). Он определяет платформонезависимый программный интерфейс доступа к криптографическим устройствам смарт-картам, токенам, криптографическим ускорителям, серверам ключей и другим средствам криптографической защиты информации. Иногда именуется Cryptoki.

Проще говоря, PKCS#11 определяет платформонезависимый набор функций, структуры, константы и т.п. для работы с криптографическими устройствами. Эти функции могут быть реализованы внутри различных библиотек, например, opensc-pkcs11 или в нашей библиотеке по работе с устройствами Рутокен rtpkcs11ecp. Библиотеки могут отличаться не только реализацией, но и самим набором функций, типов и констант. Это возможно, так как стандарт PKCS#11 описывает различные способы расширения, что позволяет добавлять свои функции, например, для работы с CMS-подписью, флеш-памятью и т.п.

Но давайте обо всем по порядку. В первую очередь, определимся, что из себя представляют функции PKCS#11-библиотек. Функции PKCS#11 внутри — это обертки для работы с токенами и смарт-картами через APDU команды…

Про APDU

APDU — “язык ассемблера” для устройств.

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

  1. Токену или смарт-карте посылается байтовая последовательность;

  2. Операционная система устройства обрабатывает эту последовательность в команду и посылает в ответ код возврата и, при необходимости, дополнительную информацию.

Что же могут содержать внутри себя такие команды? Все, что угодно! Начиная с просьбы отправить информацию об устройстве или записать какие-то данные на него и заканчивая просьбой зашифровать указанное сообщение. Более того, эти команды могут быть разбиты на несколько, что позволяет оптимизировать работу с токеном и сделать ее конвейерной. К примеру, при шифровании сообщения устройству может передаваться небольшая часть сообщения, а он в ответ будет высылать результат шифрования только этой части. Эта особенность может быть использована при работе с данными больших размеров.

И вот вроде бы все хорошо: APDU даёт полную возможность для общения с токеном и смарт-картой, но зачем же тогда нужна PKCS#11-обертка? Причины достаточно очевидны:

  • Работать с шестнадцатеричными байтовыми последовательностями весьма неудобно, каждый раз надо заглядывать в спецификацию команд. Хотелось бы иметь их текстовый эквивалент, а лучше целую библиотеку для разработки.

  • Программирование через APDU-команды имеет “низкий КПД”. При выполнении даже самой простой операции надо написать множество команд. PKCS#11 устраняет эту проблему: при выполнении одной функции PKCS#11 посылается несколько APDU команд. Меньше пишешь — больше делаешь.

Теперь, когда мы знаем что лежит в основе PKCS#11-команд, перейдем к рассмотрению цикла работы с устройством.

Репозиторий с примерами

Чтобы улучшить понимание представленных ниже примеров рекомендуем:

  1. Клонировать репозиторий с примерами.

  2. Выполнить настройку системы согласно README.

  3. Попробовать собрать примеры.

  4. Отформатировать устройство семейства Рутокен ЭЦП 2.0 с помощью примера ex0_format_token.

Цикл работы с токеном

Придержим пока описание содержимого стандарта PKCS#11 и дадим поверхностное представление о том, как происходит работа с токеном в целом. Для этого рассмотрим листинг смены PIN-кода Пользователя на токене и смарт-карте:

#include 
#include "utils.h"

extern CK_FUNCTION_LIST_PTR functionList;                 // Указатель на список функций PKCS#11, хранящийся в структуре CK_FUNCTION_LIST
extern CK_FUNCTION_LIST_EXTENDED_PTR functionListEx;      // Указатель на список функций расширения PKCS#11, хранящийся в структуре CK_FUNCTION_LIST_EXTENDED

int change_pin_code(CK_SLOT_ID slot, char* oldPin, char* newPin);

int main(void)
{
    CK_SLOT_ID_PTR slots;                              // Массив идентификаторов слотов
    CK_ULONG slotCount;                                // Количество идентификаторов слотов в массиве
    char* oldPin = "12345678";
    char* newPin = "12345678";

    CK_RV rv;                                          // Код возврата. Могут быть возвращены только ошибки, определенные в PKCS#11
    int errorCode = 1;                                 // Флаг ошибки

    // инициализируем библиотеку
    if (init_pkcs11()) 
        goto exit;

    // получаем список слотов
    if (get_slot_list(&slots, &slotCount))
        goto free_pkcs11;

    if (slotCount == 0) {
        printf("No token foundn");
        goto free_slots;
    }

    // изменяем PIN-код
    if (change_pin_code(slots[0], oldPin, newPin))
        goto free_slots;


    errorCode = 0;

    /*************************************************************************
    * Очистить память, выделенную под слоты                                  *
    *************************************************************************/
free_slots:
    free(slots);

    /*************************************************************************
    * Деинициализировать библиотеку                                          *
    *************************************************************************/
free_pkcs11:
    free_pkcs11();

exit:
    if (errorCode) {
        printf("nnSome error occurred. Sample failed.n");
    } else {
        printf("nnSample has been completed successfully.n");
    }

    return errorCode;
}

Внутри заголовочного файла utils.h находится описание функций init_pkcs11, free_pkcs11, get_slot_list. Их определение мы дадим ниже.

Всю работу с токеном можно разделить на три этапа:

Подготовительный этап

Мы реализовали его внутри функции init_pkcs11:

#include "utils.h"

CK_FUNCTION_LIST_PTR functionList;                 // Указатель на список функций PKCS#11, хранящийся в структуре CK_FUNCTION_LIST
CK_FUNCTION_LIST_EXTENDED_PTR functionListEx;      // Указатель на список функций расширения PKCS#11, хранящийся в структуре CK_FUNCTION_LIST_EXTENDED
static HMODULE module;

int init_pkcs11()
{
    CK_C_GetFunctionList getFunctionList;              // Указатель на функцию C_GetFunctionList
    CK_C_EX_GetFunctionListExtended getFunctionListEx; // Указатель на функцию C_EX_GetFunctionListExtended

    /* Параметры для инициализации библиотеки: разрешаем использовать объекты синхронизации операционной системы */
    CK_C_INITIALIZE_ARGS initArgs = { NULL_PTR, NULL_PTR, NULL_PTR, NULL_PTR, CKF_OS_LOCKING_OK, NULL_PTR };

    CK_RV rv;                      // Код возврата PKCS#11 функций
    int errorCode = 1;                                 // Флаг ошибки

    /*************************************************************************
    * Выполнить действия для начала работы с библиотекой PKCS#11             *
    *************************************************************************/
    printf("Initialization...n");

    /*************************************************************************
    * Загрузить библиотеку                                                   *
    *************************************************************************/
    module = LoadLibrary(PKCS11_LIBRARY_DIR "/" PKCS11ECP_LIBRARY_NAME);
    CHECK(" LoadLibrary", module != NULL, exit);

    /*************************************************************************
    * Получить адрес функции запроса структуры с указателями на функции      *
    *************************************************************************/
    getFunctionList = (CK_C_GetFunctionList)GetProcAddress(module, "C_GetFunctionList");
    CHECK(" GetProcAddress (C_GetFunctionList)", getFunctionList != NULL, unload_pkcs11);

    /*************************************************************************
    * Получить адрес функции запроса структуры с указателями на функции      *
    * расширения стандарта PKCS#11                                           *
    *************************************************************************/
    getFunctionListEx = (CK_C_EX_GetFunctionListExtended)GetProcAddress(module, "C_EX_GetFunctionListExtended");
    CHECK(" GetProcAddress (C_EX_GetFunctionListExtended)", getFunctionList != NULL, unload_pkcs11);

    /*************************************************************************
    * Получить структуру с указателями на функции                            *
    *************************************************************************/
    rv = getFunctionList(&functionList);
    CHECK_AND_LOG(" Get function list", rv == CKR_OK, rvToStr(rv), unload_pkcs11);

    /*************************************************************************
    * Получить структуру с указателями на функции расширения стандарта       *
    *************************************************************************/
    rv = getFunctionListEx(&functionListEx);
    CHECK_AND_LOG(" Get function list extended", rv == CKR_OK, rvToStr(rv), unload_pkcs11);

    /*************************************************************************
    * Инициализировать библиотеку                                            *
    *************************************************************************/
    rv = functionList->C_Initialize(&initArgs);
    CHECK_AND_LOG(" C_Initialize", rv == CKR_OK, rvToStr(rv), unload_pkcs11);

    errorCode = 0;

    /*************************************************************************
    * Выгрузить библиотеку из памяти                                         *
    *************************************************************************/
unload_pkcs11:
    if (errorCode)
        CHECK_RELEASE(" FreeLibrary", FreeLibrary(module), errorCode);
exit:
    return errorCode;
}

Здесь происходит следующее:

  1. В память процесса подгружается PKCS#11-библиотека, хранящаяся по пути PKCS11ECP_LIBRARY_NAME, с помощью функции LoadLibrary (стандартная функция для Windows-систем, для Linux-систем определена обертка).

  2. Далее из библиотеки вытаскиваются указатели на функции C_GetFunctionList и C_EX_GetFunctionListExtended. Первая функция определена в стандарте PKCS#11 и позволяет получить структуру указателей на функции библиотеки. Вторая — является специфичной для библиотеки rtpkcs11ecp и позволяет получить схожую структуру указателей на функции расширения библиотеки. О функциях расширения мы поговорим позже.

  3. Потом мы вызываем полученную функцию C_GetFunctionList и получаем уже саму структуру указателей на функции.

  4. С помощью функции C_Initialize инициализируется загруженная библиотека. Функция C_Initialize в качестве аргумента принимает параметры инициализации библиотеки. Подробнее о них можно почитать здесь, для нас же важен флаг CKF_OS_LOCKING_OK. Его необходимо использовать, если мы хотим использовать библиотеку в нескольких потоках. В нашем примере мы могли бы опустить этот флаг.

Основной этап

Основной этап можно разделить на работу со слотами и работу внутри сессии

Этап работы со слотами

Слот — это дескриптор виртуального интерфейса, куда подключен токен. Конкретно в нашем примере весь этап работы со слотами уместился в определение одной функции get_slot_list:

int get_slot_list(CK_SLOT_ID_PTR* slots_ptr, CK_ULONG_PTR slotCount)
{
    CK_RV rv;
    int errorCode = 1;

    /*************************************************************************
    * Получить количество слотов c подключенными токенами                    *
    *************************************************************************/
    rv = functionList->C_GetSlotList(CK_TRUE, NULL_PTR, slotCount);
    CHECK_AND_LOG(" C_GetSlotList (number of slots)", rv == CKR_OK, rvToStr(rv), exit);

    CHECK_AND_LOG(" Checking available tokens", *slotCount > 0, " No tokens available", exit);

    /*************************************************************************
    * Получить список слотов c подключенными токенами                        *
    *************************************************************************/
    *slots_ptr = (CK_SLOT_ID_PTR)malloc(*slotCount * sizeof(CK_SLOT_ID));
    CHECK(" Memory allocation for slots", *slots_ptr != NULL_PTR, exit);

    rv = functionList->C_GetSlotList(CK_TRUE, *slots_ptr, slotCount);
    CHECK_AND_LOG(" C_GetSlotList", rv == CKR_OK, rvToStr(rv), free_slots);
    printf(" Slots available: %dn", (int)*slotCount);

    /*************************************************************************
    * Выставить признак успешного завершения программы                       *
    *************************************************************************/
    errorCode = 0;

free_slots:
    if (errorCode)
    {
        free(*slots_ptr);
    }

exit:
    return errorCode;
}

Работа со слотами происходит примерно в такой последовательности:

  1. Получение списка слотов с помощью функции C_GetSlotList или через функцию ожидания событий, связанных со слотами (пример будет рассмотрен ниже).

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

Этап работы внутри сессии

Сессия — это дескриптор контекста выполнения последовательности операций. Обычно во время сессий выполняются основные функции работы с токеном или смарт-картой: шифрование, подпись и т.п. В нашем случае выполняется смена PIN-кода:

int change_pin_code(CK_SLOT_ID slot, char* oldPin, char* newPin)
{
    CK_SESSION_HANDLE session;                         // Хэндл открытой сессии
    CK_RV rv;                                          // Код возврата. Могут быть возвращены только ошибки, определенные в PKCS#11
    int errorCode = 1;

    /*************************************************************************
    * Открыть RW сессию в первом доступном слоте                             *
    *************************************************************************/
    rv = functionList->C_OpenSession(slot, CKF_SERIAL_SESSION | CKF_RW_SESSION, NULL_PTR, NULL_PTR, &session);
    CHECK_AND_LOG(" C_OpenSession", rv == CKR_OK, rvToStr(rv), exit);

    /*************************************************************************
    * Выполнить аутентификацию Пользователя                                *
    *************************************************************************/
    rv = functionList->C_Login(session, CKU_USER, oldPin, strlen(oldPin));
    CHECK_AND_LOG(" C_Login (CKU_USER)", rv == CKR_OK, rvToStr(rv), close_session);

    /*************************************************************************
    * Установить PIN-код Пользователя по умолчанию                           *
    *************************************************************************/
    printf("nChanging user PIN to default...n");

    rv = functionList->C_SetPIN(session, NULL_PTR, 0, newPin, strlen(newPin));
    CHECK_AND_LOG(" C_SetPIN", rv == CKR_OK, rvToStr(rv), logout);

    printf("User PIN has been changed to default successfully.n");

    errorCode = 0;

    /*************************************************************************
    * Сбросить права доступа                                                 *
    *************************************************************************/
logout:
    rv = functionList->C_Logout(session);
    CHECK_RELEASE_AND_LOG(" C_Logout", rv == CKR_OK, rvToStr(rv), errorCode);

    /*************************************************************************
    * Закрыть открытую сессию в слоте                                        *
    *************************************************************************/
close_session:
    rv = functionList->C_CloseSession(session);
    CHECK_RELEASE_AND_LOG(" C_CloseSession", rv == CKR_OK, rvToStr(rv), errorCode);
exit:
    return errorCode;
}

Работу внутри сессий можно разделить на несколько этапов:

  1. Открытие сессии в слоте с помощью функции C_OpenSession.

  2. Аутентификация пользователя с помощью функции C_Login. Стандартно на Рутокене присутствуют два пользователя: Администратор (CKU_SO) и Пользователь (CKU_USER). Аутентификация на устройстве — не является обязательной операцией. Она нужна, когда мы хотим получить доступ к операциям и объектам, которые требуют наличия соответствующих прав доступа. В нашем случае, это операция смены PIN-кода Пользователя.

  3. Выполнение различных функций по работе с сессиями. В нашем случае это функция C_SetPIN.

  4. Далее по нисходящей могут идти операции сброса прав доступа (C_Logout) и завершения сессии (C_CloseSession).

Завершающий этап

Весь наш завершающий этап поместился внутри определения функции free_pkcs11:

int free_pkcs11()
{
        CK_RV rv;
        int errorCode;

        printf("nFinalizing... n");

    rv = functionList->C_Finalize(NULL_PTR);
        CHECK_RELEASE_AND_LOG(" C_Finalize", rv == CKR_OK, rvToStr(rv), errorCode);

    CHECK_RELEASE(" FreeLibrary", FreeLibrary(module), errorCode);

        return errorCode;
}

Завершающий этап можно разделить на:

  1. Деинициализацию библиотеки с помощью функции C_Finalize.

  2. Выгрузку библиотеки из памяти процесса через функцию FreeLibrary (для Linux-систем имеется обертка).

Классификация функций PKCS#11

Стандартные функции и функции расширения

В общем виде все функции внутри PKCS#11-библиотек можно разделить на:

  • Стандартные — те, что явно описаны в стандарте. Список указателей на эти функции можно получить с помощью функции C_GetFunctionList, хранящейся в этой же библиотеке. Сами же стандартные функции имеют префикс «C_».

  • Расширения — те, что были добавлены разработчиками библиотеки и не описаны в стандарте. Стандарт явно не определяет функцию для получения списка расширенных функций. Но в библиотеке rtpkcs11ecp этой функцией является C_EX_GetFunctionListExtended. Сами же функции-расширения обычно имеют префикс «C_EX_».

Описание стандартных функций можно найти в документации PKCS#11. Про то, как работать с расширениями — надо смотреть у разработчиков конкретных библиотек. Например, у нас для этого есть отдельная страница на портале документации.

Разделение по предназначению

С другой стороны, функции PKCS#11 можно классифицировать по их предназначению. Логично выделить следующие виды функций:

  • Функции общего назначения. Например, для получения списка функций или получения информации о библиотеке.

  • Функции работы со слотами. Они не зависят от контекста работы с токеном. Например, C_GetSlotInfo, C_GetTokenInfo и т.п.

  • Функции для работы с сессиями. Как уже говорилось ранее, обычно во время выполнения этих функций осуществляется основное взаимодействие с токеном. При выполнении функции внутри сессии контекст работы с токеном не теряется. Самый простой пример этих функций: функция аутентификации (C_Login), функции работы с закрытым ключом на токене (C_Sign, C_Encrypt) и т.п.

Атомарные и составные операции

Некоторые операции в PKCS#11 работают привычным для нас образом: вызвал функцию — получил результат. Но есть и операции, реализация которых выстроена через многократный вызов функций. Ярким примером такой операции является блочное шифрование: чтобы зашифровать данные нужно вызвать функции: C_EncryptInit, C_EncryptUpdate, C_EncryptFinal. Пример этого будет приведен ниже. Эта особенность связана с тем, что внутри библиотеки PKCS#11 скрыт вызов APDU-команд, который как раз предусматривает разбиение некоторых команд на несколько итераций. Как уже говорилось ранее, это способствует эффективному использованию PKCS#11 с потоками данных.

Работа со слотами

Слоты — это виртуальные устройства библиотеки для подключения токенов и смарт-карт. PKCS#11 предоставляет функции для получения списка слотов и ожидания изменения состояний слотов. Также с помощью специальных функций можно получать информацию о состоянии слота, например, наличие токена в нем, информация о подключенном токене и т.п. Давайте подробнее рассмотрим функции по работе со слотами.

Получение списка слотов

Одна из самых важных операций, которую мы будем использовать в 99 процентах случаев — это получение списка активных слотов. Для этого в PKCS#11 есть функция C_GetSlotList. Примером ее использования является функция get_slot_list, определенная ниже:

int get_slot_list(CK_SLOT_ID_PTR* slots_ptr, CK_ULONG_PTR slotCount)
{
    CK_RV rv;
    int errorCode = 1;

    /*************************************************************************
    * Получить количество слотов c подключенными токенами                    *
    *************************************************************************/
    rv = functionList->C_GetSlotList(CK_TRUE, NULL_PTR, slotCount);
    CHECK_AND_LOG(" C_GetSlotList (number of slots)", rv == CKR_OK, rvToStr(rv), exit);

    CHECK_AND_LOG(" Checking available tokens", *slotCount > 0, " No tokens available", exit);

    /*************************************************************************
    * Получить список слотов c подключенными токенами                        *
    *************************************************************************/
    *slots_ptr = (CK_SLOT_ID_PTR)malloc(*slotCount * sizeof(CK_SLOT_ID));
    CHECK(" Memory allocation for slots", *slots_ptr != NULL_PTR, exit);

    rv = functionList->C_GetSlotList(CK_TRUE, *slots_ptr, slotCount);
    CHECK_AND_LOG(" C_GetSlotList", rv == CKR_OK, rvToStr(rv), free_slots);
    printf(" Slots available: %dn", (int)*slotCount);

    /*************************************************************************
    * Выставить признак успешного завершения программы                       *
    *************************************************************************/
    errorCode = 0;

free_slots:
    if (errorCode)
    {
        free(*slots_ptr);
    }

exit:
    return errorCode;
}

Первый вызов функции C_GetSlotList позволяет получить количество доступных слотов. Это позволяет в дальнейшем выделять память под необходимое количество слотов. Второй вызов позволяет получить список слотов.

Первым аргументом C_GetSlotList является флаг, говорящий библиотеке, возвращать ли только слоты с подключенными устройствами (CK_TRUE) или нет (CK_FALSE).

Мониторинг событий слотов и получение информации о слоте

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

int monitor_slot_event()
{
    int errorCode = 0;

    while (1) {
        CK_SLOT_ID slot ;
            CK_RV rv = functionList->C_WaitForSlotEvent(0, &slot, NULL_PTR);

        if (CKR_CRYPTOKI_NOT_INITIALIZED == rv) break; // Индикатор того, что PKCS#11 деинициализирована из памяти.
        CHECK_RELEASE_AND_LOG(" C_WaitForSlotEvent", rv == CKR_OK, rvToStr(rv), errorCode);
        if (errorCode)
            break;

        CK_SLOT_INFO slotInfo;
        rv = functionList->C_GetSlotInfo(slot, &slotInfo); // получение информации о слоте

        if (CKR_CRYPTOKI_NOT_INITIALIZED == rv) break; // Индикатор того, что PKCS#11 деинициализирована из памяти.
        CHECK_RELEASE_AND_LOG(" C_GetSlotInfo", rv == CKR_OK, rvToStr(rv), errorCode);
        if (errorCode)
            break;

        if (CKF_TOKEN_PRESENT & slotInfo.flags) { 
                    token_inserted(slot);
        }
    }
}

Как можно заметить, функция отлавливает помимо событий подключения и извлечения токена и смарт-карты, еще и событие деинициализации библиотеки PKCS#11 (код возврата CKR_CRYPTOKI_NOT_INITIALIZED). Данная особенность позволяет использовать эту функцию внутри многопоточных приложений без дополнительной возни с обработкой событий при завершении работы приложения.

Первым аргументом в функцию C_WaitForSlotEvent передается флаг блокировки (CKF_DONT_BLOCK). Если он установлен, то функция не является блокирующей. В таком случае, если никакой слот не был изменен, то возвращается код CKR_NO_EVENT.

Также стоит обратить внимание на использование функции получения информации о слоте C_GetSlotInfo. Мы использовали ее для определения наличия токена по флагу CKF_TOKEN_PRESENT. Подробнее с этой структурой можно ознакомиться здесь.

В этом файле представлен пример получения информации о подключенных токенах или смарт-картах с помощью функции C_GetTokenInfo. С помощью этой функции можно получить серийный номер, метку и другие характеристики подключенного устройства.

Объекты

Всё есть объект — это почти про PKCS#11.

Теперь начнём знакомство с PKCS#11-объектами. А чтобы закрепить материал по функциям, будем рассматривать множество примеров с их использованием. Поскольку одним из самых важных объектов, которые обычно хранятся на токене или смарт-карте является ключевая пара, мы начнём знакомство с объектами через генерацию ключевой пары.

Создание объектов — на примере генерации ключевых пар

В первую очередь, напишем функцию, которая будет генерировать ключевую пару ГОСТ Р 34.10-2012 256 бит на указанном слоте:

int gen_gost_key_pair(CK_SESSION_HANDLE session)
{
    CK_KEY_TYPE keyTypeGostR3410_2012_256 = CKK_GOSTR3410;
    CK_BYTE keyPairIdGost2012_256[] = { "GOST R 34.10-2012 (256 bits) sample key pair ID (Aktiv Co.)" };
    CK_BYTE parametersGostR3410_2012_256[] = { 0x06, 0x07, 0x2a, 0x85, 0x03, 0x02, 0x02, 0x23, 0x01 };
    CK_BYTE parametersGostR3411_2012_256[] = { 0x06, 0x08, 0x2a, 0x85, 0x03, 0x07, 0x01, 0x01, 0x02, 0x02 };
    CK_BBOOL attributeTrue = CK_TRUE;
    CK_BBOOL attributeFalse = CK_FALSE;

    CK_OBJECT_CLASS publicKeyObject = CKO_PUBLIC_KEY;

    CK_ATTRIBUTE publicKeyTemplate[] =
    {
        { CKA_CLASS, &publicKeyObject, sizeof(publicKeyObject)},                                        // Класс - открытый ключ
        { CKA_ID, &keyPairIdGost2012_256, sizeof(keyPairIdGost2012_256) - 1 },                          // Идентификатор ключевой пары (должен совпадать у открытого и закрытого ключей)
        { CKA_KEY_TYPE, &keyTypeGostR3410_2012_256, sizeof(keyTypeGostR3410_2012_256) },                // Тип ключа - ГОСТ Р 34.10-2012(256)
        { CKA_TOKEN, &attributeTrue, sizeof(attributeTrue)},                                            // Ключ является объектом токена
        { CKA_PRIVATE, &attributeFalse, sizeof(attributeFalse)},                                        // Ключ доступен без аутентификации на токене
        { CKA_GOSTR3410_PARAMS, parametersGostR3410_2012_256, sizeof(parametersGostR3410_2012_256) },   // Параметры алгоритма ГОСТ Р 34.10-2012(256)
        { CKA_GOSTR3411_PARAMS, parametersGostR3411_2012_256, sizeof(parametersGostR3411_2012_256) }    // Параметры алгоритма ГОСТ Р 34.11-2012(256)
    };

    CK_OBJECT_CLASS privateKeyObject = CKO_PRIVATE_KEY;

    CK_ATTRIBUTE privateKeyTemplate[] =
    {
        { CKA_CLASS, &privateKeyObject, sizeof(privateKeyObject)},                                      // Класс - закрытый ключ
        { CKA_ID, &keyPairIdGost2012_256, sizeof(keyPairIdGost2012_256) - 1 },                          // Идентификатор ключевой пары (должен совпадать у открытого и закрытого ключей)
        { CKA_KEY_TYPE, &keyTypeGostR3410_2012_256, sizeof(keyTypeGostR3410_2012_256) },                // Тип ключа - ГОСТ Р 34.10-2012(256)
        { CKA_TOKEN, &attributeTrue, sizeof(attributeTrue)},                                            // Ключ является объектом токена
        { CKA_PRIVATE, &attributeTrue, sizeof(attributeTrue)},                                          // Ключ доступен только после аутентификации на токене
        { CKA_GOSTR3410_PARAMS, parametersGostR3410_2012_256, sizeof(parametersGostR3410_2012_256) },   // Параметры алгоритма ГОСТ Р 34.10-2012(256)
        { CKA_GOSTR3411_PARAMS, parametersGostR3411_2012_256, sizeof(parametersGostR3411_2012_256) }    // Параметры алгоритма ГОСТ Р 34.11-2012(256)
    };

    CK_OBJECT_HANDLE privateKey;                      // Хэндл закрытого ключа ГОСТ (ключевая пара для подписи и шифрования)    
    CK_OBJECT_HANDLE publicKey;                       // Хэндл открытого ключа ГОСТ (ключевая пара для подписи и шифрования)    

    CK_MECHANISM gostR3410_2012_256KeyPairGenMech = { CKM_GOSTR3410_KEY_PAIR_GEN, NULL_PTR, 0 };

    CK_RV rv;   
    int errorCode = 1;

    /*************************************************************************
    * Генерация ключевой пары на токене                                      *
    *************************************************************************/
    rv = functionList->C_GenerateKeyPair(session, &gostR3410_2012_256KeyPairGenMech, 
    publicKeyTemplate, arraysize(publicKeyTemplate),
    privateKeyTemplate, arraysize(privateKeyTemplate),
    &publicKey, &privateKey);
    CHECK_AND_LOG(" C_GenerateKeyPair", rv == CKR_OK, rvToStr(rv), exit);

    errorCode = 0;
    printf("Gost key pair generated successfullyn");

exit:
    return errorCode;
}

В этом примере для нас много нового. Можно заметить, что здесь вызывается всего одна функция C_GenerateKeyPair. Эта функция является стандартной функцией генерации ключей, работающей внутри открытой сессии. Также стоит отметить, что пользователь должен быть аутентифицирован перед вызовом этой функции.

Теперь перейдём к объектам. Внутри функции gen_gost_key_pair происходит создание двух объектов на токене: открытого и закрытого ключей. Вот, что стандарт PKCS#11 говорит про объекты:

Cryptoki recognizes a number of classes of objects, as defined in the CK_OBJECT_CLASS data type. An object consists of a set of attributes, each of which has a given value. Each attribute that an object possesses has precisely one value.

То есть стандарт не даёт явное определение объекта, но из того, что там написано, мы знаем:

  • объект относится к определенному классу;

  • объект состоит из множества атрибутов, имеющих заданное значение;

  • каждый атрибут имеет ровно одно значение.

Также в стандарте представлена классификация объектов:

Иерархия PKCS#11 объектов

Иерархия PKCS#11 объектов

Заголовок диаграммы определяет класс объекта, а то что ниже — некоторые из его атрибутов.
Видно, что объектом может являться некоторый механизм (о механизмах мы поговорим позже), встроенные функции токена (Hardware feature), некоторые данные на токене (Storage). В нашем случае мы выполнили действие с данными.

Название всех атрибутов начинается с префикса «CKA_». Одним из самых важных атрибутов является CKA_ID. Он задаёт идентификатор объекта и используется для связи ключевых пар и сертификатов. Атрибут CKA_TOKEN является булевым и показывает, является ли объект — объектом токена. Атрибут CKA_PRIVATE тоже является булевым и определяет нужна ли предварительная аутентификация для получения доступа к объекту. Атрибут CKA_ID — задаёт шестнадцатеричный идентификатор объекта. Также есть булевые атрибуты CKA_MODIFIABLE, CKA_COPYABLE, CKA_DESTROYABLE для более тонкой настройки доступа к объекту. Подробнее про возможные атрибуты конкретных классов объектов можно прочитать непосредственно в самом стандарте для каждого класса объектов.

Объекты данных могут быть самыми разнообразными: асимметричные ключи, симметричные ключи, сертификаты, просто какая-либо информация на токене. В нашем примере мы создали два объекта, но сделали это неявно с помощью механизма генерации ключей. C_GenerateKeyPair приняла на вход механизм генерации ключевой пары, шаблоны открытого и закрытого ключа и с помощью механизма сгенерировала объекты ключевой пары (publicKey и privateKey). Мы пока ещё не описывали механизмы, но, говоря простым языком, механизм — это идентификатор операции, которая выполняет какую-то криптографическую функцию. В нашем случае — это функция генерации объекта.

Поиск объектов и создание сырой подписи

В прошлом разделе мы сгенерировали ключевую пару. На этот раз будем считать, что у нас нет хендлов на сгенерированные ключи, но мы знаем их идентификатор – CKA_ID. Попробуем найти объект закрытого ключа на токене:

int findObjects(CK_SESSION_HANDLE session,         // Хэндл открытой сессии
                CK_ATTRIBUTE_PTR attributes,       // Массив с шаблоном для поиска
                CK_ULONG attrCount,                // Количество атрибутов в массиве поиска
                CK_OBJECT_HANDLE objects[],        // Массив для записи найденных объектов
                CK_ULONG* objectsCount             // Количество найденных объектов
                       )
{
    CK_RV rv;                                           // Код возврата. Могут быть возвращены только ошибки, определенные в PKCS#11
    int errorCode = 1;                                  // Флаг ошибки

    /*************************************************************************
    * Инициализировать операцию поиска                                       *
    *************************************************************************/
    rv = functionList->C_FindObjectsInit(session, attributes, attrCount);
    CHECK_AND_LOG("  C_FindObjectsInit", rv == CKR_OK, rvToStr(rv), exit);

    /*************************************************************************
    * Найти все объекты, соответствующие критериям поиска                    *
    *************************************************************************/

    rv = functionList->C_FindObjects(session, objects, *objectsCount, objectsCount);
    CHECK_AND_LOG("  C_FindObjects", rv == CKR_OK, rvToStr(rv), find_final);

    errorCode = 0;

    /*************************************************************************
    * Деинициализировать операцию поиска                                     *
    *************************************************************************/
find_final:
    rv = functionList->C_FindObjectsFinal(session);
    CHECK_RELEASE_AND_LOG("  C_FindObjectsFinal", rv == CKR_OK, rvToStr(rv), errorCode);

exit:
    return errorCode;
}

int find_private_key(CK_SESSION_HANDLE session, CK_OBJECT_HANDLE_PTR privateKey)
{
        CK_BYTE keyPairIdGost2012_256[] = { "GOST R 34.10-2012 (256 bits) sample key pair ID (Aktiv Co.)" };
        CK_OBJECT_CLASS privateKeyObject = CKO_PRIVATE_KEY;

        CK_ATTRIBUTE privateKeyTemplate[] =
        {
                { CKA_CLASS, &privateKeyObject, sizeof(privateKeyObject)},              // Класс - закрытый ключ
                { CKA_ID, &keyPairIdGost2012_256, sizeof(keyPairIdGost2012_256) - 1},   // Идентификатор ключевой пары (должен совпадать у открытого и закрытого ключей)
        };

        CK_ULONG cnt = 1;

        CK_RV rv;
        int errorCode = 1;

        rv = findObjects(session, privateKeyTemplate,
        arraysize(privateKeyTemplate), privateKey, &cnt);

        CHECK(" findObjects", rv == 0, exit);
        CHECK_AND_LOG(" Checking number of keys found", cnt == 1, "No objects foundn", exit);

        errorCode = 0;
exit:
        return errorCode;
}

Данный пример иллюстрирует работу с функцией поиска объекта по заданным атрибутам. Как можно заметить, операция поиска объекта на токене является составной и работа с ней сводится как минимум к вызову трёх функций: C_FindObjectsInit, C_FindObjects, C_FindObjectsFinal. Функция C_FindObjects может вызываться по несколько раз, и каждый раз она будет возвращать следующие объекты поиска. Предпоследний аргумент функции C_FindObjects задаёт размер выходного массива объектов. А последний — количество полученных объектов после очередного поиска.

Поиск приватного ключа производился по атрибуту его класса и идентификатору. Мы рассчитывали, что найдётся хотя бы один объект по заданному шаблону и брали любой из них. Используем найденный ключ для вычисления сырой подписи:

int sign(CK_SESSION_HANDLE session, CK_OBJECT_HANDLE privateKey)
{    
    /* OID алгоритма хеширования ГОСТ Р 34.11-2012(256)                     */
    CK_BYTE parametersGostR3411_256[] = {0x06, 0x08, 0x2a, 0x85, 0x03, 0x07, 0x01, 0x01, 0x02, 0x02};

    /* Механизм подписи/проверки подписи по алгоритму ГОСТ Р 34.10-2012(256) и хешированием по алгоритму ГОСТ Р 34.11-2012(256) */
    CK_MECHANISM gost3410SignWith3411Mech = { CKM_GOSTR3410_WITH_GOSTR3411_12_256, ¶metersGostR3411_256, sizeof(parametersGostR3411_256)};

    CK_BYTE data[] = { 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
               0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
               0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
               0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07 };

    CK_BYTE_PTR signature;                            // Указатель на буфер, содержащий цифровую подпись для данных
    CK_ULONG signatureSize;                           // Размер буфера, содержащего цифровую подпись для данных, в байтах

    CK_RV rv;
    int errorCode = 1;

    /*************************************************************************
    * Вычислить подпись от данных                                            *
    *************************************************************************/
    printf(" Signing data...n");

    /*************************************************************************
    * Инициализировать операцию подписи данных                               *
    *************************************************************************/
    rv = functionList->C_SignInit(session, &gost3410SignWith3411Mech, privateKey);
    CHECK_AND_LOG("  >C_SignInit", rv == CKR_OK, rvToStr(rv), exit);

    /*************************************************************************
    * Определить размер данных подписи                                       *
    *************************************************************************/
    rv = functionList->C_Sign(session, data, sizeof(data), NULL_PTR, &signatureSize);
    CHECK_AND_LOG("  C_Sign(get size)", rv == CKR_OK, rvToStr(rv), exit);

    /*************************************************************************
    * Подписать данные                                                       *
    *************************************************************************/

    signature = (CK_BYTE*)malloc(signatureSize * sizeof(CK_BYTE));
    CHECK("  Memory allocation for signature", signature != NULL, exit);

    rv = functionList->C_Sign(session, data, sizeof(data), signature, &signatureSize);
    CHECK_AND_LOG("  C_Sign (signing)", rv == CKR_OK, rvToStr(rv), free_signature);


    /*************************************************************************
    * Распечатать буфер, содержащий подпись                                  *
    *************************************************************************/
    printf("  Signature buffer is: n");
    printHex(signature, signatureSize);
    printf("Data has been signed successfully.n");

    errorCode = 0;

free_signature:
    free(signature);
exit:
    return errorCode;
}

В этом примере подпись и хеш можно считать одновременно. Такой вариант рекомендован для безопасности: цепочку «хеширование-подпись» лучше не «разрывать». Чтобы показать, какой алгоритм хеширования использовать, мы передали его OID.

Также имеется возможность считать сырую подпись в два этапа: сначала брать хеш от данных, а затем вычислялась подпись от хеша. Такой подход более модульный, т.к. алгоритмы хеширования и вычисления подписи могут быть любыми и их можно комбинировать. Естественно, комбинировать можно с некоторыми ограничениями, которые налагаются стандартами, например, на длину хеша.

Работа с функциями расширения на примере создания запроса на сертификат

Пришло время показать, как работать с функциями-расширениями. Сделаем это на примере библиотеки PKCS#11 от Рутокен и создадим запрос на сертификат для нашей ключевой пары. Генерация запроса на сертификат не описана в стандарте, поэтому сделаем это через функцию-расширение C_EX_CreateCSR.

int create_csr(CK_SESSION_HANDLE session, CK_OBJECT_HANDLE publicKey, CK_OBJECT_HANDLE privateKey)
{
    /*************************************************************************
    * Запрос на получение сертификата                                        *
    *************************************************************************/
    /*************************************************************************
    * Список полей DN (Distinguished Name)                                   *
    *************************************************************************/
    CK_CHAR_PTR dn[] = { (CK_CHAR_PTR)"CN",                   // Тип поля CN (Common Name)
                     (CK_CHAR_PTR)"UTF8String:Иванов",        // Значение
                     (CK_CHAR_PTR)"C",                        // C (Country)
                     (CK_CHAR_PTR)"RU",
                     (CK_CHAR_PTR)"2.5.4.5",                  // SN (Serial Number)
                     (CK_CHAR_PTR)"12312312312",
                     (CK_CHAR_PTR)"1.2.840.113549.1.9.1",     // E (E-mail)
                     (CK_CHAR_PTR)"ivanov@mail.ru",
                     (CK_CHAR_PTR)"ST",                       // ST (State or province)
                     (CK_CHAR_PTR)"UTF8String:Москва",
                     (CK_CHAR_PTR)"O",                        // O (Organization)
                     (CK_CHAR_PTR)"CompanyName",
                     (CK_CHAR_PTR)"OU",                       // OU (Organizational Unit)
                     (CK_CHAR_PTR)"Devel",
                     (CK_CHAR_PTR)"L",                        // L (Locality)
                     (CK_CHAR_PTR)"Moscow", };

    /*************************************************************************
    * Список дополнительных полей                                            *
    *************************************************************************/
    CK_CHAR_PTR exts[] = {(CK_CHAR_PTR)"keyUsage",                                                        // Использование ключа
                      (CK_CHAR_PTR)"digitalSignature,nonRepudiation,keyEncipherment,dataEncipherment",
                      (CK_CHAR_PTR)"extendedKeyUsage",                                                    // Дополнительное использование
                      (CK_CHAR_PTR)"1.2.643.2.2.34.6,1.3.6.1.5.5.7.3.2,1.3.6.1.5.5.7.3.4",
                      (CK_CHAR_PTR)"2.5.29.17",                                                           // Дополнительное имя (пример с кодированием в виде DER)
                      (CK_CHAR_PTR)"DER:30:0F:81:0D:65:78:61:6d:70:6c:65:40:79:61:2E:72:75",
                      (CK_CHAR_PTR)"2.5.29.32",                                                           // Политики сертификата (кодирование в виде DER с пометкой "critical")
                      (CK_CHAR_PTR)"critical,DER:30:0A:30:08:06:06:2A:85:03:64:71:01",
                      (CK_CHAR_PTR)"1.2.643.100.111",                                                     // Средства электронной подписи владельца
                      (CK_CHAR_PTR)"ASN1:UTF8String:СКЗИ "Рутокен ЭЦП 2.0"", };

    CK_BYTE_PTR csr;                                   // Указатель на буфер, содержащий подписанный запрос на сертификат
    CK_ULONG csrSize;                                  // Размер запроса на сертификат в байтах

    char* csrPem;                                      // Строка с CSR в формате PEM

    CK_RV rv;
    int errorCode = 1;

    /*************************************************************************
    * Создать запрос на сертификат                                           *
    *************************************************************************/
    printf("nCreating CSR...n");

    /*************************************************************************
    * Создание запроса на сертификат                                         *
    *************************************************************************/
    rv = functionListEx->C_EX_CreateCSR(session, publicKey, dn, arraysize(dn), &csr, &csrSize, privateKey, NULL_PTR, 0, exts, arraysize(exts));
    CHECK_AND_LOG(" C_EX_CreateCSR", rv == CKR_OK, rvToStr(rv), exit);

    /*************************************************************************
    * Сконвертировать и распечатать буфер в формате PEM                      *
    *************************************************************************/
    GetCSRAsPEM(csr, csrSize, &csrPem);
    CHECK(" Get CSR in PEM format", csrPem != NULL, free_csr);

    printf("nCertificate request is:n");
    printf("%sn", csrPem);

    errorCode = 0;
    printf("Creating CSR has been completed successfully.n");
free_csr_pem:
    free(csrPem);
free_csr:
    rv = functionListEx->C_EX_FreeBuffer(csr);
    CHECK_RELEASE_AND_LOG(" C_EX_FreeBuffer", rv == CKR_OK, rvToStr(rv), errorCode);
exit:
    return errorCode;
}

Можно заметить, что работа с функциями расширения очень похожа на работу со стандартными функциями. Основное отличие лишь в том, что мы обращаемся к другому списку функций CK_FUNCTION_LIST_EXTENDED_PTR. Создание запроса на сертификат происходит в одну строчку функцией C_EX_CreateCSR и возвращает запрос в DER-формате. Также стоит обратить внимание, что память, выделенную внутри библиотеки, следует высвобождать с помощью функции C_EX_FreeBuffer.

По полученному запросу можно получить сертификат в Удостоверяющем центре. Например, воспользуемся тестовым УЦ КриптоПро для получения сертификата. Полученный сертификат необходимо скачать в DER-формате, сохранить в файле с именем «cert_2012-256.cer» и положить в директорию, из которой вы запускаете примеры. Полученный сертификат можно импортировать на токен.

Импорт сертификата на токен. Создание объекта вручную

Сертификаты на токене так же как и ключи — являются объектами. Сертификат можно импортировать на токен, создав объект с нужными атрибутами. Для этого мы реализовали функцию: import_cert:

int import_cert(CK_SESSION_HANDLE session)
{
    CK_OBJECT_CLASS certificateObject = CKO_CERTIFICATE;
    CK_BYTE keyPairIdGost2012_256[] = { "GOST R 34.10-2012 (256 bits) sample key pair ID (Aktiv Co.)" };
    CK_BBOOL attributeTrue = CK_TRUE;
    CK_BBOOL attributeFalse = CK_FALSE;
    CK_CERTIFICATE_TYPE certificateType = CKC_X_509;
    CK_ULONG tokenUserCertificate = 1;

    /*************************************************************************
    * Шаблон для импорта сертификата                                         *
    *************************************************************************/
    CK_ATTRIBUTE certificateTemplate[] =
    {
        { CKA_VALUE, 0, 0 },                                                               // Значение сертификата (заполняется в процессе работы)
        { CKA_CLASS, &certificateObject, sizeof(certificateObject) },                      // Класс - сертификат
        { CKA_ID, &keyPairIdGost2012_256, sizeof(keyPairIdGost2012_256) - 1 },             // Идентификатор сертификата (совпадает с идентификатором соответствующего ключа)
        { CKA_TOKEN, &attributeTrue, sizeof(attributeTrue) },                              // Сертификат является объектом токена
        { CKA_PRIVATE, &attributeFalse, sizeof(attributeFalse) },                          // Сертификат доступен без аутентификации
        { CKA_CERTIFICATE_TYPE, &certificateType, sizeof(certificateType) },               // Тип сертификата - X.509
        { CKA_CERTIFICATE_CATEGORY, &tokenUserCertificate, sizeof(tokenUserCertificate) }, // Категория сертификата - пользовательский
    };

    FILE* certFile;                                   // Поток ввода сертификата
    CK_BYTE_PTR certDer;                              // Массив с сертификатом в DER формате
    CK_ULONG certSize;                                // Размер массива сертификата

    CK_OBJECT_HANDLE certificate;                     // Хэндл сертификата

    CK_RV rv;
    int r;
    int errorCode = 1;                                // Флаг ошибки

    /*************************************************************************
    * Открыть поточный ввод сертификата из файла                             *
    *************************************************************************/
    certFile = fopen("cert_2012-256.cer", "rb");
    CHECK_AND_LOG(" fopen", certFile != NULL, ""cert_2012-256.cer" doesn't exist", exit);

    /*************************************************************************
    * Определить размер файла, содержащего сертификат                        *
    *************************************************************************/
    r = fseek(certFile, 0, SEEK_END);
    CHECK(" fseek", r == 0, close_certFile);
    certSize = ftell(certFile);
    CHECK(" ftell", certSize > 0, close_certFile);
    r = fseek(certFile, 0, SEEK_SET);
    CHECK(" fseek", r == 0, close_certFile);

    /*************************************************************************
    * Выделить память для сертификата                                        *
    *************************************************************************/
    certDer = (CK_BYTE_PTR)malloc(certSize);
    CHECK(" malloc", certDer != NULL, close_certFile);

    /*************************************************************************
    * Прочитать сертификат                                                   *
    *************************************************************************/
    r = (int)fread(certDer, 1, (int)certSize, certFile);
    CHECK(" fread", r == (int)certSize, free_certificate);

    /*************************************************************************
    * Задать шаблон сертификата для импорта                                  *
    *************************************************************************/
    certificateTemplate[0].pValue = certDer;
    certificateTemplate[0].ulValueLen = certSize;

    /*************************************************************************
    * Создать сертификат на токене                                         *
    *************************************************************************/
    rv = functionList->C_CreateObject(session, certificateTemplate, arraysize(certificateTemplate), &certificate);
    CHECK_AND_LOG(" C_CreateObject", rv == CKR_OK, rvToStr(rv), free_certificate);

    errorCode = 0;
    printf("Certificate has been created successfullyn");


    /*************************************************************************
    * Очистить память из-под строки с сертификатом                           *
    *************************************************************************/
free_certificate:
    free(certDer);

    /*************************************************************************
    * Закрыть поток ввода сертификата                                        *
    *************************************************************************/
close_certFile:
    r = fclose(certFile);
    CHECK_RELEASE(" fclose", r == 0, errorCode);

exit:
    return errorCode;
}

На этот раз мы создали объект напрямую с помощью функции C_CreateObject. Для создания объекта сертификата мы аналогично передали шаблон с атрибутами объекта: тело сертификата, идентификатор, тип доступа, тип сертификата и т.п.

Функцию C_CreateObject можно использовать не только для создания сертификата на токене, но и для создания других объектов, например, публичных ключей (CKO_PUBLIC_KEY), закрытых ключей (CKO_PRIVATE_KEY), симметричных ключей (CKO_SECRET_KEY), обычных данных (CKO_DATA). Их значение будет также содержаться внутри атрибута CKA_VALUE.

Теперь, когда у нас на токене имеется и ключевая пара и сертификат, для закрепления материала рассмотрим операцию создания CMS-подписи.

Формирование CMS-подписи

Данная возможность является расширением библиотеки Рутокен и может работать только с ГОСТ-ключами. Для создания подписи в формате CMS требуется наличие закрытого ключа и сертификата (неявно содержащего в себе открытый ключ). Создание CMS-подписи реализовано в функции sign_cms:

int sign_cms(CK_SESSION_HANDLE session, CK_OBJECT_HANDLE certificate, CK_OBJECT_HANDLE privateKey)
{
    /*************************************************************************
    * Данные для подписи                                                     *
    *************************************************************************/
    CK_BYTE data[] =
    {
        0x01, 0x00, 0x02, 0x35, 0x35,
        0x02, 0x00, 0x01, 0x01,
        0x81, 0x00, 0x09, 0x34, 0x30, 0x34, 0x34, 0x34, 0x35, 0x39, 0x39, 0x38,
        0x82, 0x00, 0x0A, 0x37, 0x37, 0x38, 0x31, 0x35, 0x36, 0x34, 0x36, 0x31, 0x31,
        0x83, 0x00, 0x13, 0x41, 0x6B, 0x74, 0x69, 0x76, 0x20, 0x52, 0x75, 0x74, 0x6F, 0x6B, 0x65, 0x6E, 0x20, 0x42, 0x61, 0x6E, 0x6B, 0x2E,
        0x84, 0x00, 0x14, 0x34, 0x37, 0x37, 0x37, 0x38, 0x38, 0x38, 0x39, 0x39, 0x39, 0x31, 0x31, 0x31, 0x31, 0x31, 0x32, 0x32, 0x32, 0x37, 0x36,
        0x85, 0x00, 0x0A, 0x33, 0x32, 0x32, 0x38, 0x37, 0x33, 0x36, 0x37, 0x36, 0x35,
        0x86, 0x00, 0x03, 0x52, 0x55, 0x42,
        0xFF, 0x00, 0x0D, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30
    };

    CK_BYTE_PTR signature;                             // Указатель на буфер, содержащий подпись исходных данных
    CK_ULONG signatureSize;                            // Размер буфера, содержащего подпись исходных данных, в байтах
    char* signaturePem;                                // Строка с CMS в формате PEM

    CK_RV rv;
    int errorCode = 1;                                 // Флаг ошибки

    /*************************************************************************
    * Подписать данные                                                       *
    *************************************************************************/
    rv = functionListEx->C_EX_PKCS7Sign(session, data, sizeof(data), certificate,
        &signature, &signatureSize, privateKey, NULL_PTR, 0, USE_HARDWARE_HASH);
    CHECK_AND_LOG(" C_EX_PKCS7Sign", rv == CKR_OK, rvToStr(rv), exit);

        /*************************************************************************
        * Сконвертировать и распечатать буфер в формате PEM                      *
        *************************************************************************/
        GetCMSAsPEM(signature, signatureSize, &signaturePem);
        CHECK(" Get CMS in PEM format", signaturePem != NULL, free_signature);

        printf("nSignature is:n");
        printf("%sn", signaturePem);


    errorCode = 0;
    printf("Data has been signed successfully.n");

free_signature_pem:
    free(signaturePem);

    /*************************************************************************
    * Освободить память, выделенную в библиотеке                             *
    *************************************************************************/
free_signature:
    rv = functionListEx->C_EX_FreeBuffer(signature);
    CHECK_RELEASE_AND_LOG(" C_EX_FreeBuffer", rv == CKR_OK, rvToStr(rv), errorCode);

exit:
    return errorCode;
}

Создание CMS-подписи произошло вызовом всего лишь одной функции расширения C_EX_PKCS7Sign. А объект сертификата нашелся так же просто, как и объект ключа с минимальными отличиями в коде. Все это показывает, как просто и лаконично (по меркам языка C) спроектирован стандарт PKCS#11 с идеей объектного подхода.

Получение и установка атрибутов публичных объектов

В завершение главы про объекты хотелось бы отметить, что атрибуты публичных объектов можно получать и изменять. Делается это с помощью функций C_SetAttributeValue и C_GetAttributeValue.

Логика работы с функцией C_SetAttributeValue очень похожа на логику создания объектов — создаётся шаблон, атрибуты заполняются указанными значениями. Все это передаётся на вход функции C_SetAttributeValue. Изменять атрибуты можно, если у объекта атрибут CKA_MODIFIABLE равен CK_TRUE.

При получении значений атрибутов иногда неизвестно, какой будет выходной размер атрибута. В таком случае создается шаблон с нулевыми значениями указателей на выходные объекта атрибутов и их размеров. Этот шаблон передаётся функции C_GetAttributeValue. Функция заполняет значение выходных размеров атрибутов в этом шаблоне. Мы может воспользоваться этой информацией для выделения памяти под атрибуты в шаблоне и дальнейшего вызова функции C_GetAttributeValue.

Для демонстрации работы функций C_GetAttributeValue и C_SetAttributeValue рассмотрим пример получения тела сертификата и изменения текстовой метки сертификата:

int get_cert(CK_SESSION_HANDLE session, CK_OBJECT_HANDLE cert)
{
    CK_BYTE_PTR body = NULL_PTR;
    CK_ATTRIBUTE template[] = {
        {CKA_VALUE, NULL_PTR, 0}
    };

    char* certPem;

    CK_RV rv;
    int errorCode=1;

        /*************************************************************************
        * Получение размера тела сертификата                                     *
        *************************************************************************/
    rv = functionList->C_GetAttributeValue(session, cert, template, arraysize(template));
    CHECK_AND_LOG(" C_GetAttributeValue", rv == CKR_OK, rvToStr(rv), exit);

    body = (CK_BYTE_PTR) malloc(template[0].ulValueLen);
    template[0].pValue = body;

        /*************************************************************************
        * Получение тела сертификата в формате DER                               *
        *************************************************************************/
    rv = functionList->C_GetAttributeValue(session, cert, template, arraysize(template));
    CHECK_AND_LOG(" C_GetAttributeValue", rv == CKR_OK, rvToStr(rv), free);

        /*************************************************************************
        * Сконвертировать и распечатать буфер в формате PEM                      *
        *************************************************************************/
        GetCertAsPem(body, template[0].ulValueLen, &certPem);
        CHECK(" Get cert in PEM format", certPem != NULL, free);

        printf("nCertificate request is:n");
        printf("%sn", certPem);

    errorCode = 0;
        printf("Getting cert body has been completed successfully.n");

free_cert_pem:
        free(certPem);
free:
    free(body);
exit:
    return errorCode;
}

int set_cert_label(CK_SESSION_HANDLE session, CK_OBJECT_HANDLE cert)
{
    CK_UTF8CHAR label[] = {"GOST certificate"};

    CK_ATTRIBUTE template[] = {
        CKA_LABEL, label, sizeof(label)-1
    };

    CK_RV rv;
    int errorCode = 1;

        /*************************************************************************
        * Установка метки сертификата                                            *
        *************************************************************************/
    rv = functionList->C_SetAttributeValue(session, cert, template, arraysize(template));
    CHECK_AND_LOG(" C_SetAttributeValue", rv == CKR_OK, rvToStr(rv), exit);

    errorCode = 0;

exit:
    return errorCode;
}

Про механизмы

Мы уже ранее встречались с механизмами в примерах и дали краткое описание. Давайте теперь опишем их подробнее. Описание механизмов в PKCS#11 было вынесено в отдельный документ, с которым можно ознакомиться здесь. В этом документе написано:

A mechanism specifies precisely how a certain cryptographic process is to be performed. PKCS #11 implementations MAY use one of more mechanisms defined in this docuоment.

Отсюда следует, что механизмы:

  • Определяют некоторое криптографическое преобразование.

  • PCKS#11 может использовать механизмы, определенные в этом документе.

Более того, некоторые PKCS#11-библиотеки могут использовать и другие механизмы.

Согласно документации механизмы можно разделить на:

  • Механизмы шифрования и расшифрования (Encrypt & Decrypt);

  • Механизмы подписи и проверки подписи (Sign & Verify);

  • Механизм формирования хеша (Digest);

  • Механизм восстановления подписи по публичному ключу (Sign Recover & Verify Recovery);

  • Механизм генерации симметричных и асимметричных ключей (Gen. Key/Key Pair);

  • Экспорт и импорт ключей (Wrap & Unwrap);

  • Выработка общего ключа на основе асимметричных ключей (Derive).

Каждый механизм идентифицирует одну или несколько из этих функций. Так, например, ранее рассмотренный механизм CKM_GOSTR3410_KEY_PAIR_GEN предназначен для генерации ключей, а механизм CKM_AES_ECB может использоваться как для зашифрования/расшифрования, так и для свертки/развертки ключей.

Работа с механизмами, на примере зашифрования сообщения

Механизмы в PKCS#11 задаются через структур CK_MECHANISM. Объекты типа CK_MECHANISM в дальнейшем передаются PKCS#11-функциям для указания нужного механизма. Сама структура CK_MECHANISM состоит из трех элементов:

  1. Идентификатор механизма (mechanism);

  2. Указатель на параметры механизма (pParameter);

  3. Длина в байтах параметров механизма (ulParameterLen).

Самый простой пример параметра механизма — вектор инициализации для алгоритмов шифрования. Попробуем на примере показать, как можно зашифровать сообщение через механизм CKM_GOST28147 с указанным вектором инициализации. Пример реализован внутри функции encrypt_data:

int encrypt_data(CK_SESSION_HANDLE session, CK_OBJECT_HANDLE secretKey)
{
    /* Имитовставка */
    CK_BYTE iv[] = { 0x06, 0x07, 0x2a, 0x85, 0x03, 0x02, 0x02, 0x1f };
    /*  Механизм программного шифрования/расшифрования по алгоритму ГОСТ 28147-89 */
    CK_MECHANISM gost28147EncDecMech = {CKM_GOST28147, iv, sizeof(iv)};

    /*************************************************************************
    * Данные для шифрования                                                  *
    *************************************************************************/
    CK_BYTE data[] = { 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
                   0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08,
                   0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09,
                   0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x00 };

    CK_BYTE_PTR encrypted;                            // Указатель на временный буфер для зашифрованных данных
    CK_ULONG encryptedSize;                           // Размер временного буфера в байтах

    CK_RV rv;
    int errorCode = 1;

    /*************************************************************************
    * Инициализировать операцию шифрования                                   *
    *************************************************************************/
    rv = functionList->C_EncryptInit(session, &gost28147EncDecMech, secretKey);
    CHECK_AND_LOG(" C_EncryptInit", rv == CKR_OK, rvToStr(rv), exit);

    /*************************************************************************
    * Зашифровать данные (при шифровании с использованием механизма          *
    * CKM_GOST28147_ECB размер данных должен быть кратен 8)                  *
    *************************************************************************/
    encryptedSize = sizeof(data);

    encrypted = (CK_BYTE_PTR)malloc(encryptedSize * sizeof(CK_BYTE));
    CHECK("  Memory allocation for encrypted data", encrypted != NULL_PTR, exit);

    rv = functionList->C_Encrypt(session, data, sizeof(data), encrypted, &encryptedSize);
    CHECK_AND_LOG(" C_Encrypt", rv == CKR_OK, rvToStr(rv), free_encrypted);

    /*************************************************************************
    * Распечатать буфер, содержащий зашифрованные данные                     *
    *************************************************************************/
    printf(" Encrypted buffer is:n");
    printHex(encrypted, encryptedSize);

    printf("Encryption has been completed successfully.n");

    errorCode = 0;
free_encrypted:
    free(encrypted);
exit:
    return errorCode;
}

В этом примере стоит обратить внимание на то, как передаётся вектор инициализации механизму шифрования. Стоит заметить, что после вызова функции C_Encrypt вызывать функцию C_EncryptFinal не нужно: для многих механизмов вызов C_Encrypt эквивалентен последовательному вызову функций C_EncryptUpdate и C_EncryptFinal.

Проверка поддержки механизмов

Ранее в примерах мы всегда надеялись на то, что токен поддерживает используемые механизмы, но, вообще говоря, — это может быть не так. Так, например, Рутокен Lite не поддерживает криптографические механизмы. Поэтому перед началом работы с каким-либо механизмом желательно убедиться в том, что он поддерживается устройством. Это можно сделать с помощью функции C_GetMechanismList, которая возвращает список поддерживаемых механизмов токена. Напишем удобную обертку для проверки поддержки определенного механизма:

int mech_supports(CK_SLOT_ID slot, CK_MECHANISM_TYPE mech, int* mechIsSupported)
{
    CK_MECHANISM_TYPE_PTR mechanisms;                 // Массив поддерживаемых механизмов
    CK_ULONG mechanismCount;                          // Количество поддерживаемых механизмов

    CK_RV rv;
    int errorCode = 1;

    /*************************************************************************
    * Получить список поддерживаемых токеном механизмов                      *
    *************************************************************************/
    rv = functionList->C_GetMechanismList(slot, NULL_PTR, &mechanismCount);
    CHECK_AND_LOG(" C_GetMechanismList (number of mechanisms)", rv == CKR_OK, rvToStr(rv), exit);

    CHECK_AND_LOG(" Checking mechanisms available", mechanismCount > 0, " No mechanisms available", exit);

    mechanisms = (CK_MECHANISM_TYPE_PTR)malloc(mechanismCount * sizeof(CK_MECHANISM_TYPE));
    CHECK(" Memory allocation for mechanisms", mechanisms != NULL_PTR, exit);

    rv = functionList->C_GetMechanismList(slot, mechanisms, &mechanismCount);
    CHECK_AND_LOG(" C_GetMechanismList", rv == CKR_OK, rvToStr(rv), free_mechanisms);

    /*************************************************************************
    * Определение поддерживаемых токеном механизмов                          *
    *************************************************************************/
    for (size_t i = 0; i < mechanismCount; ++i) {
        if (mechanisms[i] == mech) {
            *mechIsSupported = 1;
            break;
        }
    }

    errorCode = 0;
    if (*mechIsSupported)
        printf("Mechanism is supportedn");
    else
        printf("Mechanism is not supportedn");

free_mechanisms:
    free(mechanisms);
exit:
}

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

Утилита pkcs11-tool

Часто бывает необходимо просто и быстро выполнить какое-либо обращение к PKCS#11-библиотеке, не прибегая к написанию кода. На помощь может прийти утилита pkcs11-tool, которая распространяется в составе пакета (opensc)[https://github.com/OpenSC/OpenSC].

Утилита pkcs11-tool может гибко выполнять огромное количество стандартных PKCS#11-операций. Например:

  • Генерация ключевых пар:
    pkcs11-tool --module /usr/lib/librtpkcs11ecp.so --keypairgen --key-type GOSTR3410-2012-256:B --id 45 -l

  • Создание сырой подписи:
    pkcs11-tool --module /usr/lib/librtpkcs11ecp.so --sign --id 45 -l -i file.txt --mechanism GOSTR3410-WITH-GOSTR3411-12-256

  • Генерация псевдослучайных последовательностей:
    pkcs11-tool --module /usr/lib/librtpkcs11ecp.so --generate-random 16

  • Получение списка объектов на токене:
    pkcs11-tool --module /usr/lib/librtpkcs11ecp.so -O

  • Получение механизмов, поддерживаемых токеном:
    pkcs11-tool --module /usr/lib/librtpkcs11ecp.so -M

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

Дополнительный материал

Если вы захотите узнать, как работать с более специфичными функциями, то большое количество примеров по работе с PKCS#11 можно найти в нашем SDK. Все примеры по работе с PKCS#11-библиотекой находятся в директории sdkpkcs11samples.

Выводы

Зачастую библиотека PKCS#11 является основным кирпичиком при написании приложений или других библиотек для работы со смарт-картами на других языках программирования. Поэтому знание основ работы с PKCS#11 на языке C может помочь разобраться с тем, как работать с обертками или как лучше реализовать архитектуру новой обертки.

Кроме PKCS#11 с объектами на смарт-картах/токенах можно работать через:

  • OpenSSL API (pkcs11 engine, rutoken engine);

  • C# для .NET Framework 4.5, .NET Standard 2.0, MonoAndroid 2.3, Xamarin.iOS 1.0 и Xamarin.Mac 2.0;

  • CryptoAPI;

  • Java c JDK 8 или новее через интерфейсы PKCS#11-wrapper и JCA;

  • C++ с использованием библиотеки pki-core;

  • JavaScript для большинства популярных браузеров с использованием Рутокен Плагин;

Если вы хотите узнать про какую-то реализацию подробнее, то напишите в комментариях и мы постараемся в ближайшее время выпустить новую статью с её разбором.

Понравилась статья? Поделить с друзьями:
  • 0x80070641 неопознанная ошибка visual c windows 10
  • 0x80070666 как исправить ошибку windows 11
  • 0x502 ошибка транспортного уровня
  • 0x80070661 как исправить ошибку windows 10
  • 0x4f7 код ошибки планировщика