Cryptographic
Приложение является примером для демонстрации работы с криптографией в ОС Аврора.
Приложение используется для демонстрации работы с QCA API.
Приложение позволяет:
- Кодировать, декодировать шифровать и хэшировать строки,
- Шифровать и расшифровывать с помощью закрытого ключа,
- Считывать сертификаты,
- Проверять подлинность сообщений,
- Генерировать случайные числа,
- Реализовывать обработчик запросов пароля и токена,
- Просматривать доступных криптопровайдеров,
- Запускать криптопровайдер на стороне клиента.
Проект использует библиотеку qca2-qt5
в качестве зависимости.
Содержание
- Содержание
- Совместимость
- Особенности использования и сборки
- Информация о ветках
- Установка и запуск
- Скриншоты
- Варианты использования
- Известные ошибки
- Структура проекта
- Правила использования и участие в разработке
Совместимость
Приложение корректно работает начиная с 5.1.3.45 версии ОС Авроры
Особенности использования и сборки
Данный пример-приложение собирается с помощью Аврора SDK: Документация
Информация о ветках
Установка и запуск
Проект собирается обычным образом с помощью Аврора SDK: Документация.
Снимки экранов
Варианты использования
Кодирование и декодирование строк с использованием Base64 или Hex
- Для демонстрации кодирования и декодирования строк, выберите "Кодирование/Декодирование строк" на главном экране.
- На открывшейся странице вы можете выбрать метод кодирования (Base64 или Hex), ввести строку, закодировать или декодировать её, используя соответсвующие кнопки.
Шифрование строк с использованием Blowfish, TripleDES, DES, AES128, AES192, AES256, CAST5
- Для демонстрации шифрования строк, выберите "Шифрование строки" на главном экране.
- На открывшейся странице вы можете выбрать метод шифрования, ввести строку и зашифровать её, нажав на кнопку.
Шифрование строк с использованием md5crypt
- Для демонстрации шифрования строк с использованием md5crypt, выберите "Шифрование строки на основе md5crypt" на главном экране.
- На открывшейся странице вы можете ввести соль и строку, а затем произвести шифрование, нажав на кнопку.
Хеширование строк с использованием SHA-0, SHA-1, MD2, MD4, MD5, RIPEMD160, SHA-224, SHA-256, SHA-384, SHA-512, Whirlpool
- Для демонстрации хеширования строк, выберите "Хеширование строки" на главном экране.
- На открывшейся странице вы можете выбрать метод хеширования, ввести строку и создать хеш, нажав на кнопку.
Аутентификация сообщений с использованием HMAC с SHA-1, MD5, RIPEMD160, SHA-224, SHA-256, SHA-384, SHA-512
- Для демонстрации аутентификации сообщений, выберите "Аутентификация сообщений" на главном экране.
- На открывшейся странице вы можете выбрать метод аутентификации сообщений, ввести кодовую фразу и сообщение, а затем выполнить аутентификацию, нажав на кнопку.
Генерация случайных чисел
- Для демонстрации генерации случайных чисел, выберите "Генерация случайных чисел" на главном экране.
- На открывшейся странице вы можете выбрать тип данных числа и сгенерировать его, нажав на кнопку.
Список доступных криптопровайдеров на устройстве
- Чтобы увидеть список доступных криптопровайдеров на устройстве, выберите "Все доступные криптопровайдеры" на главном экране.
- На открывшейся странице вы можете увидеть список доступных криптопровайдеров, разделённых на группы.
Обработчик запросов пароля и токена от криптопровайдеров
- Для демонстрации процесса работы обработчика запросов, выберите "Обработчик запросов" на главном экране.
- На открывшейся странице вы можете выбрать стиль запроса пароля, ввести пароль, ID токена и имя токена, а затем инициировать запрос с этими данными.
Чтение сертификатов X509 из PEM-файла
- Для демонстрации чтения сертификатов, выберите "Чтение сертификатов X509" на главном экране.
- На открывшейся странице вы можете выбрать сертификат и прочитать его, нажав на кнопку.
Шифрование и расшифровка с использованием закрытого ключа
- Чтобы продемонстрировать шифрование и дешифрование с использованием закрытого ключа, выберите "Операции с открытым и закрытым ключами" на главном экране.
- На открывшейся странице вы можете выбрать закрытый ключ, ввести пароль и сообщение, а затем зашифровать это сообщение, нажав на кнопку.
Криптопровайдер с AEC CMAC на стороне клиента
- Чтобы продемонстрировать работу криптопровайдера на стороне клиента, выберите "Собственный криптопровайдер с AES CMAC" на главном экране.
- На открывшейся странице вы можете ввести ключ и сообщение, а затем зашифровать это сообщение, используя введенный ключ, нажав на кнопку.
Известные ошибки
Проект содержит следующие ограничения:
- Не реализована асинхронная загрузка ключа.
- Не реализованы операции с RSA-ключом.
Структура проекта
Проект имеет стандартную структуру приложения на базе C++ и QML для ОС Аврора.
- Файл CMakeLists.txt описывает структуру проекта для системы сборки CMake.
- Каталог icons содержит иконки приложения для поддерживаемых разрешений экрана.
- Каталог pem содержит примеры PEM-файлов, используемых в приложении.
- Каталог qml содержит исходный код на QML и ресурсы интерфейса пользователя.
- Каталог components содержит пользовательские компоненты пользовательского интерфейса.
- Каталог cover содержит реализации обложек приложения.
- Каталог icons содержит дополнительные иконки интерфейса пользователя.
- Каталог pages содержит страницы приложения.
- Файл Cryptographic.qml предоставляет реализацию окна приложения.
- Каталог rpm содержит настройки сборки rpm-пакета.
- Файл ru.auroraos.Cryptographic.spec используется инструментом rpmbuild.
- Каталог src содержит исходный код на C++.
- Каталог all-cryptos содержит исходный код для показа списка всех доступых криптопровайдеров на устройстве.
- Каталог certX509 содержит исходный код для чтения сертификатов X509 из пользовательского файла или системного хранилища.
- Каталог common содержит общий между всеми директориями исходный код.
- Каталог mac содержит исходный код для аутентификации сообщений.
- Каталог md5crypt содержит исходный код для шифрования строки с использованием алгоритма md5crypt.
- Каталог own-cryptoprovider содержит исходный код для добавления пользовательского криптопровайдера в QCA.
- Каталог publickey содержит исходный код для шифрования и расшифрования с использованием закрытого ключа.
- Каталог random содержит исходный код для генерации случайных чисел.
- Каталог request-handler содержит исходный код для обработчика запросов на стороне клиента.
- Каталог string-coding содержит исходный код для кодирования и декодирования строки.
- Каталог string-encrypt содержит исходный код для шифрования строки.
- Каталог string-hash содержит исходный код для хеширования строки.
- Файл main.cpp является точкой входа в приложение.
- Каталог translations содержит файлы перевода интерфейса пользователя.
- Файл ru.auroraos.Cryptographic.desktop определяет отображение и параметры запуска приложения.
Правила использования и участие в разработке
Исходный код проекта предоставляется по лицензии, которая позволяет использовать его в сторонних приложениях.
Лицензионное соглашение с участником Соглашение участника регламентирует права, предоставляемые участниками компании «Открытая Мобильная Платформа».
Информация об участниках указана в файле AUTHORS.
Кодекс поведения — это действующий набор правил компании «Открытая Мобильная Платформа», который информирует об ожиданиях по взаимодействию между членами сообщества при общении и работе над проектами.