Мой домашний проект для самообучения C++ и QT, а так как я очень полюблю Blackberry 10, и до сих пор пользуюсь Blackberry Passport, то решил исправить ненависную мне проблему. Нативное приложение Google Authenticator для Blackberry 10. Они уже есть в Blackberry World, но работают странно.
За основу взят 2 Steps Authenticator. Мой проект не форк, но часть кода заимствуется до выяснения логики внутренних процессов. Сейчас используется только код алгоритмов генерации проверочных кодов.
В разработке
❌ Прекращена ❌
(Сдох телефон, для которого шла разработка. Так как сама Blackberry, не смотря на заявления ее руководства, перестала поддерживать платформу и разработчиков Blackberry 10, в 2020 году полностью закроют все связанное с Blackberry 10. И потому для меня нет смысла покупать новый телефон на Blackberry 10, тем более, что новых уже и не производят (очень жаль 😞).)
https://github.com/google/google-authenticator/wiki/Key-Uri-Format
https://github.com/dafyddcrosby/gauth
Заригистрированная дата |
---|
31.10.2107 |
- Программа запускается;
- Отображается Splashscreen;
- Отображается основное лист (с тестовыми данными);
(сделан класс работы с базой данных SQLite, но пока не использую)(тестовые данные при первом старте парсятся из XML фаила в SQLite базу) - На основе тестовых данных генерируется HMAC-SHA1 код для TOTP; (пока еще не разделил все остальные виды OTP алгоритмов, но уже кое-что работает, со временем будет сделано все остальное)
- Работает таймер, который отсчитывает Время жизни пароля, после истичения генерируется новый пароль и перезапускается таймер;
- Отображается страница настроек; (ничего в ней не работает, класс создан, но пока не использую)
- Отображается страница информации (взята из примера, заполню позже);
- Отображается страница сканера QR кода;
- При положительном сканировании:
- Закрывается страница сканера QR кода;
- Строка полученная от сканера передается в парсер;
- Открывается страница ручного ввода;
- Страница ручного ввода заполняется на основе данных, полученных из парсера;
- Недостоющие данные заполняются рекомендованными значениями по умолчанию (пока принято, что дается код HMAC-SHA1-6);
- При положительном сканировании:
- Отображается страница ручного ввода кода аутентификации с выбранными настройками по умолчанию;
- Данные сохраняются в базу SQL (но пока не сделано автоматическое обновление отображеие списка);
- Программа продолжает есть ресурсы телефона, даже, если была закрыта (не знаю как это решить, возможно это системное, либо мой недостаток знаний и опыта);
Таймер «Время жизни пароля» не синхронизирован с внешним временем (думаю как это решить, вроде есть идея);Страница ручного ввода не закрывается (так как вызываю динамически, пока не знаю как ее закрывать);