КриптоПро — ALT Linux Wiki — ЭЦП Эксперт

КриптоПро — ALT Linux Wiki - ЭЦП Эксперт ЭЦП
Содержание
  1. Что такое «рутокен»
  2. Введение
  3. Основные моменты работы с «рутокеном эцп 2.0»
  4. Ru1038 — база знаний — сервер документации рутокен
  5. Возможные проблемы с эцп на «рутокене»
  6. Импорт персонального сертификата[править]
  7. Инструменты криптопро — кроссплатформенный графический интерфейс (cptools)[править]
  8. Как в программе «криптопро csp» удалить контейнер закрытого ключа с носителя?
  9. Как скопировать эцп на флешку
  10. Как установить сертификат эцп
  11. Когда сертификаты лучше не удалять
  12. Копирование эп из реестра
  13. Криптопро csp ошибка 0x80090010 отказано в доступе
  14. Криптопро эцп browser plug-in[править]
  15. Массовый перенос ключей и сертификатов cryptopro с компьютера на компьютер
  16. Можно ли восстановить ранее удаленный сертификат
  17. Настройка оборудования[править]
  18. Особенности работы с токенами[править]
  19. Ошибка копирования контейнера
  20. Перенос контейнера с flash-носителя в локальное хранилище пк
  21. Подлежит ли сертификат в дальнейшем восстановлению
  22. Прерванное удаление «криптопро»
  23. Проверка срока действия «рутокена эцп 2.0»
  24. Проверка цепочки сертификатов[править]
  25. Прописывание путей к исполняемым файлам[править]
  26. Просмотр сертификатов[править]
  27. Создание и проверка эцп в gost-crypto-gui[править]
  28. Создание и проверка эцп с использованием cptools[править]
  29. Создание контейнера[править]
  30. Создание подписи[править]
  31. Сравнение с «рутокеном s»
  32. Удаление «криптопро» с очисткой следов установки
  33. Удаление контейнеров и сертификатов
  34. Удаление сертификата эцп в linux-дистрибутивах
  35. Удаление средствами программы «криптопро»
  36. Удаление эцп с токена
  37. Управление считывателями[править]
  38. Установка корневых сертификатов
  39. Установка криптопро csp[править]
  40. Установка личных сертификатов
  41. Установка сертификата эцп с «рутокеном»
  42. Установка эцп с флешки на компьютер
  43. Экспорт контейнера и сертификата на другую машину[править]
  44. Экспорт сертификатов на другую машину[править]

Что такое «рутокен»

Термин Rutoken состоит из 2 частей:

  • Ru – сокращение от Russian (российский);
  • token – слово из английского языка, означающее «жетон».

«Рутокен» – зарегистрированная торговая марка, под которой выпускают программные и аппаратные средства криптографической защиты информации (СКЗИ). Производителем является отечественная компания «Актив». Вся продукция имеет сертификаты от ФСБ и Федеральной службы по техническому и экспортному контролю (ФСТЭК).

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

От простых флеш-накопителей и карт памяти они отличаются наличием чипа, выполняющего следующие функции:

  • ограничивающего доступ к записанным сведениям (нужно ввести ПИН-код);
  • осуществляющего криптошифрование данных в обход ресурсов компьютера, что повышает безопасность.

Введение

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

  1. Перенести или скопировать контейнер закрытого ключа через стандартную оснастку CryptoPro в панели управления. Это самый простой и быстрый способ, если у вас не много сертификатов и ключей. Если же их несколько десятков, а это не такая уж и редкость, то такой путь вам не подходит.
  2. Скопировать сертификаты и ключи непосредственно через перенос самих исходных файлов и данных, где все это хранится. Объем работы одинаков и для 5 и для 50-ти сертификатов, но требуется больше усилий и знаний.

Я опишу оба этих способа, но подробно остановлюсь именно на втором способе. В некоторых ситуациях он является единственно возможным.

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

Основные моменты работы с «рутокеном эцп 2.0»

Главные функции устройства – хранение и применение электронной подписи.

Она состоит из таких элементов:

  1. Личного (секретного) и открытого ключей. Первый хранится у пользователя, передавать его другим лицам нельзя. Второй позволяет проверить подлинность подписи, передается по открытым каналам.
  2. Сертификата (удостоверения). Он привязывает к открытому коду данные владельца, что исключает его перехват злоумышленниками для последующего использования в личных целях.

Заверение документа электронной подписью дает такой результат:

  • отправитель подтверждает свое авторство;
  • внесение изменений невозможно.

ЭЦП выдают удостоверяющие центры.

Чтобы ее применить, нужно установить на компьютер специальную программу. В случае с «Рутокеном» это «КриптоПро CSP».

Ru1038 — база знаний — сервер документации рутокен

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

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

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

§

§

Возможные проблемы с эцп на «рутокене»

Программа «КриптоПро» может не увидеть на «Рутокене» или ином носителе файлы закрытого ключа (он имеет расширение *.key). Это значит, что их записали в корневой каталог или во вложенную папку. Чтобы исправить ошибку, переместите файлы в папку первого уровня.

Если при попытке воспользоваться подписью появляется сообщение «На носителе Рутокен ЭЦП не найдено ни одного сертификата», причиной могут быть:

  • некорректная работа драйвера;
  • повреждение токена;
  • сбой в программной части ПК.

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

Импорт персонального сертификата[править]

Вы можете импортировать собственный сертификат в локальный считыватель HDIMAGE.

Если у вас нет сертификата, самое время его создать:

Допустим, мы пошли по первому пути и создали сертификат web-server (делать это строго под правами root):

Сертификат по умолчанию будет лежать в /var/lib/ssl/certs/web-server.cert, а ключ ­— в /var/lib/ssl/private/web-server.key

Для импорта потребуется файл сертификата и закрытый ключ в контейнере PKCS#12.

Создадим для нашего ключа и сертификата необходимый контейнер:

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

Проверка созданного контейнера (при запросе введите пароль, введённый в предыдущей команде):

И сертификат и ключ попали в контейнер.

После генерации сертификата проверим наличие считывателя:

Для импорта сертификата в КриптоПро используйте программу certmgr. В нашем случае:

Если Вам необходимо импортировать сертификат с токена:

Если контейнер защищен паролем используйте ключ -pin <пароль>

Инструменты криптопро — кроссплатформенный графический интерфейс (cptools)[править]

В версии КриптоПРО 5 появилась графическая утилита для работы с сертификатами — cptools.Для использования cptools необходимо установить пакет cprocsp-cptools-gtk из скачанного архива:

После этого её можно запустить из консоли:

С её помощью можно установить сертификат из токена в хранилище uMy:
CryptoPro5-cptools-import-cert.png

Как в программе «криптопро csp» удалить контейнер закрытого ключа с носителя?

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

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

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

Восемь шагов для удаления контейнера закрытого ключа с носителя

  1. Запустите программу КриптоПро CSP.
  2. После запуска перейдите на вкладку «Сервис».
  3. Нажмите на кнопку «Удалить».

КриптоПро — ALT Linux Wiki

  1. Из имеющихся контейнеров на носителе нужно выбрать тот, который вы хотите удалить. Нажмите на кнопку «Обзор», чтобы посмотреть все контейнеры.

КриптоПро — ALT Linux Wiki

  1. Выберите контейнер и нажмите на кнопку «ОК».

Будьте аккуратны — не удалите случайно контейнер, который вы еще планируете использовать.

КриптоПро — ALT Linux Wiki

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

КриптоПро — ALT Linux Wiki

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

КриптоПро — ALT Linux Wiki

Отлично! Вы успешно завершили операцию по удалению контейнера закрытого ключа. Теперь на вашем носителе больше места.

Как скопировать эцп на флешку

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

Порядок действий:

  1. Вставляют оба USB-устройства в компьютер.
  2. Открывают «КриптоПро» и переходят во вкладку «Сервис».
  3. Последовательно нажимают кнопки «Скопировать» и «Обзор». В открывшемся диалоговом окне указывают путь к сертификату.
  4. Вводят пароль и название копии.
  5. Несколько раз нажав кнопку «Далее» и затем «Готово», выбирают в открывшемся окне флеш-карту.
  6. Задают пароль для копии.

Если подписывать документы приходится часто, делать это с помощью токена или флеш-карты становится неудобно. ЭП копируют в реестр Windows.

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

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

Как установить сертификат эцп

Есть несколько способов установки сертификата.

В первом случае поступают так:

  1. Нажимают «Пуск» – «Панель управления» – «Панель управления Rutoken».
  2. Переходят во вкладку «Сертификаты».
  3. Напротив нужной записи устанавливают флажок «Зарегистрирован». Удостоверение появляется в хранилище «Личное» на ПК. Инсталляция завершена.
  4. Чтобы удалить удостоверение, снимают галочку.

Перед тем как установить сертификат ЭЦП на компьютер этим способом, убедитесь, что он имеется в контейнере на «Рутокене», иначе в «Панели управления» отобразится пустая ключевая пара без удостоверения.

Когда сертификаты лучше не удалять

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

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

Правительство регулирует сроки хранения некоторых бухгалтерских, кадровых и налоговых документов. Например, договоры, счета-фактуры и налоговые декларации нужно хранить пять лет. Если эти документы электронные, то вместе с ними нужно хранить и сертификат ЭП, которым они подписаны.

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

Копирование эп из реестра

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

Адрес нужной ветки зависит от разрядности Windows:

Порядок действий:

  1. Находят папку по указанному адресу и кликают по ней правой кнопкой.
  2. В открывшемся контекстном меню выбирают пункт «Экспортировать».
  3. Набирают имя файла и кликают по надписи «Сохранить».
  4. Стандартным способом копируют полученный файл с расширением *.reg на винчестер.
  5. Открывают его приложением «Блокнот».
  6. В третьей строчке находят SID пользователя Windows (идентификатор безопасности) и меняют его на нужный.
  7. Если производится перенос из 32-разрядной Windows в 64-битную, после Software вписывают Wow6432Node.
  8. Сохраняют изменения и закрывают «Блокнот».
  9. Кликают правой кнопкой по файлу реестра и выбирают в контекстном меню «Слияние».

В результате данные о контейнере попадают в реестр.

Пользователю остается установить личный сертификат с помощью программы «КриптоПро CSP» вручную.

Криптопро csp ошибка 0x80090010 отказано в доступе

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

