Linux криптопро добавить контейнер

КриптоПро в Linux контейнере для использования КЭП от ФНС

С Нового Года от Индивидуальных Предпринимателей (ИП) и директоров Обществ с
Ограниченной Ответственностью (ООО) требуют использовать Квалифицированную
Электронную Подпись (КЭП) выданную Федеральной Налоговой Службой (ФНС).

Это требует от пользователей ряда действий:

  • Купить токен (похожее на флешку устройство для хранения КЭП)
  • Настроить КриптоПро на своём рабочем месте
  • Добавить свой сертификат в хранилище сертификатов на рабочем месте
  • Настроить работу со всеми теми сервисами где КЭП будет использоваться

Ниже будет пример, как можно настроить контейнер Linux для работы с КЭП от ФНС,
а так же сервисов nalog.ru, gosuslugi.ru, moedelo.com и diadoc.kontur.ru (на этих тестировалось, но будет работать и на других, хотя и потребует дополнительных действий).

Мотивация для настройки именно в таком виде:

  • Подойдёт для любого Linux дистрибутива
  • Однажды сделав легко запускать на любой из версий с Linux и на любом из компьютеров с Linux
  • Желающие настроить локально без контейнера легко смогут повторить по шагам описанным в Dockerfile

В предлагаемом вариант настройка следующая:

  • На хост систему устанавливается pcsc (соответствующие пакеты входят во многие дистрибутивы) соответствующее вашему токену (на сайте токена подробно описываются настройки, например для Рутокена есть такое описание)
  • В контейнер прокидывается socket от фоновой программы pcscd
  • Внутри контейнера установлено всё необходимое, достаточно только добавить личный сертификат
  • Используется браузер firefox прямо из контейнера

Могут быть разные варианты этой схемы.

Описанный подход позволяет пользоваться КЭП от ФНС под любым дистрибутивом Linux.
Тестировалось с Рутокен ЭЦП 3.0 (должно работать и с любыми другими, которые поддерживаются pcsc и КриптоПро).

Репозиторий с Dockerfile — https://github.com/YuraBeznos/cryptopro-in-container
Сам образ не предлагается т.к. лицензии на входящее программное обеспечение не позволяют это, хотя конечно, никто не может запретить создать свой образ и хранить его у себя.

  • Установить всё необходимое для работы токена на хост системе, обычно это pcsc и библиотеки к нему (смотреть на сайте производителя)
  • Проверить на хост системе, что токен определяется:
# pcsc_scan Using reader plug'n play mechanism Scanning present readers. 0: Aktiv Rutoken ECP 00 00 Mon Dec 19 22:36:07 2022 Reader 0: Aktiv Rutoken ECP 00 00 Event number: 0 Card state: Card inserted, 
  • Скачать все необходимые пакеты в папку с Dockerfile
    • Это может занять время и эту процедуру можно проходить в самом контейнере
    • Например плагины можно поставить в самом Firefox, а папку с расширением потом скопировать из пользовательской
    docker run --rm -ti -v `pwd`/:/something -v /run/pcscd/pcscd.comm:/run/pcscd/pcscd.comm -v /tmp/.X11-unix:/tmp/.X11-unix -e DISPLAY=unix"$DISPLAY" cryptopro-in-container:first /bin/bash -i # Где /run/pcsсd/pcscd.comm сокет для обращений # /tmp/.X11-unix доступ к активной сессии # DISPLAY переменная определяющая где открывать окна # something папка внутри контейнера с содержимым той папки из которой запускаете 
    root@d66b9560c771:/# csptest -keyset -enum_cont -fqcn -verifyc CSP (Type:80) v5.0.10010 KC1 Release Ver:5.0.12455 OS:Linux CPU:AMD64 FastCode:READY:AVX. AcquireContext: OK. HCRYPTPROV: 17693171 \\.\Aktiv Rutoken ECP 00 00\0c686f35c-328c-0cf8-e404-900dcf68a53 OK. Total: SYS: 0.010 sec USR: 0.040 sec UTC: 0.820 sec [ErrorCode: 0x00000000] 
    • Копировать публичный сертификат с токена в файл (подставив имя своего криптоконтейнера) certmgr -export -dest mine.crt -container ‘\\.\Aktiv Rutoken ECP 00 00\0c686f35c-328c-0cf8-e404-900dcf68a53’
    • Установить свой сертификат внутри контейнера (подставив имя своего криптоконтейнера) certmgr -install -store uMy -file mine.crt -cont ‘\\.\Aktiv Rutoken ECP 00 00\0c686f35c-328c-0cf8-e404-900dcf68a53’
    • Запустить браузер firefox и пользоваться необходимыми сайтами.

    Поздравляю, теперь вы можете используя токен аутентифицироваться на таких сайтах как nalog.ru и gosuslugi.ru, подписывать документы в diadoc.kontur.ru и сдавать отчётность в moedelo.ru .

    Прикрепляю сам Dockerfile (в репозитории может быть более свежая версия https://github.com/YuraBeznos/cryptopro-in-container ):

    # 2022 December FROM debian:stable@sha256:880aa5f5ab441ee739268e9553ee01e151ccdc52aa1cd545303cfd3d436c74db ENV DEBIAN_FRONTEND noninteractive ENV PATH="$:/opt/cprocsp/bin/amd64/" # Downloaded from https://www.cryptopro.ru/fns_experiment ADD csp-fns-amd64_deb.tgz /cryptopro # Downloaded from https://www.rutoken.ru/support/download/pkcs/#linux COPY librtpkcs11ecp_2.6.1.0-1_amd64.deb /cryptopro # Downloaded from https://restapi.moedelo.org/eds/crypto/plugin/api/v1/installer/download?os=linux&version=latest COPY moedelo-plugin_*_amd64.deb /cryptopro # Downloaded from install.kontur.ru COPY kontur.plugin_amd64.deb /cryptopro # Downloaded from https://ds-plugin.gosuslugi.ru/plugin/upload/Index.spr COPY IFCPlugin-x86_64.deb /cryptopro # Downloaded from https://www.rutoken.ru/support/download/get/rtPlugin-deb-x64.html COPY libnpRutokenPlugin_*_amd64.deb /cryptopro RUN apt-get update && \ apt-get install -y whiptail libccid libpcsclite1 pcscd pcsc-tools opensc \ libgtk2.0-0 libcanberra-gtk-module libcanberra-gtk3-0 libsm6 \ firefox-esr && \ cd /cryptopro/fns-amd64_deb && \ dpkg -i /cryptopro/librtpkcs11ecp_*_amd64.deb && \ sed -i s#install_gui#install# _FNS_INSTALLER.sh && \ ./_FNS_INSTALLER.sh && \ dpkg -i /cryptopro/fns-amd64_deb/cprocsp-pki-cades-64_*_amd64.deb && \ dpkg -i /cryptopro/fns-amd64_deb/cprocsp-rdr-gui-gtk-64_*_amd64.deb && \ dpkg -i /cryptopro/fns-amd64_deb/cprocsp-pki-plugin-64_*_amd64.deb && \ dpkg -i /cryptopro/fns-amd64_deb/cprocsp-cptools-gtk-64_*_amd64.deb && \ dpkg -i /cryptopro/fns-amd64_deb/cprocsp-rdr-pcsc-64_*_amd64.deb && \ dpkg -i /cryptopro/fns-amd64_deb/cprocsp-rdr-rutoken-64_*_amd64.deb && \ dpkg -i /cryptopro/fns-amd64_deb/cprocsp-rdr-cryptoki-64_*_amd64.deb && \ dpkg -i /cryptopro/moedelo-plugin_*_amd64.deb && \ dpkg -i /cryptopro/kontur.plugin_amd64.deb && \ dpkg -i /cryptopro/IFCPlugin-x86_64.deb && \ dpkg -i /cryptopro/libnpRutokenPlugin_*_amd64.deb # Downloaded from https://www.cryptopro.ru/sites/default/files/products/cades/extensions/firefox_cryptopro_extension_latest.xpi COPY firefox_cryptopro_extension_latest.xpi /usr/lib/firefox-esr/distribution/extensions/ru.cryptopro.nmcades@cryptopro.ru.xpi # Downloaded from install.kontur.ru (firefox addon) COPY kontur.toolbox@gmail.com.xpi /usr/lib/firefox-esr/distribution/extensions/kontur.toolbox@gmail.com.xpi # Downloaded from https://ds-plugin.gosuslugi.ru/plugin/upload/Index.spr COPY addon-1.2.8-fx.xpi /usr/lib/firefox-esr/distribution/extensions/pbafkdcnd@ngodfeigfdgiodgnmbgcfha.ru.xpi # Downloaded from https://addons.mozilla.org/ru/firefox/addon/adapter-rutoken-plugin/ COPY rutokenplugin@rutoken.ru.xpi /usr/lib/firefox-esr/distribution/extensions/rutokenplugin@rutoken.ru.xpi CMD ["bash"]

    Стоит добавить, что лицензия на КриптоПро идёт в составе сертификата (записывается на токен) выданного в ФНС. Если спустя время лицензию перестанут предоставлять, то криптопро позволяет работать в демо режиме ну и наконец можно приобрести. Ввод лицензии потребует дополнительные шаги.

    Надеюсь это поможет пользователям Linux операционок пользоваться КЭП от ФНС без лишней головной боли.

    Источник

    Linux криптопро добавить контейнер

    В данной статье мы описываем процесс установки и настройки КриптоПро CSP на ОС Linux (на примере Debian 11).

    Она будет полезна вам, если вы получили ключ и сертификат в ФНС и используете ОС Linux для работы.

    Порядок настройки:

    1) Установка КриптоПро CSP 5.0:

    1.1. Выполните регистрацию на сайте нашей компании. Если Вы уже зарегистрированы – выполните вход (необходимо ввести адрес электронной почты и пароль, которые Вы указывали при регистрации)

    1.2. Перейдите на страницу загрузки дистрибутивов КриптоПро CSP

    1.3. Ознакомьтесь с условиями лицензионного соглашения и нажмите кнопку «Я согласен с лицензионным соглашением. Перейти к загрузке»

    1.4. Нажмите кнопку «Скачать для Linux», для загрузки дистрибутива актуальной версии КриптоПро CSP

    1.5. Распакуйте загруженный архив: tar -xvf linux-amd64_deb.tgz && cd linux-amd64_deb

    1.6. Запустите установку в графическом интерфейсе посредством запуска скрипта

    sudo ./install_gui.sh

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

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

    • pcscd (sudo apt-get install pcscd)
    • libccid (sudo apt-get install libccid)
    • Рутокен ЭЦП 2.0, Рутокен ЭЦП 3.0, Рутокен TLS — библиотека для работы через PKCS#11 интерфейс
    • JaCarta-2 ГОСТ — Единый клиент JaCarta
    • ESMART Token ГОСТ — ESMART PKI Client
    • Рутокен S — пакет ifd-rutokens_1.0.4 расположен в архиве с ПО

    установка скаченных выше библиотек PKCS#11 выполняется командой

    sudo dpkg -i путь до скаченной библиотеки

    убедитесь, что служба pcscd запущена sudo systemctl status pcscd

    если нет запустите ее sudo systemctl enable —now pcscd

    2) Установка КриптоПро ЭЦП BrowserPlug-in 2.0:

    Распакуйте загруженный архив: tar -xvf cades-linux-amd64.tar.gz

    sudo dpkg -i cprocsp-pki-cades

    sudo dpkg -i cprocsp-pki-plugin

    3) Установка личного сертификата:

    Установка личного сертификата с привязкой к ключевому контейнеру на ключевом носителе (при подключенном ключевом носителе):

    Обзор
    Показать приложения
    Инструменты КриптоПро
    Контейнеры
    Выбрать нужный ключевой носитель
    Установить сертификат

    Установка облачного сертификата описана в инструкции по ссылке

    Если настройка произведена корректно, то в поле Сертификат появится строка, соответствующая сертификату.

    После выбора сертификата и нажатия кнопки Подписать появится надпись Подпись сформирована успешно.

    5) Проверка статуса лицензии КриптоПро CSP 5.0:

    Обзор
    Показать приложения

    Инструменты КриптоПро
    Общее

    6) Активация лицензии КриптоПро CSP 5.0:

    Обзор
    Показать приложения
    Инструменты КриптоПро
    Общее
    Ввести лицензию для меня

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

    a) При необходимости отдельной установки сертификатов

    корневых удостоверяющих центров (например, в случае использования неквалифицированного сертификата) или промежуточных удостоверяющих центров (например, в случае с проблемами автоматического построения цепочки сертификатов по ссылкам из сертификатов) эти сертификаты можно установить следующим образом:

    Обзор
    Показать приложения
    Инструменты КриптоПро
    Сертификаты
    Установить сертификаты
    выбрать файл с нужным сертификатом

    b) Для работы на портале nalog.ru необходимо:

    — иметь в наличии квалифицированный сертификат электронной подписи и соответствующий ему ключ,

    — для входа в личный кабинет ИП или ЮЛ с помощью электронной подписи использовать один из браузеров (рекомендуется использовать последнии доступные версии браузеров) с поддержкой ГОСТ TLS — Chromium-Gost или Яндекс.Браузер и входить по прямой ссылке:

    https://lkulgost.nalog.ru/ — для юридических лиц,

    c) Информация по входу на портал gosuslugi.ru доступна по ссылке .

    Источник

    Читайте также:  Linux for ssd drive
Оцените статью
Adblock
detector