КриптоПро | Инструменты КриптоПро — кроссплатформенный графический интерфейс

КриптоПро | Инструменты КриптоПро - кроссплатформенный графический интерфейс ЭЦП

Почему именно dialog?

Во-первых, потому что это «наколенная» разработка и мне не хотелось заморачиваться и вдаваться в более серьезну разработку. Решил обойтись командной строкой и системой, которая доступна практически для любой *nix-системы.Во-вторых, просто не смог найти нормальную документацию CryptoPRO для прямого взаимодействия с библиотеками.

Описание

CryptoPRO инсталятор and GUI менеджер для UNIX-систем.Данная программа предназначена для установки, обновления и удаления программы CryptoPRO с использованием скриптов командной оболочки Dialog.Пока не имеет никакой версии, а является некой «преальфой».

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


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

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

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

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

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

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

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

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

Gui менеджер

  • удаление сертификата (понятия не имею, как это реализовать???)

Gui менеджер cprogui.sh

Программа для управления контейнерами сертификатов на ключевых носителях и в локальном хранилище.

Для запуска программы, требуется для файла cprogui.sh из директории проекта установить аттрибут на исполнение:

Запуск программы производится командой из директории проекта:

Меню программы имеет следующие пункты:

  • Список подключенных ключевых носителей: показывает список подключенных ключевых носителей.
  • Список доступных контейнеров: выводит список всех контейнеров, которые доступны системе, включая ключевые носители и локальные хранилища.
  • Установка корневого сертификата: позволяет выбрать файл корневого сертификата с последующей установкой.
  • Копирование контейнеров между хранилищами: позволяет копировать контейнеры между хранилищами: KEY->KEY, KEY->HDIMAGE, HDIMAGE->KEY. (KEY — ключевой носитель, HDIMAGE — локальное хранилище).
  • Установка сертификата контейнера: установка сертификата контейнера с ключевого носителя или локального хранилища.
  • Проверка работы контейнера по закрытому ключу: позволяет проверить работу контейнера по закрытому ключу.
  • Удаление сертификата: удаление установленного сертификата (TODO).

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

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

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

Инсталятор install.sh

Программа для полной или частичной установки и удаления CryptoPRO.

Для запуска программы, требуется для файла install.sh из директории проекта установить аттрибут на исполнение:

Запуск программы производится командой из директории проекта:

Меню программы имеет следующие пункты:

  • Чистая установка: полное удаление CryptoPRO из системы, включая драйверы ключевых носителей, browser plugin, настройки программы, локального хранилища контейнеров и последующая установка CryptoPRO, включая поддержку ключевого носителя ESMART 64k и browser plugin.
    ВНИМАНИЕ: особое внимание хочу обратить, что данный пункт установки ПОЛНОСТЬЮ УДАЛИТ ваше локальное хранилище, контейнеры и все установленные сертификаты контейнеров, включая корневые сертификаты.
  • Проверка установленных программ: проверяет установленную CryptoPRO: наличие и чтение ключевых носителей.
  • Установка/переустановка CryptoPro: установка CryptoPRO, включая browser plugin. Если до этого была установлена другая версия CryptoPRO, она будет удалена.
  • Удаление CryptoPro: удаление CryptoPRO, включая browser plugin.
  • Установка/переустановка Browser Plugins: установка browser plugin. Если до этого была установлена другая версия, она будет удалена.
  • Удаление Browser Plugins: удаление browser plugin.
  • Установка/переустановка драйвера ESMART 64k: установка драйвера поддержки ключевого носителя ESMART 64k. Если до этого была установлена другая версия, она будет удалена.
  • Удаление драйвера ESMART 64k: удаление драйвера поддержки ключевого носителя ESMART 64k.
  • Полное удаление: полное удаление CryptoPRO из системы, включая драйверы ключевых носителей, browser plugin, настройки программы и локального хранилища контейнеров.
    ВНИМАНИЕ: особое внимание хочу обратить, что данный пункт ПОЛНОСТЬЮ УДАЛИТ ваше локальное хранилище, контейнеры и все установленные сертификаты контейнеров, включая корневые сертификаты.

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

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

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

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

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

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

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

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