Как я настраивал новые утилиты по работе с электронной подписью в Linux / Хабр

Как я настраивал новые утилиты по работе с электронной подписью в Linux / Хабр Электронная цифровая подпись

Основные функции

Вкладка “Общее” отображает информацию о провайдере и его лицензии, а также позволяет сменить язык отображения.

Вкладка “Облачный провайдер” позволяет зарегистрировать в системе облачные контейнеры. Надо отметить, что на Linux и macOS они будут работать только с провайдером KC1. Подробней об этом можно прочитать в статье – “КриптоПро CSP 5.0: Облачный провайдер”.
Инструменты КриптоПро - Облачный провайдер
На вкладке “Контейнеры” можно увидеть контейнеры на всех носителях и их свойства. Перечисление и опрос свойств может занимать ощутимое время, поэтому обновление списка происходит автоматически только при подключении или отключении устройств. Также его можно форсировать по CTRL R или F5, но горячие клавиши пока не стабилизировались. Колонками в этой таблице и в таблице на вкладке “Сертификаты” можно управлять по правому клику мыши. Это единственные места, где используется правая кнопка.
Инструменты КриптоПро - Контейнеры
Здесь доступны:
На вкладке “Сертификаты” отображаются сертификаты в выбранном хранилище. Их можно удалять, экспортировать в файлы (в расширенном режиме – вместе с ключами – в pfx). При установке сертификатов они автоматически распределяются по подходящим хранилищам (корневые – в Root, промежуточные – в CA, личные – в My), для личных сертификатов сразу проставляется ссылка на закрытый ключ. Для успешной работы надо заранее вставить ключевой носитель с соответствующим сертификату контейнером.
Инструменты КриптоПро - Сертификаты
Также можно просмотреть свойства сертификата. Так как для разбора используется certmgr, то это единственное пока не локализованное окно.
Инструменты КриптоПро - Сертификаты - Свойства
Вкладка “Создание подписи” предназначена для CMS-подписи файлов. Обычно создаётся присоединённая (attached) подпись, но в расширенном режиме можно выбрать отсоединённую (detached).
Инструменты КриптоПро - Создание подписи
На вкладке “Проверка подписи” соответственно проверяется CMS-подпись файла. В расширенном режиме для присоединённой (attached) подписи можно выбрать, куда сохранить исходный файл. В простом режиме будет только проверка подписи.
Инструменты КриптоПро - Проверка подписи

Вкладка “Управление носителями” есть только в расширенном режиме. Здесь доступны действия, для которых раньше требовались сервисные приложения от производителей устройств:

На вкладке “Настройки”, которая тоже доступна только в расширенном режиме, собраны:

Инструменты КриптоПро - Настройки
Более подробное описание можно найти в документации в составе КриптоПро CSP 5.0 – “Инструкция по использованию. Инструменты КриптоПро” на странице загрузки.

Русев Андрей,

начальник отдела системных разработок

ООО «КРИПТО-ПРО»

Rosa crypto tool

Как следует из названия, это утилита для работы с электронной подписью и шифрованием для дистрибутива ROSA Linux. В данный момент утилита доступна в репозиториях Rosa Linux и Alt Linux.

Читайте также:  Установка сертификата и закрытого ключа

Эта утилита разрабатывается одним человеком – Михаилом Вознесенским. У нее простой, но удобный интерфейс. На данный момент утилита находится в активной разработке – с ноября 2022 года мне удалось протестировать три версии. Последняя версия, доступная на момент написание статьи — 0.2.2.

Что внутри? Утилита написана на Python с использованием PyQt4 для графического интерфейса.

Установить ее можно, использовав «Управление программами» в Rosa Linux.

Вставляем токен и запускаем утилиту.

Видим, что токен определился успешно и был найден наш сертификат.

Интерфейс программы настолько прост, что описывать и показывать в статье все его функции не имеет смысла. Попробуем только подписать файл.

Выбираем файл и жмем “Подписать файл”. Получаем вот такое предупреждение.

Нажимаем «OK» и получаем информацию о том, что файл был подписан успешно.

Основное достоинство этой утилиты в том, что она совершенно бесплатная, в отличии нашего следующего продукта.

По сравнению с использованием «КриптоПро CSP» из консоли:

На порядок проще использовать;— Отсутствуют различные параметры подписи.

Исходный код программы доступен в публичном репозитории на ABF:abf.io/uxteam/rosa-crypto-tool-develСистема контроля версий, которую использует «НТЦ ИТ РОСА», интегрирована в сборочную среду и базируется на Git. Можно вполне использовать любой клиент git.

Надеюсь, разработчики других отечественных дистрибутивов Linux, таких как Astra Linux, GosLinux и другие добавят в свои дистрибутивы пакеты с rosa-crypto-tool.

Trusted esign

Второй продукт, про который мы поговорим, это Trusted eSign от компании “Цифровые технологии”. Она известна на российском рынке ИБ как разработчик средства по работе с подписью и шифрованием для ОС Windows – «КриптоАРМ».

Главное, не путать этот продукт с Trusted.eSign – web-сервисом по работе с подписью этой же компании.

Замысел создания

Потребность иметь удобные инструменты с графическим интерфейсом не только на Windows назревала давно. Мы поставили перед собой задачу не только дать такую возможность пользователям Linux и macOS, но и превзойти наработки старой панели управления. Основной идеей было дать возможность обычным людям просто и удобно решать типичные задачи.

Во главе угла – именно простота, и в некоторых случаях функциональность была и будет принесена в жертву. Например, в cptools можно подписывать файлы, но нельзя добавить штамп времени в подпись, потому что это не ложится в простой интерфейс. Также мы старались, чтобы пользователю надо было отвечать на минимальное количество вопросов.

