Как установить криптопро на линукс

Обновлено: 02.07.2024

Если кто-то уже ранее имел опыт установки КриптоПро на Windows, то спешу вас огорчить: дела с Linux обстоят гораздо хуже.

Почему? Дело в том, что версия КриптоПро для Linux почти лишена графической среды управления, так что даже импорт сертификатов придется выполнять консольными командами (за исключением последней 5-ой версии КриптоПро). Но если вы используете Linux, то данное обстоятельство вас не должно напугать.

Не буду ходить больше вокруг да около, а сразу приступлю к описанию процесса установки и настройки КриптоПро в Ubuntu 18.04. Все описанные далее инструкции справедливы для Rutoken Lite.

1. Скачиваем deb-пакет для установки КриптоПро в Ubuntu

Загрузка доступна с официального сайта КриптоПро в разделе Продукты. Отмечу лишь то, что надо скачивать обязательно сертифицированную версию. В данном материале описана установка и настройка КриптоПро CSP 4.0 R3.

Установка КриптоПро в Linux

Установка КриптоПро в Linux

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

Установка КриптоПро в Linux

2. Установка КриптоПро в графическом режиме

Переходим в папку с распакованным архивом и выбираем в контекстном меню команду Открыть в Терминале (в Kubuntu Действия / Открыть Терминал в этой папке). Для запуска установки в КриптоПро в графическом режиме вводим в терминале команду

Установка КриптоПро в Linux

Появится Мастер установки КриптоПро. Навигация в мастере установки осуществляется при помощи клавиши Tab, выбор чекбоксов осуществляется нажатием пробела. Жмем Next, отмечаем все доступные к установке компоненты, далее жмем Install.

Установка КриптоПро в Linux

Установка КриптоПро в Linux

Установка КриптоПро в Linux

В окне Терминала запустится процесс установки, следует проконтролировать отсутствие ошибок установки. В конце мастер сообщит об успешной установке, после чего следует нажать клавишу ОК.

Установка КриптоПро в Linux

Установка КриптоПро в Linux

Установка КриптоПро в Linux

Установка КриптоПро в Linux

Кратко о компонентах КриптоПро для Linux:

cprocsp-curl - Библиотека libcurl с реализацией шифрования по ГОСТ

lsb-cprocsp-base - Основной пакет КриптоПро CSP

lsb-cprocsp-capilite - Интерфейс CAPILite и утилиты

lsb-cprocsp-kc1 - Провайдер криптографической службы KC1

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

3. Ввод лицензионного кода

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

/opt/cprocsp/sbin/amd64/cpconfig -license -view

Установка КриптоПро в Linux

4. Установка дополнительных файлов поддержки КрптоПро

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

Установка КриптоПро в Linux

5. Установка драйверов Рутокен

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

Однако для полноценной работы Рутокена потребуется установить дополнительные библиотеки при помощи команды в Терминале:

sudo apt-get install libccid pcscd libpcsclite1 pcsc-tools opensc

Установка КриптоПро в Linux

Для Rutoken S, JaCarta PKI потребуется установка дополнительных драйверов. Пишите в комментариях, если кому-то нужно расписать данный момент.

6. Перезапуск службы pcscd

Перезапустить указанную службы легко при помощи команды

sudo service pcscd restart

Установка КриптоПро в Linux

7. Проверка работоспособности Рутокена при помощи фирменных средств производителя

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

Результат выполнения команды pcsc_scan

8. Проверка работоспособности Рутокена при помощи встроенных средств КриптоПро

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

/opt/cprocsp/bin/amd64/csptest -card -enum -v -v

Установка КриптоПро в Linux

9. Просмотр и Импорт в Личное хранилище сертификатов с Рутокена

Для просмотра личных сертификатов, имеющихся на подключенных контейнерах, выполняем команду в Терминале

/opt/cprocsp/bin/amd64/csptest -keyset -enum_cont -fqcn -verifyc

Установка КриптоПро в Linux

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

/opt/cprocsp/bin/amd64/csptestf -absorb -cert

Установка КриптоПро в Linux

10. Просмотр личных сертификатов в хранилище

Убедиться в успешном импорте сертификатов с Рутокена в Личное хранилище сертификатов можно при помощи команды в терминале

/opt/cprocsp/bin/amd64/certmgr -list -store uMy

Установка КриптоПро в Linux

Для удаления сертификата из личного хранилища сертификатов следует выполнить команду в Терминале:

/opt/cprocsp/bin/amd64/certmgr -delete -store umy

Далее терминал предложит указать номер удаляемого сертификата.

