ТЗ на программу-агент

Материал из Сервис Облачной Демократии
Версия от 22:15, 17 августа 2011; Админ (обсуждение | вклад)
(разн.) ← Предыдущая | Текущая версия (разн.) | Следующая → (разн.)
Перейти к: навигация, поиск

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

  1. Путь к программе gpg2 (диалог выбора файла).
  2. Путь к хранилищу gpg ключей (диалог выбора каталога).
  3. URL сервера ключей GPG. Значение по умолчанию - hkp://keys.cdemocracy.ru;
  4. Выбор из списка имеющихся своих секретных ключей ключа по умолчанию. Этот пункт активизируется после выбора двух верхних.
  5. Чекбокс "Скрывать программу при запуске".

Внизу три кнопки: "Сохранить" - активизируется при изменении какого-либо из параметров, "Отменить" - отменяет сделанные в параметрах изменения и "Завершить" - завершает работу программы.

HTTP сервер

Программа должна принимать HTTP соединения по адресу 127.0.0.1 пор 7920 (таймоут соединения не менее 300 секунд). Запрос типа POST, контент типа "application/x-www-form-urlencoded". В качестве URL будет выступать название функции:

Текст для подписания и шифрования передается в параметре запроса "text". В ответе типа "text/plain" должен передаваться результат работы функции.

Диалоги

По HTTP запросу программой должно выдаваться окно соответствующего назначения (в центре экрана, выше всех окон):

Для подписания текста: Выдается окно, в верхней части которого содержится текстовая информация, которую нужно подписать. Внизу окна на стандартном месте (горизонтально по середине) две кнопки - "Подписать" и "Отказаться". При нажатии "Подписать", должны производиться действия по подписанию текста с помощью вызова программы gpg2. Ответ должен передаваться в ответную часть запроса. При нажатии на "Отказаться" в ответ должен передаваться пустой текст (либо текст типа "Отказ в подписании" - строка должна быдь доступна в коде для изменения).

Для проверки подписи: Сразу производится проверка подписи. Если ключа, которым совершена подпись, не обнаруживается в локальном хранилище, производится попытка его скачать с сервера ключей GPG. После этого в диалоговом окне выводиться сообщение "Подпись верна" или "Плохая подпись" и, в случае верной подписи, идентификаторы ключа подписавшего. Снизу одна кнопка "Готово", по нажатию на которую окно закрывается.

... Продолжение следует ...

Личные инструменты
Пространства имён
Варианты
Действия
Навигация
Инструменты