Читайте также:  Как подгрузить эцп в криптопро

Интерфейсные решения

Крупные кнопки и шрифты стали основой для простого и лаконичного интерфейса. Хотя доля сенсорных дисплеев для десктопов и ноутбуков не достигает и 10%, мы решили, что поддержку планшетного режима лучше заложить. Поэтому опять же крупные кнопки и минимальное использование правой кнопки мыши.

Дисплеи потихоньку вытягиваются по горизонтали, хоть это и снижает удобство работы. Чтобы уменьшить потери высоты в рабочей области приложения, мы перенесли основное меню влево. У меню плоская организация, так чтобы сразу можно было окинуть взглядом всю функциональность.

В меню есть специальная кнопка “Показать расширенные” (имеются в виду элементы управления). Она предназначена для опытных пользователей и добавляет как пункты меню, так и дополнительные кнопки, списки и галки на вкладках. Расширенный режим действует прозрачно: если кнопки не поменялись, то в расширенном режиме они будут выполнять ровно те же действия, что и в обычном. И наоборот: если кнопка поменяла название со “Скопировать контейнер” на “Скопировать контейнер как”, то она предоставит какие-то новые возможности.

Мы отказались от идеологии “мастеров” (“wizard”), так как она делает интерфейс тяжеловесным и непрозрачным. Вместо этого мы постарались автоматизировать часть действий, особенно в обычном (не расширенном режиме). В результате, например, копирование контейнера делается в 4 клика, вместо 9 как в старой контрольной панели, а тестирование – в 2 вместо 4.


В приложении есть поиск по элементам интерфейса. Он скроет вкладки, где нет ничего найденного. На вкладках “Контейнеры”, “Создание подписи” и “Сертификаты” есть отдельный поиск по контейнерам и сертификатам.

Приложение локализовано и имеет собственную настройку выбранного языка.

Настройка «криптопро» csp

Несмотря на то, что есть несколько неплохих статей по настройке «КриптоПро CSP» под Linux (например,

или

), я опишу здесь свой вариант. Основная причина в том, что большинство инструкций написаны для «Крипто Про CSP» версии 3.x. А современная версия «КриптоПро CSP» 4.0 не является 100% совместимой с 3.x. Дополнительная причина – всегда приятно иметь полную инструкцию по настройке в одном месте, а не переключаться с одного окна на другое.

Приступаем к настройке.

Настройка работы с рутокен эцп 2.0

Сделаем небольшое отступление. Для работы с электронной подписью и шифрованием нам не обойтись без ключевых пар и сертификатов. Надежное хранение закрытых ключей – один из основных факторов безопасности. А более надежных средств хранения, чем токен или смарт-карта, человечество пока не придумало.

Читайте также:  Получение ЭЦП в ЦОНе: Проще, чем кажется

Для работы с токенами в ОС Linux есть масса различных средств и драйверов. Для описания всех этих средств понадобится отдельная статья. Поэтому я не буду подробно описывать, как это работает, и почему нам нужны именно эти пакеты.

Устанавливаем пакеты для работы с Рутокен ЭЦП 2.0:

apt-get install libpcsclite1 pcscd libccid

Нам также необходимо установить пакеты КриптоПро CSP для поддержки работы с токенами:

dpkg -i ./cprocsp-rdr-gui-gtk-64_4.0.0-4_amd64.deb ./cprocsp-rdr-rutoken-64_4.0.0-4_amd64.deb ./cprocsp-rdr-pcsc-64_4.0.0-4_amd64.deb ./lsb-cprocsp-pkcs11-64_4.0.0-4_amd64.deb

Подпись средствами «криптопро csp»

В составе «КриптоПро CSP» есть утилита csptestf, позволяющая выполнять различные криптографические операции. Как я уже писал выше, у этой утилиты есть 2 недостатка:

Подписать можно с помощью команды:

csptestf –sfsign –sign –in <имя файла> -out <имя файла> -my ‘Trusted eSign Test’ –detached –alg GOST94_256


Здесь,

my — параметр, в котором надо указать часть Common Name сертификата для подписи;

detached — позволяет создать открепленную подпись;

alg GOST94_256 — задает алгоритм хэширования, который будет использоваться при создании подписи.

Более подробную информацию о возможных параметрах вы можете получить, выполнив команду:

csptestf –sfsign

Такой интерфейс отлично подходит для подготовленного пользователя или для автоматизации операций в скриптах.

Поговорим теперь об утилитах, которые облегчают жизнь обычным пользователям при работе с подписью и шифрованием в Linux.

Получаем тестовый сертификат


Перед тем как перейти непосредственно к работе с подписью, надо сгенерировать ключевую пару и создать сертификат электронной подписи. Если у вас уже есть Рутокен с контейнером «КриптоПро», то эту часть можно смело пропустить.

Резюме

Подведем итог. В конце 2022 – начале 2022 года наметился неплохой прогресс в средствах по работе с электронной подписью под Linux. Информационная безопасность начинает поворачиваться к пользователю лицом, и с каждым годом требуется все меньше действий для такого простого действия, как подписать или зашифровать файл с использованием отечественных алгоритмов.

Хочется дополнительно отметить такое развитие отечественных продуктов, учитывая современный тренд на замену Windows на Linux в государственных и муниципальных организациях. В рамках этого тренда становится актуальным использование средств криптографической защиты информации под Linux.

Такое развитие не может не радовать, особенно когда это происходит под Linux.

Оцените статью
ЭЦП Эксперт
Добавить комментарий

Adblock
detector