На скриншоте выше вы видите, что удостоверяющим центром, который выпустил мой сертификат, является ООО "Компания Тензор". Вот для этой компании и надо искать и устанавливать корневые сертификаты. Как установить корневые сертификаты, читайте в следующем пункте.

11. Импорт коренвых сертификатов в хранилище доверенных корневых сертификатов

Вначале скопируем кореные сертификаты в отдельную папку. Затем в контекстном меню, перейдя в эту папку, выполним команду Открыть в терминале. Далее произведем установку командой в Теримнале:

sudo /opt/cprocsp/bin/amd64/certmgr -inst -store uroot -file "uc_tensor_44-2017.cer"

sudo /opt/cprocsp/bin/amd64/certmgr -inst -store uroot -file "uc_tensor-2018_gost2012.cer"

sudo /opt/cprocsp/bin/amd64/certmgr -inst -store uroot -file "uc_tensor-2017.cer"

Установка КриптоПро в Linux

Установка КриптоПро в Linux

12. Установка КриптоПро ЭЦП Browser plug-in

Для установки КриптоПро ЭЦП Browser plug-in потребуется утилита alien. Установим ее командой:

sudo apt install alien

Установка КриптоПро в Linux

Далее скачиваем установочный пакет КриптоПро ЭЦП Browser plug-in с официального сайта КриптоПро.

Распаковываем архив cades_linux_amd64.zip и переходим перейти в каталог с распакованными файлами, выполним команду Открыть в терминале и далее выполним команды для преобразования rpm-пакетов в deb-пакеты:

Установка КриптоПро в Linux

alien -dc cprocsp-pki-2.0.0-amd64-cades.rpm

alien -dc cprocsp-pki-2.0.0-amd64-plugin.rpm

Далее устанавливаем deb-пакеты:

sudo alien -kci cprocsp-pki-cades_2.0.0-2_amd64.deb

sudo alien -kci cprocsp-pki-plugin_2.0.0-2_amd64.deb

Установка КриптоПро в Linux

Установка КриптоПро в Linux

Обратите внимание: при установке этих двух пакетов не должно быть ошибок.

13. Установка расширения браузера КриптоПро ЭЦП Browser plug-in

Далее необходимо в используемом вами браузере установить расширение КриптоПро ЭЦП Browser plug-in. Cсылка на расширение для Google Chrome

14. Тестирование работоспособности подписи

Если вы все сделали правильно, то КриптоПро настроен. Проверить подпись можно по ссылке

Установка КриптоПро в Linux

15. Доополнительное ПО для Рутокена

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

Установка КриптоПро в Linux

На этом все. Как выясняется, установка КриптоПро в Ubuntu Linux 18.04 не такая уж сложная.

Пингвин - символ Linux


  1. Откройте папку, куда были скачаны дистрибутивы «CSP» и «ЭЦП Browser plug-in». Кликните правой кнопкой мыши для вызова Тераминала.
  2. Выполните команду tar -xvf linux-amd64_deb.tgz для распаковки архива.



С помощью утилиты alien, произведите установку модуля поддержки для JaCarta cprocsp-rdr-jacarta-3.6.1-3.6.407-1.x86_64.rpm.

Также установите пакет cprocsp-rdr-gui-gtk-64_4.0.0-4_amd64.deb.

Для этого выполните ряд команд (вместо многоточий нажмите на клавишу TAB):

  • sudo dpkg -i cprocsp-rdr-pcsc-. cprocsp-rdr-rutoken-. ifd-rutokens_.
  • sudo alien -kci cprocsp-rdr-jacarta-.
  • sudo dpkg --no-force-overwrite -i cprocsp-rdr-jacarta-.
  • sudo dpkg -i cprocsp-rdr-gui-.

Прим.: Чтобы просмотреть контейнер, воспользуйтесь командой /opt/cprocsp/bin/amd64/csptest –– keys –– enum_c –– verifyc –fqcn. На каждом токене присутствует по одному, ранее сгенерированному, контейнеру с ключами и сертификатом.

Ввод серийного номера лицензии и установка сертификатов:

  1. Для просмотра информации о лицензии выполните команду cpconfig -license -view.
  2. Для ввода лицензии выполните команду cpconfig -license -set [серийный_номер].

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

Распаковка и установка «КриптоПро ЭЦП Browser plug-in».

  1. Перейдите в папку загрузок командой - cd ..
  2. Распакуйте ранее скачанный архив «ЭЦП Browser plug-in», введя команду tar -xvf cades_linux_. .
  3. Произведите установку пакетов посредством утилиты alien (сначала пакет *cades*, а после *plugin*) cd cades_linux_.


Проверить правильность настройки можно на тестовой странице проверки плагина.

По информации разработчика, с ALT Linux совместимы следующие продукты КриптоПро:

  • КриптоПро CSP
  • КриптоПро JCP
  • КриптоПро HSM
  • КриптоПро TSP
  • КриптоПро OCSP
  • КриптоПро ЭЦП Browser plug-in
  • КриптоПро SSF
  • КриптоПро Stunnel
  • Браузер КриптоПро Fox
Примечание: В репозитории доступен пакет firefox-gost , аналогичный КриптоПро Fox, с патчем от КриптоПро.

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

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

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

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

Этот пакет установит все требуемое для КриптоПро (включая инфраструктуру поддержки карт Рутокен S и Рутокен ЭЦП). Примечание: Пакет cryptopro-preinstall вытягивает зависимости libpangox-compat , opensc , pcsc-lite , pcsc-lite-rutokens , pcsc-lite-ccid , newt52 .


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

Таблица 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-cptools-gtk Инструменты КриптоПро - кроссплатформенный графический интерфейс
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 из репозитория)

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

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

Примечание: Для 32-битной версии вместо последнего пакета — lsb-cprocsp-rdr-4*
  • установите пакеты для поддержки токенов (Рутокен S и Рутокен ЭЦП):
Примечание: Если возникнут проблемы с отображением контейнеров на Рутокен S — удалите pcsc-lite-openct
  • установите пакет для поддержки токенов (JaCarta):
Примечание: Для установки cprocsp-rdr-jacarta может понадобиться предварительно удалить openct .
  • Для установки сертификатов Главного удостоверяющего центра:

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

Установка пакетов КриптоПро

Примечания:

  • Для КриптоПро CSP 3.6 R2 потребуется установить пакет cprocsp-compat-altlinux-1.0.0-1.noarch.rpm
  • Для установки cprocsp-rdr-gui может понадобиться libXm.so.3 ( libopenmotif3 ) и для вывода кириллицы fonts-bitmap-cyr_rfx-iso8859-5 .
  • Для установки cprocsp-rdr-gui-gtk потребуется предварительно установить libpangox-compat .
  • В версии 4.0.0-alt5 пакета cryptopro-preinstall добавлены подпакеты:
    • cryptopro-preinstall-base для установки с cprocsp-compat-altlinux , «предоставляющим» lsb (в случае нежелательности «лишних» зависимостей вроде libqt3 ), и
    • cryptopro-preinstall-full для автоустановки зависимостей cprocsp-rdr-gui .
    Внимание! Пакеты КриптоПро после обновления утрачивают работоспособность, так что рекомендуется удалить все пакеты и установить их заново.

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

      Запомнить текущую конфигурацию: набор установленных пакетов:

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

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

    • после установки пакета cryptopro-preinstall начните новый сеанс пользователя в консоли;
    Примечание: Не работает для суперпользователя.
    • выполните от имени пользователя, который будет запускать команды (будет действовать до закрытия терминала):
    Внимание! Если установлен пакет mono или mono4-devel , может быть конфликт по имени утилиты certmgr

    Проверить срок истечения лицензии можно командой (обратите внимание на строки Expires:):

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


    Для установки другой лицензии выполните (под root):

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

    Проверить версию КриптоПро можно командой:

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

    Примечание: Если не работает под обычным пользователем, то проверить правила polkit.

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

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

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

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

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

    Примечание: Подробнее про работе с разными ключевыми носителями: Рутокен, JaCarta, ESMART

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

    Инициализация считывателя 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 , которую необходимо запустить перед началом работы с соответствующими устройствами:

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

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

    sudo apt-get update

    Для обновления всех установленных пакетов программ:

    sudo apt-get upgrade



    Скачанные пакеты необходимо разархивировать:

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

    sudo sh install_gui.sh

    При котором откроется терминал с возможностью установки через GUI.


    Лучше поставить пакеты вручную:

    sudo dpkg -i lsb-cprocsp-devel_4.0.0-5_all.deb

    sudo dpkg -i cprocsp-curl-64_4.0.0-4_amd64.deb

    sudo apt-get install libpangox-1.0-dev

    sudo dpkg -i cprocsp-rdr-gui-gtk-64_4.0.0-4_amd64.deb

    sudo dpkg -i cprocsp-rdr-rutoken-64_4.0.0-4_amd64.deb

    sudo dpkg -i ifd-rutokens_1.0.1_amd64.deb

    sudo dpkg -i lsb-cprocsp-base_4.0.0-4_all.deb

    sudo dpkg -i lsb-cprocsp-capilite-64_4.0.0-4_amd64.deb

    Для того чтобы установить драйверы Рутокен для Linux(Ubuntu), загрузите установочный файл. После завершения процесса установки подключите Рутокен к компьютеру.



    2.1 Произвести установку в систему.

    Для deb-based систем (Debian, Ubuntu, Linux Mint и др.) это библиотека libccid не ниже 1.3.11, пакеты pcscd и libpcsclite1. Для установки указанных пакетов запустите терминал и выполните команду:

    sudo apt-get install libccid pcscd libpcsclite1

    После выполнить установку пакета утилиты администрирования рутокен:

    sudo dpkg -i ifd-rutokens_1.0.4_amd64.deb

    Информация по установке

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

    Для обеспечения работоспособности электронных идентификаторов Рутокен ЭЦП ряде дистрибутивов GNU/Linux, может потребоваться добавить запись об устройстве в конфигурационный файл libccid. Расположение Info.plist в файловой системе:

    GNU/Linux: /usr/lib/pcsc/drivers/ifd-ccid-bundle/Contents/Info.plist

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

    Для работы электронных идентификаторов Рутокен ЭЦП необходимо добавить в файл следующие строки (данные строки стандартно уже прописаны в Linux(Ubuntu), необходимо проверить есть ли такие данные, если нет то прописать):

    Массив () Добавленная строка

    ifdFriendlyName Aktiv Rutoken ECP


    Установите утилиту pcsc_scan (обычно она входит в пакет pcsc-tools) и запустите ее. Если устройство работает корректно, то в логе утилиты присутствует устройство Aktiv Rutoken ECP:

    sudo apt-get install pcsc-tools

    3. Программа КриптоПро ЭЦП Browser plug-in предназначена для создания и проверки электронной подписи на веб-страницах. Чтобы установить КриптоПро ЭЦП Browser plug-in:


    3.2 Разархивируйте пакеты с помощью команды:

    3.3 Установить пакеты с помощью соответствующей команды:

    Информация по возможным проблемам:

    Если во время установки возникнут проблемы или ошибки, то выполнить: dpkg --force-overwrite -i <имя пакета>.deb

    Проблема возникала с данным ниже пакетом, устраняется вводом команды в терминал:

    dpkg --force-overwrite -i cprocsp-pki-cades_2.0.0_amd64.deb

    Установить пакет alien:

    sudo apt-get install alien

    sudo alien -kci cprocsp-pki-2.0.0-amd64-cades.rpm

    sudo alien -kci cprocsp-pki-2.0.0-amd64-plugin.rpm

    При необходимости, раздать права на пакеты через команды в терминале:

    sudo chmod 777 <имя пакета>.deb

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

    sudo chmod 777 cprocsp-pki-2.0.0-amd64-cades.deb

    sudo chmod 777 cprocsp-pki-2.0.0-amd64-plugin.deb

    3.4 Также необходимо выполнить:

    sudo dpkg -i cprocsp-pki-2.0.0-amd64-cades.deb

    sudo dpkg -i cprocsp-pki-2.0.0-amd64-plugin.deb

    Сертификат лучше получить через терминал вручную, так как поддержки ActiveX нет в UNIX

    /opt/cprocsp/bin/amd64/csptest -keyset -enum_cont -fqcn -verifyc

    sudo /opt/cprocsp/bin/amd64/csptest -keyset -newkeyset -provtype 80 -cont '\\.\HDIMAGE\Test'

    sudo /opt/cprocsp/bin/amd64/certmgr -inst -store uRoot -file certnew.p7b


    4.1 Нажать кнопку выдать и необходимо чтобы Рутокен был подключен к устройству на которое выдается ключ и сертификат.

    Выбрать устройство Рутокен:


    Набрать Pin-код на устройство Рутокен, стандартные пароли к контейнеру 87654321 или 12345678.


    Сформировать случайные числа при помощи нажатия клавиш и движениями мыши над этим окном:




    5. Проверка работы плагина в браузере


    Google Chrome Версия 61.0.3163.79 (Официальная сборка), (64 бит)


    6. При подписывании в системе РМИС, выходит окно с подтверждением и с выбором сертификата:

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


    6.2 Выйдет уведомление о успешном подписании: Выполнено! Отчет успешно подписан.

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



    Файл протокола, который подписан возможно проверить через средства приложения VipNet CryptoFile (Windows) , нажать в приложении Открыть выбрать открыть подписанный файл в формате .pdf и выбрать протокол в формате .sig пример:


    6.3 Сформировать отчет: Crypto-Pro GOST R 34.10-2001 Cryptographic Service Provider

    Читайте также: