Свободный документооборот на основе платформы RunaWFE Free (Андрей Михеев, OSSDEVCONF-2023)
Материал из 0x1.tv
- Докладчик
В докладе показана разработанная в последних версиях платформы RunaWFE Free функциональность «Бизнес-процессы электронного документооборота», относящаяся к внутреннему электронному документообороту предприятия. Выпуск неквалифицированной ЭЦП. Подписание документа присоединённой ЭЦП и проверка подписи документа различными пользователями.
Содержание
Видео
Презентация
Thesis
Платформа RunaWFE Free и процессный подход
RunaWFE Free основана на процессном подходе к управлению предприятием. В соответствии с этим подходом деятельность предприятия представляется в виде исполняющихся экземпляров бизнес-процессов. Каждый экземпляр содержит схему бизнес-процесса, по которой перемещаются точки управления. В момент прихода точек управления в определённые узлы схемы генерируют задания исполнителям. Схемы бизнес-процессов должны разрабатываться так, чтобы задания исполнялись скоординировано и в нужном порядке. Процессный подход позволяет повысить производительность труда, прозрачность бизнеса, даёт возможность быстрого изменения бизнес-процессов предприятия в ответ на изменение условий бизнеса.
Новая функциональность RunaWFE Free, связанная с электронно-цифровой подписью
Платформа была интегрирована с библиотеками Bouncy Castle (для работы с ЭЦП) и Pdfbox (для работы с pdf-файлами). Взаимодействие с библиотеками реализовано через графические элементы форм и задачи-сценарии (объекты, располагаемые на схеме бизнес-процесса).
В установленной системе генерируется корневой сертификат ЭЦП. Его свойства можно посмотреть в меню «Система»:
Далее для любого пользователя средствами платформы можно сгенерировать сертификат и закрытый ключ ЭЦП. Информация об ЭЦП пользователя добавлена в его свойства.
Подписание документа производится в обработчике задачи-сценария, который обращается к контейнеру PKCS\#12 пользователя. Проверка подписи производится в другом обработчике задачи-сценария, тоже с обращением к контейнеру PKCS\#12 пользователя. Закрытые ключи пользователей и корневого сертификата хранятся в базе данных в виде PKCS\#12 контейнеров сериализованных в массив байтов.
В настоящее время платформа позволяет подписывать только PDF-документы.
Реализация документооборота на платформе RunaWFE Free
В системе разрабатывается бизнес-процесс, содержащий узлы подписания и проверки электронной подписи. (см. Рисунок 3).
После подписания PDF-файла кроме самой ЭЦП в его текст вносится информация (см. Рисунок 4). Подпись является присоединённой к документу. Каждая последующая подпись подписывает документ вместе со всеми предыдущими подписями.
Ниже представлена стартовая форма бизнес-процесса согласования документа и форма одного из его заданий. Задание позволяет пользователю как подписать, так и отклонить документ, а также содержит информацию о других участниках документооборота.
Также возможен режим использования RunaWFE Free, при котором криптографические средства не встраиваются в систему, а используются независимо. Система при этом только генерирует задания на подписание документов и хранит подписанные файлы. В качестве криптографической программы для этого можно использовать, например, графическую утилиту Kleopatra. Однако это будет неудобно, т. к. файлы для проверки и подписания надо будет всё время передавать в Kleopatra через файловую систему.