Key Store

Key Store

Aurora OS example to demonstrate the QCA Keystore API.

RU | EN


Пример QCA Keystore API

Приложение для демонстрации работы с QCA Keystore API под ОС Аврора.

Для взаимодействия с Keystore необходимо указывать провайдер "qca-aurora-pkcs11" при создании каждого криптообъекта QCA.

Для взаимодействия с QCA Keystore необходимо возвращать "cktee" по запросу QCA::Event::KeyStorePkcs11Provider, если устройство поддерживает TEE, или возвращать "Aurora-SoftHSM", если устройство не поддерживает TEE (используется SoftHSM токен).

В Keystore в настоящий момент доступен только кейстор типа "USERAPP". Кейстор "USERAPP" предназначен для хранения данных, зависящих и от приложения, и от пользователя. Они будут доступны для вызывающего приложения под конкретным пользователем. Для выбора типа кейстор необходимо передать его название при событии QCA::Event::KeyStoreId.

Содержание

  1. Содержание
  2. Совместимость
  3. Особенности использования и сборки
  4. Информация о ветках
  5. Установка и запуск
  6. Скриншоты
  7. Структура проекта
  8. Правила использования и участие в разработке

Совместимость

Приложение корректно работает начиная с ОС Аврора 5.1.3 и выше.

Особенности использования и сборки

Данный пример-приложение собирается с помощью Аврора SDK: Документация

Информация о ветках

Ветки

Установка и запуск

Проект собирается обычным образом с помощью Аврора SDK: Документация.

Снимки экранов

screenshots

Структура проекта

Проект имеет стандартную структуру приложения на базе C++ и QML для ОС Аврора.

  • Файл ru.auroraos.Keystore.pro описывает структуру проекта для системы сборки qmake.
  • Каталог icons содержит значки приложения для поддерживаемых разрешений экрана.
  • Каталог qml содержит исходный код на QML и ресурсы интерфейса пользователя.
    • Каталог cover содержит реализации обложек приложения.
    • Каталог images содержит дополнительные значки интерфейса пользователя.
    • Каталог pages содержит страницы приложения.
    • Файл Keystore.qml предоставляет реализацию окна приложения.
  • Каталог rpm содержит настройки сборки rpm-пакета. ru.auroraos.Keystore.spec используется инструментом rpmbuild.
  • Каталог src содержит исходный код на C++.
    • Файл main.cpp является точкой входа в приложение.
    • Файлы testthread.h и testthread.cpp содержат класс TestThread, в котором выполняется тестовый код для Keystore. Основная функция TestThread::run() показывает возможные способы взаимодействия с Keystore.
    • Файлы clientpassphrasehandler.h и clientpassphrasehandler.cpp содержат класс ClientPassphraseHandler, который обрабатывает события со стороны QCA, такие как запрос на получение пароля keystore, получение типа симметричного ключа и т.п.
    • Файлы askerthread.h и askerthread.cpp содержат специальную обёртку для запуска ClientPassphraseHandler в отдельном потоке. Поток обработки событий и код взаимодействия с QCA рекомендуется запускать в разных потоках, чтобы обработка событий могла быстро проходить в ассиметричном режиме.
    • Файлы appjournal.h и appjournal.cpp содержат класс для ведения журнала проверки Keystore, который может быть отображен пользователю.
    • Файлы loggerhelper.h и loggerhelper.cpp содержат вспомогательный класс для журналирования информации о Keystore.
  • Каталог translations содержит файлы перевода интерфейса пользователя.
  • Файл ru.auroraos.Keystore.desktop определяет отображение и параметры запуска приложения.

Правила использования и участие в разработке

Исходный код проекта предоставляется по лицензии, которая позволяет использовать его в сторонних приложениях.

Лицензионное соглашение с участником Соглашение участника регламентирует права, предоставляемые участниками компании «Открытая Мобильная Платформа».

Информация об участниках указана в файле AUTHORS.

Кодекс поведения — это действующий набор правил компании «Открытая Мобильная Платформа», который информирует об ожиданиях по взаимодействию между членами сообщества при общении и работе над проектами.

Мы используем cookies для персонализации сайта и его более удобного использования. Вы можете запретить cookies в настройках браузера.

Пожалуйста ознакомьтесь с политикой использования cookies.