KasperskyOS Community Edition 1.3

Работа с KPA-пакетами

KPA-пакет представляет собой файл в проприетарном формате KPA, который служит упаковкой для программы, предназначенной для установки в решение на базе KasperskyOS. Он включает в себя следующие элементы:

  • Заголовок KPA-пакета. Представляет собой уникальную последовательность байтов, которая используется для идентификации формата KPA.
  • Манифест KPA-пакета. Представляет собой структуру данных, описывающую файл формата JSON, который содержит подробную информацию о KPA-пакете.
  • Компоненты KPA-пакета. Представляют собой выровненные байтовые последовательности с произвольным содержимым. В качестве компонентов KPA-пакета могут выступать исполняемые файлы, библиотеки, текстовые данные, а также любые другие данные, которые требуются для работы программы.
  • Индекс KPA-пакета. Представляет собой структуру данных, которая описывает количество компонентов KPA-пакета, их хеш-суммы и размеры.

KPA-пакет в сжатом формате представляет собой файл в формате KPAC. Формат KPAC представляет собой вариант формата ZIP, который содержит в себе следующие ограничения: отсутствие иерархии директорий, отсутствие вложенных zip-архивов, ограничение на размер и количество входящих файлов. Файл формата KPAC содержит в себе KPA-пакет, его внешнюю подпись и индексный файл. Внешняя подпись KPA-пакета представляет собой файл проприетарного формата KCAT и располагается вне файла KPA-пакета. Внешняя подпись защищает от подмены и внесения изменений как сам KPA-пакет, так и индексный файл KPA-пакета. Индексный файл KPA-пакета представляет собой файл проприетарного формата KIDX и используется для проверки целостности KPA-пакета.

Управление KPA-пакетами

Для управления KPA-пакетами в составе KasperskyOS Community Edition поставляются:

  • CMake-библиотека platform/kpa, предназначенная для сборки KPA-пакетов в процессе сборки решения на базе KasperskyOS. При использовании функций CMake-библиотеки platform/kpa манифест KPA-пакета создается автоматически.
  • Утилиты, которые позволяют собрать в системе, где установлен SDK, KPA-пакет из исходных файлов программы и установить KPA-пакет в собираемый образ решения на базе KasperskyOS.
  • Компонент PackageManager, который позволяет установить KPA-пакеты в работающее решение на базе KasperskyOS, а также удалить KPA-пакеты и получить сведения о них.

В этом разделе

Манифест KPA-пакета

Утилиты для управления KPA-пакетами

Сценарий использования компонента PackageManager