В составе КриптоПро CSP 5.0 появилось графическое приложение для Windows, Linux и macOS - "Инструменты КриптоПро" ("CryptoPro Tools") или просто cptools. Оно позволяет:
- управлять контейнерами и сертификатами
- создавать и проверять CMS-подписи под файлами
- регистрировать облачные контейнеры, хранящиеся в КриптоПро DSS
- выполнять сервисные операции с носителями
- отображать информацию о провайдере и лицензии и делать некоторые настройки
Замысел создания
Потребность иметь удобные инструменты с графическим интерфейсом не только на Windows назревала давно. Мы поставили перед собой задачу не только дать такую возможность пользователям Linux и macOS, но и превзойти наработки старой панели управления. Основной идеей было дать возможность обычным людям просто и удобно решать типичные задачи. Во главе угла - именно простота, и в некоторых случаях функциональность была и будет принесена в жертву. Например, в cptools можно подписывать файлы, но нельзя добавить штамп времени в подпись, потому что это не ложится в простой интерфейс. Также мы старались, чтобы пользователю надо было отвечать на минимальное количество вопросов. В то же время мы добавили расширенный (extended) режим для опытных пользователей, который предоставляет менее востребованные дополнительные возможности.
Интерфейсные решения
Крупные кнопки и шрифты стали основой для простого и лаконичного интерфейса. Хотя доля сенсорных дисплеев для десктопов и ноутбуков не достигает и 10%, мы решили, что поддержку планшетного режима лучше заложить. Поэтому опять же крупные кнопки и минимальное использование правой кнопки мыши.
Дисплеи потихоньку вытягиваются по горизонтали, хоть это и снижает удобство работы. Чтобы уменьшить потери высоты в рабочей области приложения, мы перенесли основное меню влево. У меню плоская организация, так чтобы сразу можно было окинуть взглядом всю функциональность.
В меню есть специальная кнопка "Показать расширенные" (имеются в виду элементы управления). Она предназначена для опытных пользователей и добавляет как пункты меню, так и дополнительные кнопки, списки и галки на вкладках. Расширенный режим действует прозрачно: если кнопки не поменялись, то в расширенном режиме они будут выполнять ровно те же действия, что и в обычном. И наоборот: если кнопка поменяла название со "Скопировать контейнер" на "Скопировать контейнер как", то она предоставит какие-то новые возможности.
Мы отказались от идеологии "мастеров" ("wizard"), так как она делает интерфейс тяжеловесным и непрозрачным. Вместо этого мы постарались автоматизировать часть действий, особенно в обычном (не расширенном режиме). В результате, например, копирование контейнера делается в 4 клика, вместо 9 как в старой контрольной панели, а тестирование - в 2 вместо 4.
В приложении есть поиск по элементам интерфейса. Он скроет вкладки, где нет ничего найденного. На вкладках "Контейнеры", "Создание подписи" и "Сертификаты" есть отдельный поиск по контейнерам и сертификатам.
Приложение локализовано и имеет собственную настройку выбранного языка.
Основные функции
Вкладка "Общее" отображает информацию о провайдере и его лицензии, а также позволяет сменить язык отображения.
Вкладка "Облачный провайдер" позволяет зарегистрировать в системе облачные контейнеры. Надо отметить, что на Linux и macOS они будут работать только с провайдером KC1. Подробней об этом можно прочитать в статье - "КриптоПро CSP 5.0: Облачный провайдер".
На вкладке "Контейнеры" можно увидеть контейнеры на всех носителях и их свойства. Перечисление и опрос свойств может занимать ощутимое время, поэтому обновление списка происходит автоматически только при подключении или отключении устройств. Также его можно форсировать по CTRL+R или F5, но горячие клавиши пока не стабилизировались. Колонками в этой таблице и в таблице на вкладке "Сертификаты" можно управлять по правому клику мыши. Это единственные места, где используется правая кнопка. Здесь доступны:
- установка сертификата из контейнера в хранилище сертификатов с автоматической привязкой к закрытому ключу
- копирование контейнера (с дополнительными возможностями в расширенном режиме)
- смена пароля и удаление контейнера (в расширенном режиме)
- тестирование контейнера, отчёт по которому сделан наглядней, чем в старой панели
На вкладке "Сертификаты" отображаются сертификаты в выбранном хранилище. Их можно удалять, экспортировать в файлы (в расширенном режиме - вместе с ключами - в pfx). При установке сертификатов они автоматически распределяются по подходящим хранилищам (корневые - в Root, промежуточные - в CA, личные - в My), для личных сертификатов сразу проставляется ссылка на закрытый ключ. Для успешной работы надо заранее вставить ключевой носитель с соответствующим сертификату контейнером.
Также можно просмотреть свойства сертификата. Так как для разбора используется certmgr, то это единственное пока не локализованное окно.
Вкладка "Создание подписи" предназначена для CMS-подписи файлов. Обычно создаётся присоединённая (attached) подпись, но в расширенном режиме можно выбрать отсоединённую (detached).
На вкладке "Проверка подписи" соответственно проверяется CMS-подпись файла. В расширенном режиме для присоединённой (attached) подписи можно выбрать, куда сохранить исходный файл. В простом режиме будет только проверка подписи.
Вкладка "Управление носителями" есть только в расширенном режиме. Здесь доступны действия, для которых раньше требовались сервисные приложения от производителей устройств:
- смена пароля на носителе
- смена PUK
- возврат к паролю по умолчанию
- сброс к заводским настройкам
- сброс счётчика попыток ввода PIN-а
- забывание пароля, что особенно актуально для Rutoken-ов, которые не хотят их забывать, пока не вынешь
На вкладке "Настройки", которая тоже доступна только в расширенном режиме, собраны:
- настройка таймаутов при обращении к DSS-серверу
- удаление сохранённых паролей
- настройки для устройств подтверждения подписи, типа Rutoken PINPad
Русев Андрей,
начальник отдела системных разработок
ООО «КРИПТО-ПРО»