Ошибка обращения к контейнеру закрытого ключа. Ошибка 0x80090010: Отказано в доступе. Связано это с тем, что у текущего пользователя, под которым вы хотите получить доступ к контейнеру, нет полных прав на ветку реестра с хранящимися ключами. Исправить это просто. Переходите в редактор реестра и выставляйте полные права к ветке Keys для текущего пользователя.

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

Криптопро эцп browser plug-in[править]

Внимание! Последняя доступная версия плагина КриптоПро ЭЦП Browser plug-in 2.0 требует КриптоПро 4.0. С более ранними версиями КриптоПро плагин не работает и конфликтует.

КриптоПро ЭЦП Browser plug-in предназначен для создания и проверки электронной подписи (ЭП) на веб-страницах с использованием СКЗИ «КриптоПро CSP».

Плагин проверки ЭЦП для браузера требует установленного КриптоПро CSP, пакета cprocsp-rdr-gui-gtk из его комплекта и расширения для браузера CryptoPro Extension for CAdES Browser Plug-in (для работы в Firefox версии 52 и выше).

Для установки плагина:

Массовый перенос ключей и сертификатов cryptopro с компьютера на компьютер

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

Можно ли восстановить ранее удаленный сертификат

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

Если же пользователь случайно удалил сертификат, который ему нужен, то потребуется его повторно установить в систему или добавить из USB­-рутокена через КриптоПРО CSP. Это же касается и корневых сертификатов удостоверяющих центров (но их получить гораздо проще – они находятся в открытом доступе).

Итого, удалить сертификат электронной подписи из системы достаточно просто. Ни секретного пароля, ни рутокена при этом не понадобится – достаточно обладать правами администратора (пользователи из группы «Гость» не смогут получить доступ к настройкам браузера Internet Explorer или мастера работы с сертификатами).

Настройка оборудования[править]

Настройка устройств хранения (носителей) и считывания (считывателей) ключевой информации и датчиков случайных чисел.

Считыватели (readers) — устройства, предназначенные для чтения ключей. К считывателям относится считыватели дискет (FAT12), считыватели флеш-накопителей (FLASH), считыватели смарт-карт и токенов, считыватель образа дискеты на жестком диске (HDIMAGE) и др.

Ключевые носители (media) являются местом хранения электронной подписи. В качестве носителя ключевой информации могут использоваться: защищенный флэш-накопитель (токен) (Рутокен, JaCarta, ESMART и др.), смарт-карта, флэш-накопитель, дискета.

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

Встроенный в «КриптоПро CSP» датчик случайных чисел (далее ДСЧ) используется для генерации ключей.

Для смарт-карт: ключи дополнительно защищаются кодом доступа к защищенной памяти смарт-карты (PIN). При всех операциях с защищенной памятью (чтение, запись, удаление…) требуется вводить PIN.Для других носителей: для повышения безопасности на контейнер можно установить пароль.

Особенности работы с токенами[править]

При входе в ЕСИА с помощью Rutoken S не находится приватная часть ключа. В журнале ifc появляется строка:

IFC:do_work_sign_cms:ERROR:get_priv_key_by_id error:ifc_sign_cms.c:110

Для этого надо перенести приватный ключ в локальное хранилище и задействовать его:

для AltLinux9.2 КриптоПро5 Rutoken S – если cptools не читает ключ.

Добавить группу, если в журнале ошибки по отсутствию групп

добавить в файл

строку

И закоментировать в файле

строку

После внесения изменений перезагрузить службу

Ошибка копирования контейнера

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

Ошибка копирования контейнера. У вас нет разрешений на экспорт ключа, потому что при создании ключа не был установлен соответствующий флаг. Ошибка 0x8009000B (-2146893813) Ключ не может быть использован в указанном состоянии. Либо вы просто не сможете его выбрать для копирования, если у вас последняя версия CryptoPro. Он будет неактивен:

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

Выбираем необходимый сертификат и нажимаем Посмотреть свойства сертификата.

Далее переходим на вкладку Состав в информации о сертификате и нажимаем Копировать в файл.

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

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

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

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

Вам достаточно перенести эти 2 файла на другой компьютер и кликнуть по каждому 2 раза мышкой. Откроется мастер по установке сертификатов. Вам нужно будет выбрать все параметры по умолчанию и понажимать Далее. Сертификат и контейнер закрытого ключа к нему будут перенесены на другой компьютер.

Перенос контейнера с flash-носителя в локальное хранилище пк

1. Активируем хранилище HDIMAGE:

cpconfig -hardware reader -add HDIMAGE store 

Adding new reader:
Nick name: HDIMAGE
Succeeded, code:0x0

2. Посмотрим, какие контейнеры доступны на флешке:

csptest -keyset -enum_cont -fqcn -verifyc 

CSP (Type:80) v4.0.9019 KC1 Release Ver:4.0.9963 OS:Linux CPU:AMD64 FastCode:READY:AVX.
AcquireContext: OK. HCRYPTPROV: 32114099
.FLASHbob
OK.
Total: SYS: 0,020 sec USR: 0,080 sec UTC: 0,190 sec
[ErrorCode: 0x00000000]

Подлежит ли сертификат в дальнейшем восстановлению

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

Следует обратить внимание на получение соответствующих прав при работе с ЭЦП – для удаления достаточно иметь статус «Пользователя», а для установки потребуются полномочия «Администратора».

Прерванное удаление «криптопро»

Удаление файлов через оснастку Windows «Программы» или установочный диск может быть прервано вследствие аппаратного или программного сбоя. В такой ситуации возможно сохранение на компьютере части секретной информации. Для ее полного удаления следует воспользоваться специальной утилитой cspclean.exe:

  • запустить файл cspclean.exe;
  • перезагрузить компьютер;
  • выполнить повторный запуск.

Если на компьютере остаются работающие компоненты программ «КриптоПро» или «КриптоАРМ» – тогда следует отказаться от использования этого сервиса и выбрать другой метод очистки.

Проверка срока действия «рутокена эцп 2.0»

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

  1. В программе «КриптоПро CSP» во вкладке «Сервис» щелкают по кнопке «Посмотреть сертификаты в контейнере».
  2. С помощью функции «Обзор» находят нужную запись.
  3. Последовательно нажимают кнопки «ОК» и «Далее».

Отображается окно с информацией об ЭП, в т.ч. сроке ее действия.

Другой способ предусматривает использование браузера Internet Explorer:

  1. Переходят в раздел «Сервис» (см. изображение шестерни справа вверху).
  2. Выбирают пункт «Свойства браузера» и в нем – «Содержание».
  3. Кликают по кнопке «Сертификаты».
  4. Во вкладке «Личные» находят нужное удостоверение.

Рядом отображается срок его действия.

Проверка цепочки сертификатов[править]

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

Таблица 4. Сертификаты популярных удостоверяющих центров.

Для проверки можно скопировать персональный сертификат в файл:

cryptcp -copycert -dn "CN=Иванов Иван Иванович" -df  tt.cer
CryptCP 5.0 (c) "КРИПТО-ПРО", 2002-2022.
Утилита командной строки для подписи и шифрования файлов.

Будет использован следующий сертификат:
Субъект:11223344556, 102301111222, Пр-т Победы 14 кв.3, 39 Калининградская обл., Калининград, RU, ivanov@mail.mail, Иван Иванович, Иванов, Иванов Иван Иванович
Действителен с 21.02.2022 13:16:38 по 21.05.2022 13:26:38

Цепочки сертификатов проверены.
Копирование сертификатов завершено.
[ErrorCode: 0x00000000]

Из вывода следует, что все сертификаты есть в цепочке сертификатов.

Если же команда возвращает «Цепочка сертификатов не проверена для следующего сертификата:» или другую ошибку:

(нажмите C и Enter, чтобы выйти).

Можно запустить вышеуказанную команду с отладкой цепочки:

То есть нам надо установить сертификат УЦ с CN=uc skb kontur (root):

После этого:

Всё в порядке и сертификат виден в плагине Cades.

Прописывание путей к исполняемым файлам[править]

Утилиты КриптоПро расположены в директориях /opt/cprocsp/sbin/<название_архитектуры> и /opt/cprocsp/bin/<название_архитектуры>.

Чтобы каждый раз не вводить полный путь к утилитам КриптоПро:

  • после установки пакета cryptopro-preinstall начните новый сеанс пользователя в консоли;

Примечание: Не работает для суперпользователя.

или

  • выполните от имени пользователя, который будет запускать команды (будет действовать до закрытия терминала):

Внимание! Если установлен пакет mono или mono4-devel, может быть конфликт по имени утилиты certmgr

Просмотр сертификатов[править]

Для просмотра установленных сертификатов можно воспользоваться командой:

$ certmgr -list 
Certmgr 1.1 (c) "Crypto-Pro",  2007-2022.
program for managing certificates, CRLs and stores

=============================================================================
1-------
Issuer              : E=support@cryptopro.ru, C=RU, L=Moscow, O=CRYPTO-PRO LLC, CN=CRYPTO-PRO Test Center 2
Subject             : CN=Test User5, E=cas@altlinux.org
Serial              : 0x120012447FA7E652B76808CD7900000012447F
SHA1 Hash           : 0xcb8e7ca68bea0ffbbd84c326d565de68cd8a15f5
SubjKeyID           : 6f7507353601d6d943f1406aae60c21ab65190e0
Signature Algorithm : ГОСТ Р 34.11/34.10-2001
PublicKey Algorithm : ГОСТ Р 34.10-2001 (512 bits)
Not valid before    : 18/12/2022  13:41:38 UTC
Not valid after     : 18/03/2022  13:51:38 UTC
PrivateKey Link     : Yes                 
Container           : HDIMAGEtest.0002EF8
Provider Name       : Crypto-Pro GOST R 34.10-2001 KC1 CSP
Provider Info       : ProvType: 75, KeySpec: 1, Flags: 0x0
CA cert URL         : http://testca.cryptopro.ru/CertEnroll/test-ca-2022_CRYPTO-PRO Test Center 2.crt
OCSP URL            : http://testca.cryptopro.ru/ocsp/ocsp.srf
CDP                 : http://testca.cryptopro.ru/CertEnroll/CRYPTO-PRO Test Center 2.crl
Extended Key Usage  : 1.3.6.1.5.5.7.3.4
                      1.3.6.1.5.5.7.3.2
=============================================================================

[ErrorCode: 0x00000000]

Просмотр сертификатов в локальном хранилище uMy:

Просмотр сертификатов в контейнере:

Просмотр корневых сертификатов:

Создание и проверка эцп в gost-crypto-gui[править]

gost-crypto-gui — средство для создания электронной подписи и шифрования файлов.

Установить пакет gost-crypto-gui из репозитория можно, выполнив команду:

Запустить программу можно:

С её помощью можно подписывать и проверять подписи файлов:

Для создания электронной подписи файла необходимо:

  1. Нажать кнопку «Подписать файл(ы)».
  2. Выбрать файл, который необходимо подписать.
  3. Выбрать сертификат и нажать кнопку «Далее»:
    Выбор сертификата
  4. Ввести пароль на контейнер (если он был установлен):
    Пароль на контейнер
  5. Появится сообщение о подписанном файле:
    Информация о подписанном файле

Опции ЭП настраиваются в меню «Опции» (параметр «Отсоединенная подпись» не работает???):

Для проверки электронной подписи следует:

  1. Нажать кнопку «Проверить подпись».
  2. Выбрать подписанный файл.
  3. Появится информация о сертификате подписи:
    Проверка электронной подписи

Создание и проверка эцп с использованием cptools[править]

Примечание: cptools доступна версии КриптоПро 5.

Запустить программу можно из консоли (должен быть установлен cprocsp-cptools-gtk из скачанного архива КриптоПро):

С помощью cptools можно подписывать и проверять подписи файлов.

Для создания электронной подписи файла необходимо:

  1. В левом меню выбрать пункт «Создание подписи».
  2. Выбрать файл, который необходимо подписать, нажав кнопку «Выбрать файл для подписи» (или ввести адрес файла в текстовое поле под кнопкой «Выбрать файл для подписи»).
  3. Изменить имя файла подписи, если оно вас не устраивает:
    Создание подписи в КриптоПро CSP
  4. Нажать кнопку «Подписать».
  5. Ввести пароль на контейнер (если он был установлен).
  6. Появится сообщение о подписанном файле: «Создание подписи завершилось успехом».

Для проверки электронной подписи следует:

  1. В левом меню выбрать пункт «Проверка подписи».
  2. Выбрать файл с подписью, нажав кнопку «Выбрать файл с подписью для проверки» (или ввести адрес файла в текстовое поле под этой кнопкой).
  3. Нажать кнопку «Проверить подпись».
  4. Появится информация о результате проверки:
    Проверка подписи в КриптоПро CSP

Информацию о создании и проверки ЭЦП на веб-сайтах с помощью плагина КриптоПро можно найти вруководстве разработчика КриптоПро ЭЦП Browser plug-in:

Создание контейнера[править]

Примечание: Для того, чтобы сертификат из контейнера можно было использовать через модуль pkcs11 (из пакета lsb-cprocsp-pkcs11) в браузере firefox-gost, необходимо создать его с -provtype 75 (поддержка ГОСТ-2001).

Внимание! C 1 января 2022 г. по указанию ФСБ РФ и Минкомсвязи всем аккредитованным УЦ запрещен выпуск сертификатов ЭП по ГОСТ 2001.Ключи и запрос на сертификат необходимо формировать ГОСТ 2022.

Создадим контейнер с именем «test» в локальном считывателе HDIMAGE.

При установленном пакете cprocsp-rdr-gui-gtk будет показано графическое окно, где будет предложено перемещать указатель мыши или нажимать клавиши:

Примечание: Если такой пакет не установлен, будет предложено ввести любые символы с клавиатуры.

После этого будет предложено указать пароль на контейнер (можно указать пустой, тогда пароль запрашиваться не будет):

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

Вывод команды:

CSP (Type:75) v4.0.9006 KC1 Release Ver:4.0.9708 OS:Linux CPU:AMD64 FastCode:READY:AVX.
AcquireContext: OK. HCRYPTPROV: 6679219
GetProvParam(PP_NAME): Crypto-Pro GOST R 34.10-2001 KC1 CSP
Container name: "test"
Signature key is not available.
Attempting to create a signature key...
a signature key created.
Exchange key is not available.
Attempting to create an exchange key...
an exchange key created.
Keys in container:
  signature key
  exchange key
Extensions:
  OID: 1.2.643.2.2.37.3.9

  OID: 1.2.643.2.2.37.3.10
Total: SYS: 0,030 sec USR: 0,160 sec UTC: 22,910 sec
[ErrorCode: 0x00000000]

Локальный контейнер создан.

В КриптоПро 5 появилась возможность интерактивно выбирать носитель и тип создаваемого контейнера. Теперь можно создавать неизвлекаемые контейнеры. Для этого необходимо выполнить команду, где testinside_2022 — имя контейнера:

Откроется окно выбора носителя и способа создания контейнера. Для некоторых носителей нет возможности выбрать способ создания контейнера (Рутокен S, JaCarta PKI):

Для некоторых носителей можно выбрать способ создания контейнера (Рутокен ЭЦП, JaCarta-2 PKI/ГОСТ).
Создание неизвлекаемого контейнера:
Создание неизвлекаемого контейнера
Создание обычного контейнера:
Создание обычного контейнера

