Где хранятся контейнеры криптопро линукс

КриптоПро в 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

    1. Открыть «Инструменты КриптоПро», вкладка «Сертификаты»;
    2. Нажать «Импортировать ключи».
      По умолчанию при импорте ключ копируется на ваш ПК. Если требуется использовать сертификат на съёмном носителе, его нужно скопировать на носитель и после установить;

    Перейти в место хранения сертификата, выбрать его и нажать «Открыть»;

    Ввести пароль от сертификата, заданный при выгрузке, и нажать «ОК»;

    В новом окне можно задать пароль на сертификат. Если пароль не нужен, оставить поля пустыми и нажать «ОК»;

  • Сертификат появится в списке сертификатов.
  • Установка .cer (только открытая часть)

    1. Открыть «Инструменты КриптоПро», вкладка «Сертификаты»;
    2. Нажать «Показать расширенные» и поставить галку «Отключить автовыбор хранилища (использовать текущее)».
      Если галку не ставить, «КриптоПро» автоматически будет определять хранилище для сертификатов. Личные сертификаты попадут в хранилище «Другие пользователи»;

    Перейти в выпадающем меню в нужное хранилище сертификатов и нажать «Установить сертификаты»;

    Перейти в место хранения сертификата, выбрать его и нажать «Открыть»;

  • Окно закроется, на вкладке появится строка с установленным сертификатом.
  • Установка из .key (скопированные с носителя 6 файлов ключа)

      Скопировать папку с файлами в папку локального хранения контейнеров «КриптоПро», по умолчанию «/var/opt/cprocsp/keys/имя_пользователя»;

  • После установки сертификат появится на вкладке «Сертификаты».
  • Установка сертификата с токена\флэш-накопителя

    1. Подключить накопитель или токен к вашему ПК;
    2. В «Инструментах КриптоПро» перейти на вкладку «Контейнеры» и выбрать нужный контейнер на носителе;
    3. Нажать «Установить сертификат»;

  • После установки сертификат появится на вкладке «Сертификаты».
  • Установка открытой части в контейнер закрытого ключа

    Выполнить команду:/opt/cprocsp/bin/amd64/certmgr -inst -inst_to_cont -ask-container -pin «пин-код токена» -file “путь к файлу сертификата”

    Пример:/opt/cprocsp/bin/amd64/certmgr -inst -inst_to_cont -ask-container -pin «12567» -file /path/to/certificate.cer

    Установка корневых сертификатов и списков отзыва

    Установка корневого сертификата удостоверяющего центра

    Вам необходимо воспользоваться любым из способов:

    Через терминал

    Выполнить команду: /opt/cprocsp/bin/amd64/certmgr -inst -cert -file ~/Загрузки/.cer -store uRoot

    Через графический интерфейс

      Открыть «Инструменты КриптоПро», нажать «Показать расширенные»;

  • Поставить галку «Отключить автовыбор хранилища (использовать текущее)»;
  • В выпадающем меню выбрать «Доверенные корневые центры сертификации»;

  • Нажать «Установить сертификаты», в открывшемся меню найти файл сертификата центра сертификации и нажать «Открыть»;
  • Может появиться сообщение-предупреждение о том, что установка корневых сертификатов несет риск безопасности. Нужно нажать «ОК»;
  • Внизу окна появится сообщение «Установка завершена». Если его развернуть, появится информация о совершенном действии.

    Установка списка отозванных сертификатов

    Выполнить команду:/opt/cprocsp/bin/amd64/certmgr -inst -crl -file ~/Загрузки/.crl

    Установка цепочки промежуточных сертификатов

    Выполнить команду:/opt/cprocsp/bin/amd64/certmgr -inst -cert -file ~/Загрузки/.p7b -store CA

    Источник

    Директория с контейнерами КриптоПро CSP на жёстком диске (HDIMAGE)

    Директорией (или HDIMAGE) в КриптоПро CSP обозначается место хранения контейнеров с ключами электронной подписи на системном диске.

    Директория на Windows

    При выборе в качестве носителя для создания контейнера «Директория» (Использовать для хранения ключей директорию на жестком диске) файлы контейнера будут записаны по следующему пути:

    Обратите внимание, каталог «AppData» является скрытым и чтобы в него попасть нужно включить отображение скрытых файлов или набрать «%appdata%» (без кавычек) прямо в адресной строке проводника.

    Для быстрого доступа можно нажать WIN + R и ввести следующий адрес:

    В этой директории вы увидите стандартные файлы контейнеров в папках формата хххххххх.000
    Внутри будут файлы с расширением *.key. Это и есть контейнер криптопро с закрытым и открытым ключом, а также сертификатом, если он был установлен в контейнер.

    Директория на macOS

    Контейнер КриптоПро CSP на маке находится в директории:

    Чтобы открыть директорию нужно запустить Finder, в меню выбрать «Переход» -> «Переход к папке» или Shift-⌘-G.
    Введите путь:

    В открывшейся папке выберите подпапку с именем пользователя.
    В ней вы найдёте папки с контейнерами КриптоПро.

    Директория с контейнерами КриптоПро CSP на жёстком диске (HDIMAGE) обновлено: 3 марта, 2023 автором: ЭЦП SHOP

    Установите программу которая заранее напомнит об окончании сроков!
    Плюс функции подписания любых документов электронной подписью!

    — Без посещения ФНС
    — Без очередей
    — Предварительная проверка данных
    — Лицензия КриптоПро CSP и USB-токен в «одном окне»

    Источник

    Читайте также:  Linux swap on raid
Оцените статью
Adblock
detector