Почему именно 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.
В приложении есть поиск по элементам интерфейса. Он скроет вкладки, где нет ничего найденного. На вкладках «Контейнеры», «Создание подписи» и «Сертификаты» есть отдельный поиск по контейнерам и сертификатам.
Приложение локализовано и имеет собственную настройку выбранного языка.