Создание подписи[править]

Для создания электронной подписи файла необходимо указать сертификат и имя подписываемого файла.

Для создания прикрепленной (attached) электронной подписи выполните команду:

Примечание: Проще всего для указания сертификата использовать адрес e-mail.

где

На выходе появится файл zayavlenie.pdf.sig, содержащий как сам подписываемый файл, так и электронную подпись.

Для создания открепленной (detached) подписи необходимо заменить ключ -sign на -signf:

Тогда рядом с оригинальным файлом будет лежать файл подписи — zayavlenie.pdf.sgn.

Сравнение с «рутокеном s»

«Рутокен С» – это еще одна серия носителей от компании «Актив». Отличие от рассматриваемой линейки состоит в том, что для работы с устройством нужно устанавливать драйвер. «Рутокен ЭЦП 2.0» в этом не нуждается: носители данного типа используют штатный модуль CCID ОС Windows Vista и более новых версий. На старые операционные системы, например Windows XP, расширение CCID устанавливают отдельно.

«Рутокен С» – самая надежная и дорогая разновидность токенов и смарт-карт. Носители отвечают наиболее строгим критериям безопасности, установленным стандартами РФ, и в основном используются в государственных корпорациях.

Сфера применения «Рутокена ЭЦП 2.0» – цифровые системы оборота документов, удаленный банкинг, ЕГАИС.

Удаление «криптопро» с очисткой следов установки

Устранение всех следов пребывания программы на компьютере осуществляется в 3 этапа:

  • удаление приложения;
  • очистка реестра утилитой Ccleaner;
  • устранение остаточных следов установки «КриптоПро».

Порядок действий:

  • клавишами Win R вызывается командный интерпретатор;
  • запускается appwiz.cpl;
  • отмечается галочкой отказ от повторного вывода этого окна;
  • находится нужная версия «КриптоПро CSP» и дается команда удалить ее;
  • производится перезагрузка компьютера, система выдаст сообщение о необходимости этой операции;
  • далее из командной строки вызывается утилита Ccleaner и галочкой отмечается пункт «Очистка»;
  • после выполнения задания выделяются галочкой «Реестр» и «Поиск проблем»;
  • на экран будет выведен список параметров, оставшихся в реестре;
  • они удаляются нажатием кнопки «Исправить выбранное»;
  • последние 2 действия Ccleaner повторяются до полной деинсталляции файлов;
  • в завершение очищается кеш установки, для этого делаются видимыми скрытые каталоги и удаляется папка «C:ProgramDataCryptoPRO».

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

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

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

Порядок удаления ключа описан далее.

Для работы с сертификатами используется утилита cert_mgr.

·       Вывод списка сертификатов:

cert_mgr show

Found 2 certificates. No CRLs found.

1 Status: trusted C=RU,L=Moscow,O=S-Terra CSP,OU=Research,CN=CA-W2008SP1-X64-CA

2 Status: local   C=RU,OU=Research,CN=GW1

·       Вывод пути до контейнера, относящегося к сертификату:

cert_mgr show -i 2 | grep “container”

  Private key container name: ‘.HDIMAGEHDIMAGEvpn5493fd98’

где -i 2 – номер сертификата.

·       Удаление сертификата:

cert_mgr remove –i 2

2 OK   C=RU,OU=Research,CN=GW1

где -i 2 – номер сертификата.

Описание работы утилиты cert_mgr представлено в документации на ПК «С-Терра Шлюз 4.1» (документ «Специализированные команды»).

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

·       cont_mgr, если используется криптобиблиотека, разработанная компанией «С-Терра СиЭсПи»,

·       csptest, если используется СКЗИ  «КриптоПро CSP».

Утилита cont_mgr

·       Вывод списка контейнеров:

cont_mgr show

file://ContName1

·       Удаление контейнера:

cont_mgr delete -cont file://ContName1 -PIN 1234

где:

-cont file://ContName1 – путь до контейнера.

-PIN 1234 – пароль для доступа к контейнеру.

Описание работы утилиты cont_mgr представлено в документации на ПК «С-Терра Шлюз 4.1» (документ  «Специализированные команды»).

Утилита csptest размещена в каталоге /opt/cprocsp/bin/ia32/ или /opt/cprocsp/bin/amd64/, в зависимости от разрядности операционной системы.

·       Описание возможных ключей утилиты csptest можно вызвать, запустив утилиту с ключом –help:

./csptest –help

./csptest -keyset –help

·       Вывод списка контейнеров:

./csptest -keyset -machinekeyset -verifycontext -enum_containers -fqcn –unique

CSP (Type:75) v3.9.8000 KC1 Release Ver:3.9.8212 OS:Linux CPU:AMD64 FastCode:READY:AVX.

AcquireContext: OK. HCRYPTPROV: 30670563

.HDIMAGEHDIMAGEvpn5493fd98                |.HDIMAGEHDIMAGEvpn5493fd98

OK.

Total:

[ErrorCode: 0x00000000]

·       Удаление контейнера:

./csptest -keyset -machinekeyset -deletekeyset -container ‘.HDIMAGEHDIMAGEvpn5493fd98’ -password pass

