Набор скриптов для подписания и проверки ЭЦП КриптоПро на Linux

Набор скриптов для подписания и проверки ЭЦП КриптоПро на Linux Электронная цифровая подпись

Получение информации об установленных сертификатах

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

  • *.cer – сертификат, сохраненный в стандарте CER. Может включать сертификат, секретный ключ, путь сертификации.
  • *.der – сертификат, сохраненный в стандарте DER. Может включать сертификат, секретный ключ, путь сертификации.
  • *.crt – файл сертификата в формате CER, DER или Netscape.
  • *.pem – сертификат в кодировке Base64. Может также включать полный путь удостоверения сертификата и секретный ключ.
  • *.p8 – файл, содержащий секретный ключ, защищенный по стандарту PKCS#8.
  • *.p12 (в Windows используется расширение *.pfx) – файл сертификата, защищенный по стандарту PKCS#12. Может включать сертификат, секретный ключ, путь сертификации.

token-manager предоставляет графический интерфейс управления ключевыми носителями и сертификатами. С помощью этой программы можно:

  • просматривать подключенные ключевые носители (токены);
  • изменять PIN-код ключевого носителя;
  • устанавливать, просматривать и удалять сертификаты;
  • просматривать и устанавливать лицензию КриптоПро.
# apt-get install token-manager

https://www.youtube.com/watch?v=ytcreatorsru

Запустить token-manager можно:

  • из командной строки:
    $ python /usr/bin/token-manager.py
  • в рабочей среде Mate: Меню Система ▷ Администрирование ▷ Ключевые носители и сертификаты;
  • в рабочей среде KDE5: Меню запуска приложений ▷ Настройки ▷ Ключевые носители и сертификаты.

Для просмотра корневых сертификатов, необходимо выбрать в меню token-manager пункт Операции ▷ Просмотр корневых сертификатов.

Сертификат будет установлен в локальное хранилище сертификатов и будет связан с закрытым ключом на токене.

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

Читайте также:  Как продлить (перевыпустить) ключ эцп заранее, или если срок действия закончился

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

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

Stub.png

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

$ tar -xf linux-amd64.tgz

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

ПакетОписание
Базовые пакеты:
cprocsp-curlБиблиотека libcurl с реализацией шифрования по ГОСТ
lsb-cprocsp-baseОсновной пакет КриптоПро CSP
lsb-cprocsp-capiliteИнтерфейс CAPILite и утилиты
lsb-cprocsp-kc1Провайдер криптографической службы KC1
lsb-cprocsp-kc2Провайдер криптографической службы KC2 (требует наличия аппаратного датчика случайных чисел или гаммы)
lsb-cprocsp-rdrПоддержка ридеров и RNG
Дополнительные пакеты:
cprocsp-rdr-gui-gtkГрафический интерфейс для диалоговых операций
cprocsp-rdr-rutokenПоддержка карт Рутокен
cprocsp-rdr-jacartaПоддержка карт JaCarta
cprocsp-rdr-pcscКомпоненты PC/SC для ридеров КриптоПро CSP
lsb-cprocsp-pkcs11Поддержка PKCS11
ifd-rutokensКонфигурация Рутокеновских карт (или можно взять pcsc-lite-rutokens из репозитория)

Удаление КриптоПро[править]

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

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

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

Если появляется

support_mutex_open("registry_lock") failed:: Permission denied

выполните после удаления

# rm -f /var/opt/cprocsp/tmp/.registry_lock

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

Утилиты КриптоПро расположены в директориях /opt/cprocsp/sbin/{amp}lt;название_архитектуры{amp}gt; и /opt/cprocsp/bin/{amp}lt;название_архитектуры{amp}gt;.

Загрузка КриптоПро

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

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

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

  • выполните от имени пользователя, который будет запускать команды (будет действовать до закрытия терминала):
exportPATH="$(/bin/ls -d /opt/cprocsp/{s,}bin/*|tr 'n'':')$PATH"

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

Проверка лицензии[править]

$ cpconfig -license -viewLicense validity:
4040E-G0037-EK8R3-C6K4U-HCXQG
Expires: 2 month(s) 23 day(s)
License type: Server.

Примечание:
Для версии КриптоПро CSP под Linux все лицензии считаются серверными, поэтому не смущайтесь строкой «License type: Server».

# cpconfig -license -set {amp}lt;серийный_номер{amp}gt;

https://www.youtube.com/watch?v=upload

Примечание:
Серийный номер следует вводить с соблюдением регистра символов.

Оцените статью
ЭЦП Эксперт