1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/openharmony-security_appverify

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
README_zh.md 7.9 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
Отправлено 06.03.2025 17:11 5b57c3b

Проверка целостности приложений

Обзор

Чтобы гарантировать целостность приложения и надёжность его источника, OpenHarmony требует подписывать и проверять подписи приложений.

  • Стадия разработки приложения: После завершения разработки и создания установочного пакета разработчику требуется подписать этот пакет, чтобы доказать, что он не был изменён во время передачи на устройство. Модуль проверки целостности приложений OpenHarmony предоставляет средства подписи, правила генерации сертификата подписи и необходимый открытый ключ сертификата для обеспечения возможности подписи установочных пакетов для разработчиков. Для удобства сообщества open source в версии уже включены открытый ключ сертификата и соответствующий закрытый ключ; в коммерческой версии OpenHarmony эти ключи должны быть заменены.- Стадия установки приложения: Подсистема пользовательских программ OpenHarmony отвечает за установку приложений. После получения установочного пакета подсистема пользовательских программ должна распарсить данные подписи пакета, затем использовать API модуля проверки целостности приложений для проверки подписи. Только после успешной проверки подписи будет разрешена установка этого приложения. При проверке подписи установочного пакета модуль проверки целостности использует заранее установленный открытый ключ сертификата.## Схема архитектуры системы

Рисунок 1 Схема архитектуры проверки целостности приложений

Схема архитектуры проверки целостности приложений

  • Интерфейсы между подсистемами: Интерфейсы, предоставляемые модулем проверки целостности приложений другим модулям;

  • Проверка целостности: Защита целостности установочного пакета через проверку подписи, предотвращение изменения;

  • Идентификация источника приложения: Идентификация источника приложения путём сравнения цепочки сертификатов подписи с списком доверенных источников.

Каталог

/base/security/appverify
├── interfaces/innerkits/appverify         # Каталог с кодом модуля проверки целостности приложения
│       ├── config                         # Каталог с конфигурационными файлами для корневых сертификатов подписей приложений и доверенных источников
│       ├── include                        # Каталог хранения заголовочных файлов
│       ├── src                            # Каталог хранения исходных кодов
│       ├── test                           # Каталог хранения автоматизированных тестовых случаев модуля
├── test/resource                          # Каталог хранения тестовых ресурсов

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

Описание

Модуль проверки целостности приложений предоставляет интерфейсы между подсистемами, которые вызываются службой управления пакетами во время установки приложения.

Описание интерфейсов

Интерфейс Описание
int32_t HapVerify(const std::string& filePath, HapVerifyResult& hapVerifyResult) Проверяет целостность приложения и определяет его источник

Инструкция по использованию

Интерфейсы модуля проверки целостности приложений предназначены для использования между подсистемами и предоставляют базовые возможности, не открывая доступ для разработчиков. Для проверки целостности приложения используется путь к файлу приложения как входной параметр, вызывается интерфейс HapVerify, а результат проверки можно получить через возвращаемое значение интерфейса, а также через передачу параметра hapVerifyResult по ссылке.```cpp Security::Verify::HapVerifyResult verifyResult; int32_t res = Security::Verify::HapVerify(hapPath, verifyResult); if (res != Security::Verify::HapVerifyResultCode::VERIFY_SUCCESS) { // Обработка ошибки }


## Связанные репозитории <a name="section1371113476307"></a>

Подсистема безопасности

hmf/security/appverify

Опубликовать ( 0 )

Вы можете оставить комментарий после Вход в систему

1
https://api.gitlife.ru/oschina-mirror/openharmony-security_appverify.git
git@api.gitlife.ru:oschina-mirror/openharmony-security_appverify.git
oschina-mirror
openharmony-security_appverify
openharmony-security_appverify
master