CSP (Type:75) v3.9.8000 KC1 Release Ver:3.9.8212 OS:Linux CPU:AMD64 FastCode:READY:AVX.

Container .HDIMAGEHDIMAGEvpn5493fd98 deleted.

Total:

[ErrorCode: 0x00000000]

где:

-container ‘.HDIMAGEHDIMAGEvpn5493fd98’ – путь до контейнера.

-password pass – пароль для доступа к контейнеру.

Удаление сертификата эцп в linux-дистрибутивах

Блок вниманияВ Linux-дистрибутивах используется множество программ для работы с персональными сертификатами. Самая распространенная среди таковых – Mono. Данная программа по сути представляет аналог менеджера сертификата из Windows, однако большая часть функций выполняются через терминал.

Самый простой вариант как удалить ЭЦП с компьютера следующий:

  • запустить терминал, ввести команду certmgr –list;
  • изучить список всех установленных сертификатов (в общем списке отображаются абсолютно все, а не только по ЭЦП);
  • ввести команду certmgr -del -c -m 11111.cer, где вместо 11111.cer будет указано имя того сертификата, от которого необходимо избавиться.

С помощью других менеджеров принцип удаления сертификатов ЭЦП будет схожим, но могут отличаться команды, вводимые в терминал – следует с ними ознакомиться заблаговременно (через команду help).

Удаление средствами программы «криптопро»

Приложение «КриптоПро CSP» предоставляет все возможности для работы с ЭЦП. Оно устанавливает, стирает, копирует и скрывает файлы сертификатов и ключей. Удаление просроченных и ненужных файлов с расширением “.key” требует выполнения следующих действий:

  • запустить приложение «КриптоПро»;
  • перейти на вкладку «Сервис» в окне программы;
  • развернуть список ключей ЭЦП;
  • отметить нужную запись;
  • нажать на «Удалить» либо «Удалить контейнер» (определяется версией ПО);
  • подтвердить действие.

Преимуществом этого способа является то, что «КриптоПро» удаляет каждую запись по отдельности либо сразу все вместе с корневым сертификатом УЦ.

Удаление эцп с токена

Процесс удаления сертификата электронной подписи для Рутокена и eToken различается. Чтобы удалить сертификат с Рутокена ЭЦП нужно:

  • Запустить программу КриптоПро.
  • Перейти в раздел «Сервис».
  • Нажать «Удалить».
  • Нажать «Обзор» для открытия нового окна со списком действующих сертификатов.
  • Выбрать контейнер, который необходимо удалить и нажать «Ок».
  • Завершить удаление нажатием «Да».

С носителя eToken сертификат удаляется следующим образом:

  • Запуск приложения «eToken Properties».
  • Установка напротив «Сертификаты пользователя» значка « ».
  • Выбор из списка сертификатов нужного для удаления.
  • Нажатие «Удалить сертификат».

После этого система выдаст подтверждение об успешном окончании процесса.

Управление считывателями[править]

Просмотр доступных (настроенных) считывателей:

Либо:

Инициализация считывателя HDIMAGE, если его нет в списке доступных считывателей (под правами root):

Считыватель HDIMAGE размещается на /var/opt/cprocsp/keys/<имя пользователя>/.

Для работы со считывателем PC/SC требуется пакет cprocsp-rdr-pcsc. После подключения считывателя можно просмотреть список видимых считывателей (не зависимо от того, настроены ли они в КриптоПро как считыватели, зависит только от того, какие установлены драйверы для считывателей):

Инициализация считывателя Aktiv Co. Rutoken S 00 00 (требуется, если считыватель есть в списке видимых считывателей и отсутствует в списке настроенных), в параметре -add указывается имя, которое было получено при просмотре видимых считывателей, в параметре -name — удобное для обращения к считывателю имя, например, Rutoken (под правами root):

Современные аппаратные и программно-аппаратные хранилища ключей, такие как Рутокен ЭЦП или eSmart ГОСТ, поддерживаются через интерфейс PCSC. За реализацию этого интерфейса отвечает служба pcscd, которую необходимо запустить перед началом работы с соответствующими устройствами:

Можно включить службу pcscd в автозапуск при загрузке системы:

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

При установке корневых сертификатов достаточно указать хранилище uRoot. При указании mRoot (при наличии прав администратора) корневой сертификат будет доступен всем пользователям системы.

1. Установка в хранилище КриптоПро:

certmgr -inst -store uRoot -file <название-файла>.cer

2. Установка в хранилище ПК:

certmgr -inst -store mRoot -file <название-файла>cer

3. Установка списка отозванных сертификатов crl:

certmgr -inst -crl -file <название-файла>.crl

Установка криптопро csp[править]

Архив с программным обеспечением (КриптоПро CSP 4.0 R4 — сертифицированная версия, КриптоПро CSP 5.0 — несертифицированная) можно загрузить после предварительной регистрации:

  • linux-ia32.tgz (19,3 МБ, для i586) — для 32-разрядных систем (x86, rpm);
  • linux-amd64.tgz (20,1 МБ, для x86_64) — для 64-разрядных систем (x64, rpm).

Внимание! По умолчанию при скачивании с сайта КриптоПро выдаётся лицензия на три месяца

1. Установите пакет cryptopro-preinstall:

Этот пакет установит все требуемое для КриптоПро (включая инфраструктуру поддержки карт Рутокен S и Рутокен ЭЦП).

Примечание: Пакет cryptopro-preinstall вытягивает зависимости libpangox-compat, opensc, pcsc-lite, pcsc-lite-rutokens, pcsc-lite-ccid, newt52.

2. Распакуйте архив, скачанный с официального сайта КриптоПро:

Таблица 1. Описание необходимых пакетов КриптоПро.

3. Установите пакеты КриптоПро:

Примечание: Для 32-битной версии вместо последнего пакета — lsb-cprocsp-rdr-4*

Примечание: Если возникнут проблемы с отображением контейнеров на Рутокен S — удалите pcsc-lite-openct

Примечание: Для установки cprocsp-rdr-jacarta может понадобиться предварительно удалить openct.

Также можно выполнить установку КриптоПро, запустив ./install_gui.sh в распакованном каталоге и выбрав необходимые модули:

Установка пакетов КриптоПроПримечания:

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

Для обновления КриптоПро необходимо:

  1. Запомнить текущую конфигурацию:
  2. Удалить штатными средствами ОС все пакеты КриптоПро:
  3. Установить аналогичные новые пакеты КриптоПро.
  4. При необходимости внести изменения в настройки (можно просмотреть diff старого и нового /etc/opt/cprocsp/config[64].ini).
  5. Ключи и сертификаты сохраняются автоматически.

Установка личных сертификатов

1. Установка сертификата без привязки к ключам:

certmgr -inst -file cert_bob.cer

2. Установка личного сертификата cert_bob.cer, сертификат при этом попадает в пользовательское хранилище uMy. Приватный ключ находится на флешке.

certmgr -inst -file cert_bob.cer -store uMy -cont '.FLASHbob'

в команде указывается сертификат cert_bob.cer, который ассоциируется с приватным контейнером .FLASHbob’

3. Установка сертификата с токена (в конце команды указывается контейнер)

/opt/cprocsp/bin/amd64/certmgr -inst -store uMy -cont '.Aladdin R.D. JaCarta 00 008df47e71-18ae-49c1-8738-9b4b0944dcd4'

Установка сертификата эцп с «рутокеном»

Инсталлировать удостоверение можно и через команду «Посмотреть сертификаты в контейнере» во вкладке «Сервис» программы «КриптоПро».

После ее запуска делают следующее:

  1. Щелкают по кнопке «Обзор» и указывают путь к сертификату.
  2. Выбирают пункты «Далее» – «Установить» или «Свойства» – «Установить сертификат» (зависит от версии «КриптоПро CSP»).
  3. Последовательно жмут на надписи «Далее» и «Готово».

Перед тем как скопировать ЭЦП этим способом, убедитесь в наличии контейнера с сертификатом на токене, иначе «КриптоПро CSP» выдаст сообщение об отсутствии открытого ключа в контейнере закрытого кода.

Установка эцп с флешки на компьютер

Инсталляцию подписи с флеш-накопителя производят так:

  1. Вставляют устройство в USB-разъем ПК.
  2. Запускают программу «КриптоПро CSP».
  3. Переходят во вкладку «Оборудование».
  4. Кликают по кнопке «Настроить считыватели».
  5. Выбирают пункт «Все считыватели смарт-карт».

После этого подпись появляется в компьютере.

Если окно с выбором считывателя не отобразилось, поступают так:

  1. Открывают пункт «Настройки считывателей».
  2. Кликают по надписи «Добавить».
  3. Щелкают по кнопке «Далее».
  4. В открывшемся окне выбирают «Все производители» и затем кликают по надписи «Далее».

Экспорт контейнера и сертификата на другую машину[править]

Если при создании контейнера он был помечен как экспортируемый (ключ -exportable), то его можно экспортировать на USB-диск:

При этом потребуется ввести пароль от контейнера ‘.HDIMAGEtest_export’ и задать пароль на новый контейнер ‘.FLASHtest_new’.

Просмотр списка контейнеров:

Экспортировать сертификат из локального хранилища в файл:

Скопировать сертификат на USB-диск:

Экспорт контейнера с USB-диска на жесткий диск:

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

Ассоциировать сертификат с контейнером, сертификат попадет в пользовательское хранилище My:

Экспорт сертификатов на другую машину[править]

Закрытые ключи к сертификатам находятся в /var/opt/cprocsp/keys.

Для экспорта сертификатов необходимо:

  1. Перенести ключи из /var/opt/cprocsp/keys на нужную машину в тот же каталог.
  2. Экспортировать сертификаты (их, количество можно определить, выполнив: certmgr -list, в примере сертификатов 3):
  3. Перенести файлы сертификатов (1.cer, 2.cer, 3.cer) на нужную машину.
  4. На машине, куда переносятся сертификаты, просмотреть какие контейнеры есть (должны появится контейнеры с первой машины):
  5. Связать сертификат и закрытый ключ:
    Если закрытый ключ и сертификат не подходят друг к другу, будет выведена ошибка:
    Cannot install certificate
    Public keys in certificate and container are not identical
    
  6. Если закрытого ключа нет, то просто поставить сертификат:

Оцените статью
ЭЦП64
Добавить комментарий