Установка КриптоПро на RELS
Содержание
Начальные требования
Установленная система ROSA Enterprise Linux Server 6.7 в конфигурации «Стандартный сервер РОСА», доступ к репозиториям (для этого нужно получить ключ, заранее полученный у службы поддержки и выполнить команду echo «<ключ>» > /etc/rosa-support-id-server с правами администратора).
Применимость
В инструкции описана установка СКЗИ КриптоПро CSP 4.0 для ROSA Enterprise Linux Server 6.7 для работы с Рутокен и eToken. Пример указан для 64-разрядной архитектуры AMD64, для 32-разрядной установка аналогична с точностью до указания установочных пакетов и папок.
Когда не говорится о необходимости использования прав суперпользователя, подразумевается, что всё выполняется с правами пользователя, которым будет вестись работа в браузере firefox. Этот пользователь должен оставаться неизменным на протяжении всего описанного процесса
Получение установочных пакетов
Для установки СКЗИ КриптоПро CSP 4.0 для начала надо зарегистрироваться на сайте https://www.cryptopro.ru/ и со страницы загрузки https://www.cryptopro.ru/products/csp/downloads скачать версию 4.0 R2 для linux в формате rpm
Также сразу скачаем КриптоПро ЭЦП Browser plug-in версии 2.0 | отсюда
После этого браузер следует закрыть.
Установка
Для установки нужно распаковать полученный архив. Для этого откроем терминал (вкладка терминала расположена слева посередине панели запуска приложений)
и выполним следующие команды:
cd ~/Downloads/ tar -xvf linux-amd64.tgz tar -xvf cades_linux_amd64.tar.gz
Должна появиться папка с установочными файлами КриптоПро, в консоли можно перейти в неё командой
cd linux-amd64/
Установка базовых компонентов КриптоПро
Далее нужно выполнить инсталляцию с правами администратора (root), для этого нужно в консоли ввести команду перехода в режим суперпользователя:
su
и ввести пароль, после этого ввести команды для инсталляции:
./install.sh
Установка дополнительных компонентов КриптоПро
yum install ccid yum install cprocsp-rdr-rutoken-64-4.0.0-4.x86_64.rpm ifd-rutokens-1.0.1-1.x86_64.rpm cprocsp-rdr-pcsc-64-4.0.0-4.x86_64.rpm
Установка Browser Plug-in
cd .. yum install lsb-cprocsp-devel-5.0.0-4.noarch.rpm yum install cprocsp-pki-2.0.0-amd64-cades.rpm yum install cprocsp-pki-2.0.0-amd64-plugin.rpm
Подключение токена
Теперь можно подключить рутокен к USB-порту компьютера
Запускаем в отдельном окне консоли программу pcscd с правами администратора (root). На данном этапе используется отладочный вариант запуска.
su killall pcscd pcscd -adfffff
После запуска не будем закрывать эту консоль (там можно будет видеть, как система общается со смарт-картой).
Для последующих команд будем использовать консоль, которую мы открыли первой. Для них права суперпользователя не требуются (можно набрать в терминале exit).
Далее наберём в консоли следующее:
/opt/cprocsp/bin/amd64/list_pcsc
Утилита должна увидеть устройство:
Установка сертификатов
Редактирование списка доверенных узлов
Для начала следует добавить сайт КриптоПро в список доверенных. Для этого закрываем браузер если он был открыт и вводим в консоли команду (без прав администратора):
firefox /etc/opt/cprocsp/trusted_sites.html
Вбиваем название сайта в строку «Добавить новый», нажимаем «+» и «Сохранить».
Установка сертификатов удостоверяющего центра
Для работы с сертификатами нужно установить сертификат удостоверяющего центра (в данном случае устанавливается непосредственно корневой сертификат) и сертификат с рутокена на локальное хранилище. Для этого нужно загрузить с сайта удостоверяющего центра файл, содержащий цепочку сертификатов (обычно файл с расширением .cer или .p7b) и список отозванных сертификатов. Они доступны по следующей ссылке (https://www.cryptopro.ru/certsrv/certcarc.asp). Нужно нажать «Загрузка цепочки сертификатов ЦС» и «Загрузка последнего базового CRL». В консоли нужно, используя права обычного пользователя, выполнить следующие команды:
/opt/cprocsp/bin/amd64/certmgr -inst -store uRoot -file ~/Downloads/certnew.p7b /opt/cprocsp/bin/amd64/certmgr -inst -crl -file ~/Downloads/certcrl.crl
Подробнее о программе certmgr можно узнать [[1]] Теперь переходим к работе с контейнерами, расположенными на токене. Если на устройстве нет контейнеров, можно их создать. Для этого следует воспользоваться инструкцией в пункте «Создание тестового сертификата». После установки пакетов (п. 5.1. и п. 5.2.) должна появится возможность видеть контейнеры на устройстве. Чтобы узнать путь к контейнеру, а также о самом факте его наличия, можно ввести следующее:
/opt/cprocsp/bin/amd64/csptest -keyset -enum_cont -verifyc -fqcn
Установка сертификата с контейнера на токене
Теперь установим сертификат с рутокена в личное хранилище (uMy):
/opt/cprocsp/bin/amd64/certmgr -inst -cont '<путь к контейнеру, начинающийся на \\.\>' -store uMy
Если всё выполнилось без ошибок, можно переходить к пункту «Проверка работы Browser Plug-in».
Чаще всего расширение .cer соответствует сертификату, а .p7b - контейнеру, в котором может содержаться один или больше сертификатов (например их цепочка)
Создание тестового сертификата
Создание контейнера на жёстком диске
Заходим на тестовый удостоверяющий центр (УЦ) КриптоПро (http://www.cryptopro.ru/certsrv/certrqma.asp) и заполняем требуемые поля (обязательно заполнять только поле «Имя:»). Нужно обязательно пометить ключ как экспортируемый. Стоит заметить, что для проверки, используемой в пункте «Проверка работы Browser Plug-in» нужно использовать стандарт 2001 года.
Нажимаем кнопку «Выдать >»
Теперь можно копировать контейнер на токен, но сначала надо узнать его название. Для этого нужно открыть консоль и выполнить следующую команду:
/opt/cprocsp/bin/amd64/list_pcsc
Также надо узнать полное название контейнера, полученного в ходе генерации сертификата:
/opt/cprocsp/bin/amd64/csptest -keyset -enum_cont -verifyc -fqcn
Копирование контейнера на токен
Затем используем эти названия в следующей команде:
/opt/cprocsp/bin/amd64/csptest -keycopy -contsrc '<полное название контейнера>' -contdest '\\.\<название токена>\<желаемое название контейнера>'
Теперь токен содержит контейнер. Можно вернуться к пункту «Установка сертификата с контейнера на токене (п. 7.3)», предварительно удалив сертификат, установленный из контейнера на жёстком диске (сгенерированного тестовым удостоверяющим центром).
Устанавливать сертификат именно с контейнера на токене нужно для того, чтобы в системе была привязка сертификата к устройству
Удалить этот сертификат можно использовав следующую команду:
/opt/cprocsp/bin/amd64/certmgr -del
И, при необходимости, выбрав номер сертификата, который необходимо удалить.
Проверка работы электронной подписи с использованием Browser Plug-in
Для проверки работы Browser Plug-in можно использовать следующий ресурс: https://www.cryptopro.ru/sites/default/files/products/cades/demopage/simple.html Стоит также проверить, не установлены ли лишние сертификаты, ресурс работает корректно только если установлен единственный сертификат (можно использовать команду /opt/cprocsp/bin/amd64/certmgr -del). В случае правильной работы страница будет выглядеть примерно следующим образом.