Как установить криптопро на линукс
Если кто-то уже ранее имел опыт установки КриптоПро на Windows, то спешу вас огорчить: дела с Linux обстоят гораздо хуже.
Почему? Дело в том, что версия КриптоПро для Linux почти лишена графической среды управления, так что даже импорт сертификатов придется выполнять консольными командами (за исключением последней 5-ой версии КриптоПро). Но если вы используете Linux, то данное обстоятельство вас не должно напугать.
Не буду ходить больше вокруг да около, а сразу приступлю к описанию процесса установки и настройки КриптоПро в Ubuntu 18.04. Все описанные далее инструкции справедливы для Rutoken Lite.
1. Скачиваем deb-пакет для установки КриптоПро в Ubuntu
Загрузка доступна с официального сайта КриптоПро в разделе Продукты. Отмечу лишь то, что надо скачивать обязательно сертифицированную версию. В данном материале описана установка и настройка КриптоПро CSP 4.0 R3.
Далее загруженный архив tgz необходимо распаковать.
2. Установка КриптоПро в графическом режиме
Переходим в папку с распакованным архивом и выбираем в контекстном меню команду Открыть в Терминале (в Kubuntu Действия / Открыть Терминал в этой папке). Для запуска установки в КриптоПро в графическом режиме вводим в терминале команду
Появится Мастер установки КриптоПро. Навигация в мастере установки осуществляется при помощи клавиши Tab, выбор чекбоксов осуществляется нажатием пробела. Жмем Next, отмечаем все доступные к установке компоненты, далее жмем Install.
В окне Терминала запустится процесс установки, следует проконтролировать отсутствие ошибок установки. В конце мастер сообщит об успешной установке, после чего следует нажать клавишу ОК.
Кратко о компонентах КриптоПро для 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
4. Установка дополнительных файлов поддержки КрптоПро
Если установка КриптоПро запущена не в графическом режиме или при установке выбраны не все компоненты, то следует в обязательном порядке установить следующие пакеты (найти их можно в папке установки КриптоПро с файломinstall_gui.sh):
5. Установка драйверов Рутокен
Rutoken Lite не требует установки дополнительных драйверов. Для установки других типов Рутокена потребуется посетить официальный сайт и установить необходимые драйвера.
Однако для полноценной работы Рутокена потребуется установить дополнительные библиотеки при помощи команды в Терминале:
sudo apt-get install libccid pcscd libpcsclite1 pcsc-tools opensc
Для Rutoken S, JaCarta PKI потребуется установка дополнительных драйверов. Пишите в комментариях, если кому-то нужно расписать данный момент.
6. Перезапуск службы pcscd
Перезапустить указанную службы легко при помощи команды
sudo service pcscd restart
7. Проверка работоспособности Рутокена при помощи фирменных средств производителя
Выполнив команду pcsc_scan в терминале, можно проверить работоспособность подключенного Рутокена. Если картинка такая же, как и на скриншоте, то все работает правильно.
8. Проверка работоспособности Рутокена при помощи встроенных средств КриптоПро
Средства КриптоПро также позволяют сразу же проверить работоспособность присоединенных носителей. Команда в терминале
/opt/cprocsp/bin/amd64/csptest -card -enum -v -v
9. Просмотр и Импорт в Личное хранилище сертификатов с Рутокена
Для просмотра личных сертификатов, имеющихся на подключенных контейнерах, выполняем команду в Терминале
/opt/cprocsp/bin/amd64/csptest -keyset -enum_cont -fqcn -verifyc
Для импорта всех личных сертификатов со всех подключенных носителей выполняем команду в Терминале
/opt/cprocsp/bin/amd64/csptestf -absorb -cert
10. Просмотр личных сертификатов в хранилище
Убедиться в успешном импорте сертификатов с Рутокена в Личное хранилище сертификатов можно при помощи команды в терминале
/opt/cprocsp/bin/amd64/certmgr -list -store uMy
Для удаления сертификата из личного хранилища сертификатов следует выполнить команду в Терминале:
/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"
12. Установка КриптоПро ЭЦП Browser plug-in
Для установки КриптоПро ЭЦП Browser plug-in потребуется утилита alien. Установим ее командой:
sudo apt install alien
Далее скачиваем установочный пакет КриптоПро ЭЦП Browser plug-in с официального сайта КриптоПро.
Распаковываем архив cades_linux_amd64.zip и переходим перейти в каталог с распакованными файлами, выполним команду Открыть в терминале и далее выполним команды для преобразования rpm-пакетов в deb-пакеты:
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
Обратите внимание: при установке этих двух пакетов не должно быть ошибок.
13. Установка расширения браузера КриптоПро ЭЦП Browser plug-in
Далее необходимо в используемом вами браузере установить расширение КриптоПро ЭЦП Browser plug-in. Cсылка на расширение для Google Chrome
14. Тестирование работоспособности подписи
Если вы все сделали правильно, то КриптоПро настроен. Проверить подпись можно по ссылке
15. Доополнительное ПО для Рутокена
Если вам понадобятся дополнительные плагины или драйвера для Рутокена, то скачать вы всегда их сможете с официального сайта производителя по ссылке, которая указана ниже:
На этом все. Как выясняется, установка КриптоПро в Ubuntu Linux 18.04 не такая уж сложная.
- Откройте папку, куда были скачаны дистрибутивы «CSP» и «ЭЦП Browser plug-in». Кликните правой кнопкой мыши для вызова Тераминала.
- Выполните команду 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-.
Ввод серийного номера лицензии и установка сертификатов:
- Для просмотра информации о лицензии выполните команду cpconfig -license -view.
- Для ввода лицензии выполните команду cpconfig -license -set [серийный_номер].
Распаковка и установка «КриптоПро ЭЦП Browser plug-in».
- Перейдите в папку загрузок командой - cd ..
- Распакуйте ранее скачанный архив «ЭЦП Browser plug-in», введя команду tar -xvf cades_linux_. .
- Произведите установку пакетов посредством утилиты alien (сначала пакет *cades*, а после *plugin*) cd cades_linux_.
Проверить правильность настройки можно на тестовой странице проверки плагина.
По информации разработчика, с ALT Linux совместимы следующие продукты КриптоПро:
- КриптоПро CSP
- КриптоПро JCP
- КриптоПро HSM
- КриптоПро TSP
- КриптоПро OCSP
- КриптоПро ЭЦП Browser plug-in
- КриптоПро SSF
- КриптоПро Stunnel
- Браузер КриптоПро 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 перейдите в папку с распакованным архивом:
- установите пакеты для поддержки токенов (Рутокен S и Рутокен ЭЦП):
- установите пакет для поддержки токенов (JaCarta):
- Для установки сертификатов Главного удостоверяющего центра:
Также можно выполнить установку КриптоПро, запустив ./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 начните новый сеанс пользователя в консоли;
- выполните от имени пользователя, который будет запускать команды (будет действовать до закрытия терминала):
Проверить срок истечения лицензии можно командой (обратите внимание на строки 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
Читайте также: