# Цифровые подписи модулей

Многомодульное приложение на платформе JaBricks включает набор бандлов. «Стержнем» приложения является фреймворк (framework), который может подключать другие бандлы (модули) в общую информационную систему. Бандл – это jar-файл. В связи с тем, что jar-файл можно декомпилировать, внести изменения и снова собрать, то бандлы системы «JaBricks» защищены цифровой подписью. Конечно же, цифровая подпись не защитит код от взлома. Но после внесения каких-либо изменений цифровая подпись становится недействительной.

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

## Фильтр

Фильтр включает текстовый компонент (шаблон) и две кнопки. Кнопка сброса фильтра сначала деактивирована. При нажатии на кнопку фильтрации в таблицу загружаются только модули, Наименование, Раздел или Заголовок которых удовлетворяет значению в шаблоне. При этом, кнопка сброса фильтра активируется, позволяя отменить фильтрацию записей.

## Цифровая подпись

Действительная цифровая подпись представлена в нижнем компоненте в виде наименований двух файлов. Файл с расширением «.RSA» – это включенный в бандл на момент «подписания» цифровой сертификат, используемый в криптографии с открытым ключом. Файл с расширением «.SF» содержит дайджесты (MessageDigest) манифеста и файлов архива, дополненные датой подписания. Если цифровая подпись окажется недействительной, то в нижнем компоненте будет представлено сообщение об ошибке (SecurityException), как это представлено на следующем скриншоте.