В данном документе рассматривается установка и настройка российского криптографического программного обеспечения КриптоПро CSP для подписи и шифрования электронных документов и криптографических расширений для работы в Google Chrome, Chromium ГОСТ, Яндекс.Браузере на сайте госуслуг, сайтах госзакупок и других, где требуется использование электронных цифровых подписей (ЭЦП). Установка и настройка Google Chrome, Chromium ГОСТ, Яндекс.Браузера в пользовательском Linux-окружении на базе Ubuntu рассмотрена в документе «Как установить Google Chrome, Chromium ГОСТ, Яндекс.Браузер?»
Установка КриптоПро:
Свежую версию пакета можно скачать на сайте КриптоПро после регистрации. На момент создания данного документа пакет версии 5.0 доступен по этой ссылке. Допустим, пакет скачан в каталог /tmp, тогда для его установки необходимо выполнить следующие команды:
cd /tmp
tar xvf linux-amd64_deb.tgz
chroot /compat/ubuntu /bin/bash
apt install -y libgtk2.0-common
cd /tmp/linux-amd64_deb
./install.sh lsb-cprocsp-pkcs11 cprocsp-rdr-gui-gtk cprocsp-cptools-gtk
printf 'export PATH=$PATH:/opt/cprocsp/bin/amd64:/opt/cprocsp/sbin/amd64' >> /etc/bash.bashrc
exit
Внимание! К сожалению, при работе в пользовательском Linux-окружении в настоящее время возможно использование сертификатов цифровых подписей только из контейнеров, находящихся на HDIMAGE. Поэтому для работы предварительно необходимо скопировать контейнер на HDIMAGE. Например, если контейнер находится на USB-накопителе, то достаточно просто скопировать каталог вида XXXXXXXX.XXX в каталог /compat/ubuntu/var/opt/cprocsp/keys/имя_пользователя/. Если же контейнер находится на токене или другом носителе, то его, например, можно перенести сначала на USB-накопитель средствами КриптоПро на другой машине, а потом уже скопировать на HDIMAGE. Информация о копировании контейнеров есть в инструкции к КриптоПро. Про копирование так называемых неэкспортируемых ключей (не путать с неизвлекаемыми!) можно узнать по ссылке «Копируем неэкспортируемый ключ ЭП из носителя Рутокен». Чтобы проверить наличие скопированного контейнера необходимо выполнить следующие команды:
chroot /compat/ubuntu /bin/bash
csptest -keyset -enum_cont -fqcn -verifyc
exit
Для безопасности на контейнер можно установить пароль следующими командами:
chroot /compat/ubuntu /bin/bash
csptest -passwd -change 'новый_пароль' -cont '\\.\HDIMAGE\имя_контейнера' -passwd 'старый_пароль'
exit
Далее необходимо установить личный сертификат в локальное хранилище, выполнив следующие команды:
chroot /compat/ubuntu /bin/bash
certmgr -inst -cont '\\.\HDIMAGE\имя_контейнера'
exit
Посмотреть, установился ли сертификат, можно выполнив следующие команды:
chroot /compat/ubuntu /bin/bash
certmgr -list -store umy
exit
В завершении необходимо установить корневой сертификат удостоверяющего центра, ссылка на который указывается в личном сертификате в строке CA cert URL. Для этого необходимо выполнить следующие команды:
fetch -o /tmp/cert.crt 'URL_сертификата'
chroot /compat/ubuntu /bin/bash
certmgr -inst -store uroot -file /tmp/cert.crt
exit
После этого можно использовать пакет КриптоПро для работы с установленной ЭЦП.
Дополнительные команды, которые могут потребоваться при работе с КриптоПро:
#Просмотр списка сертификатов во всех доступных хранилищах:
certmgr -list
#Просмотр списка сертификатов в хранилище личных сертификатов:
certmgr -list -store umy
#Просмотр списка сертификатов в хранилище корневых сертификатов:
certmgr -list -store uroot
#Удаление личных сертификатов:
certmgr -delete -store umy
#Удаление корневых сертификатов:
certmgr -delete -store uroot
#Ввод лицензионного ключа для КриптоПро:
cpconfig -license -set XXXXX-XXXXX-XXXXX-XXXXX-XXXXX
#Просмотр лицензионной информации:
cpconfig -license -view
Все вышеописанные операции в КриптоПро CSP 5.0 можно выполнять не только в командной строке, но и используя приложение с графическим интерфейсом «Инструменты КриптоПро» («CryptoPro Tools»). Для запуска данного приложения можно создать файл ярлыка /usr/local/share/applications/cptools.desktop следующего содержания:
[Desktop Entry]
Type=Application
Version=1.0
Encoding=UTF-8
Name=CryptoPro Tools
Name[ru]=Инструменты КриптоПро
Comment=Crypto provider, signing and encrypting files
Comment[ru]=Криптопровайдер, подпись и шифрование файлов
Icon=/compat/ubuntu/opt/cprocsp/share/icons/cptools.png
Exec=/compat/ubuntu/opt/cprocsp/bin/amd64/cptools
Categories=Office;Utility
StartupNotify=true
Установка плагина для сайта госуслуг:
Для установки плагина необходимо выполнить следующие команды:
fetch -o /tmp/ https://ds-plugin.gosuslugi.ru/plugin/upload/assets/distrib/IFCPlugin-x86_64.deb
fetch -o /tmp/ https://www.cryptopro.ru/sites/default/files/public/faq/ifcx64.cfg
chroot /compat/ubuntu /bin/bash
apt install -y /tmp/IFCPlugin-x86_64.deb
cp /etc/ifc.cfg /etc/ifc.cfg.orig
cp /tmp/ifcx64.cfg /etc/ifc.cfg
exit
Если плагин устанавливается для работы в Яндекс.Браузере, то дополнительно необходимо выполнить следующие команды:
chroot /compat/ubuntu /bin/bash
mkdir -p /etc/chromium/native-messaging-hosts
cp /etc/opt/chrome/native-messaging-hosts/ru.rtlabs.ifcplugin.json /etc/chromium/native-messaging-hosts/
exit
После установки необходимо проверить наличие в браузере расширения для плагина госуслуг. Если расширение не установлено, то установить его можно по ссылке.
Дополнительную информацию можно получить в базе знаний на сайте КриптоПро.
Установка ЭЦП browser plug-in:
Для установки плагина необходимо выполнить следующие команды:
fetch -o /tmp/ https://www.cryptopro.ru/sites/default/files/products/cades/current_release_2_0/cades_linux_amd64.tar.gz
cd /tmp
tar xvf cades_linux_amd64.tar.gz
chroot /compat/ubuntu /bin/bash
apt install -y /tmp/cades_linux_amd64/cprocsp-pki-*.deb
exit
После установки необходимо проверить наличие в браузере расширения CryptoPro Extension for CAdES Browser Plug-in. Если расширение не установлено, то установить его можно по следующим ссылкам: