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

Материал из База знаний Управления цифрового развития, информационных технологий и связи Пензенской областей
(разн.) ← Предыдущая | Текущая версия (разн.) | Следующая → (разн.)
Перейти к навигации Перейти к поиску

Назначение статьи

В этой статье описана установка "КриптоПро CSP" на операционную систему "Astra Linux Common Edition". В данном примере используется дистрибутив "КриптоПро CSP 4.0 R4". Средство криптографической защиты информации "КриптоПро CSP" предназначено для работы с электронной подписью.
Официальный сайт "КриптоПро CSP"
Прайс-лист в котором можно узнать цены на программное обеспечение КриптоПро

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

Для установки программного обеспечения "КриптоПро CSP" понадобится дистрибутив для 64 разрядной операционной системы с расширением ".deb", его можно загрузить с официального сайта разработчика. Для доступа к пакету на сайте понадобится регистрация. Необходимый дистрибутив для загрузки представлен ниже на рисунке.

X64deb.png

На момент написания статьи архив, загружаемый с сайта разработчика, имеет имя "linux-amd64_deb.tgz". После загрузки архива с сайта разработчика необходимо его разархивировать, для этого в терминале "Fly" перейти в раздел с архивом и ввести команду:

tar -zxf linux-amd64_deb.tgz

В директории с архивом появится новый каталог с именем "linux-amd64_deb", в который необходимо перейти и выполнить команду:

sudo ./install_gui.sh

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

CSP welcome.png

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

CSP modules.png

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

CSP accept.png

В результате будет получено сообщение об успешной установке, как показано на рисунке ниже.

CSP succesfull.png

В завершении будет предложено установить ключ лицензии для "КриптоПро CSP", без установки ключа используется пробный ключ сроком на 3 месяца. Для проверки действующей лицензии необходимо в терминале "Fly" ввести команду:

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

Если по какой-то причине ключ не был установлен, его можно установить и после установки, для этого необходимо в терминале "Fly" ввести команду:

sudo /opt/cprocsp/sbin/amd64/cpconfig -license -set <КЛЮЧ_ЛИЦЕНЗИИ>

Установка дополнительных пакетов для работы с внешними носителями

Для работы с внешними носителями, такими как Rutoken/JaCarta и т.п., необходимо установить дополнительные библиотеки. В терминале "Fly" выполнить команду:

sudo apt-get install libccid pcscd libpcsclite1 libgost-astra

После установки пакетов необходимо перезагрузить службу pcscd, для этого в терминале "Fly" выполнить команду:

sudo service pcscd restart

Помимо этого, могут потребоваться дополнительные драйверы (зависит от модели носителя), например для "Rutoken S". Как правило, необходимые пакеты размещаются в открытом доступе на сайте разработчика. В примере используется "Rutoken S" для его функционирования установлена дополнительная библиотека "ifd-rutokens_1.0.4_amd64.deb", установочный файл размещен на сайте производителя в разделе "Драйверы для *nix".

Установка Chromium-gost

Государственные информационные системы используют отечественную криптографию для подключения к закрытой части ресурса. Для работы с такими порталами необходим браузер с поддержкой отечественных TLS Cipher Suites (шифронаборов) . В составе дистрибутива Astra Linux Common Edition есть браузер "Chromium" с поддержкой отечественной криптографии.

Установка "КриптоПро ЭЦП Browser Plug-in"

Данный плагин позволяет подписывать документы и проверять электронную подпись документов в web-интерфейсе c использованием СКЗИ "КриптоПро CSP".
Для установки перейти по ссылке https://www.cryptopro.ru/products/cades/plugin. Скачать актуальную версию. Разархивировать полученный архив, после чего перейти в раздел и установить пакеты, для этого ввести команду в терминале "Fly":

sudo dpkg -i cprocsp-pki-cades_2.0.0-1_amd64.deb cprocsp-pki-plugin_2.0.0-1_amd64.deb

Затем отдельно для различных браузеров устанавливается расширение (дополнение).
Для Firefox:

https://www.cryptopro.ru/sites/default/files/products/cades/extensions/firefox_cryptopro_extension_latest.xpi

Для Chrome:

https://chrome.google.com/webstore/detail/cryptopro-extension-for-c/iifchhfnnmpdbibifmljnfjhpififfog?h1=ru

Установка IFCPlugin

Для работы с порталами, которые осуществляют аутентификацию через ЕСИА, потребуется установить IFCPlugin по ссылке https://ds-plugin.gosuslugi.ru/plugin/upload/Index.spr. Из списка выбрать - "IFCPlugin-x86_64.deb". Выполнить команду в терминале "Fly":

sudo dpkg -i IFCPlugin-x86_64.deb

Если установлена версия плагина 3.0.4.0 - 3.0.6.0, отредактировать файл "ifc.cfg", который находится в разделе "/etc". Заменить содержимое на следующее:

log = {
    level = "DEBUG";
}
config = {
    cert_from_registry = "false";
    set_user_pin = "false";
}
params = (
    {
        name = "CPPKCS11_2001";
        alias = "CPPKCS11_2001";
        type = "pkcs11";
        alg = "gost2001";
        model = "CPPKCS 3";
        lib_linux = "libcppkcs11.so";
    },
    {
        name = "CPPKCS11_2012_256";
        alias = "CPPKCS11_2012_256";
        type = "pkcs11";
        alg = "gost2012_256";
        model = "CPPKCS 3";
        lib_linux = "libcppkcs11.so";
    },
    {
        name = "CPPKCS11_2012_512";
        alias = "CPPKCS11_2012_512";
        type = "pkcs11";
        alg = "gost2012_512";
        model = "CPPKCS 3";
        lib_linux = "libcppkcs11.so";
    }
);

Для Firefox добавить символическую ссылку:

sudo ln -s /opt/cprocsp/lib/amd64/libcppkcs11.so.4.0.4 /usr/lib/mozilla/plugins/lib/libcppkcs11.so

Для Chromium добавить символическую ссылку:

sudo ln -s /etc/opt/chrome/native-messaging-hosts/ru.rtlabs.ifcplugin.json /etc/chromium/native-messaging-hosts

Работа с сертификатами

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

Подключить внешний носитель с контейнерами. Выполнить команду в терминале "Fly":

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

Результат команды приведен ниже.

Enum cont.png

Установка сертификатов осуществляется с помощью команды :

/opt/cprocsp/bin/amd64/certmgr -inst -cont 'Имя контейнера' -store "имя хранилища"

Хранилища бывают 2 типов - "Локальный компьютер" (mMy, mCA, mRoot) и "Хранилище текущего пользователя" (uMy, uCA, uRoot).
По умолчанию используются хранилища:
My – для личных сертификатов.
Root – для корневых сертификатов Удостоверяющих Центров.
CA – для сертификатов промежуточных Удостоверяющих Центров и списков отозванных сертификатов.
Установка сертификатов осуществляется от пользователя под которым предстоит работать, в случае если сертификаты установлены от другого пользователя в хранилище "uMy", то они будут видны только для него, так как хранилище "uMy" разное для пользователей. Пример установки с реального носителя в личное хранилище текущего пользователя:

/opt/cprocsp/bin/amd64/certmgr -inst -cont '\\.\Aktiv Co. Rutoken S 00 00\Pavlov' -store uMy

В результате успешной установки будет получена ошибка с нулевым кодом - [ErrorCode: 0x0000000].

Проверенные ресурсы с использованием электронной подписи

Портал Возможность аутентификации по сертификату пользователя Возможность подписи документа в web-интерфейсе Требуется ли браузер с поддержкой отечественных алгоритмов шифрования
Сбербанк — Автоматизированная система торгов Да Да Нет
Единая информационная система в сфере закупок Да Да Да
ГАС "Управление" Да Не проверено Да
Единый портал государственных и муниципальных услуг РФ Да Не проверено Нет