Secret Vault — менеджер API-ключей и секретов
Курсовая работа по мобильной разработке для ОС Аврора. Приложение хранит записи локально в SQLite: добавление сервиса и ключей, поиск, фильтр по категории, просмотр, копирование и удаление. API Key и Secret Key шифруются AES-256-GCM. Подключение к внешнему серверу для работы приложения не требуется.
Открытие и запуск в Aurora IDE
Проверено на Aurora SDK (MB2) 5.2.1.200, ОС Аврора 5.2.1.200, эмулятор x86_64. Понадобятся установленный SDK, Git и запущенный Docker Desktop. Настройка SDK: официальная инструкция.
-
Клонируйте ветку внутрь рабочей области SDK, выбранной при его установке:
git clone --branch dev_course_work --single-branch https://hub.mos.ru/unecon_mobiledevelopment_2026/is-2302/markkudryakov.git -
В Aurora IDE выберите Файл → Открыть файл или проект и откройте:
application/SecretVault/ru.template.curswork.pro -
Выберите комплект AuroraOS-5.2.1.200-x86_64.default для эмулятора. Для физического устройства выберите совместимую платформу ARM64 или ARMv7.
-
В настройках запуска выберите устройство Aurora OS эмулятор 5.2.1.200 и метод «Развернуть, используя RPM пакет». В RPM Sign используйте штатный Regular-ключ и сертификат SDK. Режим разработчика на устройстве должен быть включён. Не запускайте приложение как обычный Windows EXE.
-
Соберите проект и нажмите Запустить. IDE создаст RPM, подпишет его, установит в выбранное устройство и запустит приложение.
Файлы .pro.user намеренно отсутствуют: Aurora IDE создаёт их локально
для установленного SDK и устройств конкретного компьютера.
Структура репозитория
application/SecretVault/
ru.template.curswork.pro проект Aurora IDE / qmake
ru.template.curswork.desktop ярлык и идентификатор приложения
src/ запуск и AES-256-GCM
qml/
curswork.qml единственное ApplicationWindow
pages/ список, добавление, детали, справка
js/VaultStorage.js SQLite и миграция шифрования
cover/ обложка приложения
icons/ ресурсы QML
icons/ иконки приложения для RPM
rpm/ рецепт сборки RPM
translations/ исходники переводов
tests/ тесты шифрования и миграции (не входят в RPM)
doc/ отчёт по курсовой работе
presentation/ материалы презентации, если добавлены
Шифрование
ENCRYPTION.md объясняет алгоритм, генерацию ключа и миграцию.
Главный файл: application/SecretVault/src/vaultcrypto.cpp.
Ищите комментарии «ЗДЕСЬ ШИФРУЕТСЯ» и «ЗДЕСЬ СОЗДАЁТСЯ».
AES-ключ создаётся на устройстве при первом запуске в приватном файле
aes256.key; ключей и пользовательской базы в репозитории нет.
Мастер-пароль не используется. Если одновременно доступны база и файл
ключа, данные можно расшифровать. Название сервиса и описание не шифруются.
Повторная сборка в Windows без обновления репозиториев
Если нужные зависимости уже есть в SDK, но его сервер репозиториев недоступен, из корня клонированного проекта можно выполнить:
.\build-offline.ps1
Сборка, Regular-подпись и установка в эмулятор:
.\build-offline.ps1 -Deploy
Скрипт принимает -SdkRoot и -Target. По умолчанию используются
C:\AuroraOS и AuroraOS-5.2.1.200-x86_64. Он не входит в приложение и
не нужен для обычного запуска из IDE. При изменении зависимостей сначала
установите их средствами SDK. Regular-подпись предназначена для разработки.
Проверка и лицензия
Проверены сборка RPM, запуск на эмуляторе, основные действия с записями, шифрование, отказ при подмене данных и миграция старой SQLite-базы. Исходники тестов и описание запуска приведены в ENCRYPTION.md.
Автор — AUTHORS.md. Лицензия — LICENSE.