Мобильное приложение

Мобильное приложение

RuslanPopov

Необходимо создать приложение.

Приложение запускается, показывает логотип (SVG дам). (дизайн)

Приложение имеет внутри себя сертификат главного CA.

Первый запуск

Приложение запрашивает пароль или предлагает его создать, если его нет. (дизайн)

Приложение смотрит в хранилище (предлагай) и если там нет RSA 4096 ключа, генерирует его, используя пароль введённый ранее. Ключ сохраняется в хранилище.

Приложение подключается к MQTT брокеру (адрес задаётся через конфигурацию, в зависимости от вида сборки, тестовая или прод) по открытому каналу (порт 1883). (дизайн)

Под логотипом показываем иконку 1 и текст "Obtaining CA certificates...". (дизайн)

Приложение отправляет в канал "A" запрос на получение цепочки сертификатов промежуточных CA. В ответ приходит цепочка в виде строк. Её надо подключить к главному CA и провалидировать. Если она прошла проверку, то сохранить полную цепочку в хранилище.

Приложение отключается от MQTT брокера.

Приложение подключается к MQTT брокеру по защищённому каналу (порт 8883, используя цепочку CA). (дизайн)

Приложение генерирует с помощью RSA ключа запрос на клиентский сертификат и отправляет его в канал "A". В ответ приходит клиентский сертификат в виде строк. Сертификат надо провалидировать относительно полной цепочки УЦ. Если проверка пройдена, то сохранить сертификат в хранилище. Под логотипом показываем иконку 2 и текст "Obtaining client certificate...". (дизайн)

Приложение отключается от MQTT брокера.

Приложение подключается к MQTT брокеру по защищённому каналу (порт 8884, используя цепочку CA и клиентский сертификат). Под логотипом показываем иконку 3 и текст "Secure connection...". (дизайн)

Если приложение обладает ключом, цепочкой и сертификатом, оно сразу должно подключаться к порту 8884, иначе проходить шаги, чтобы восполнить недостающие компоненты.

Подтверждение телефона

Приложение подключилось к MQTT брокеру и брокер прислал уведомление о необходимости подтвердить телефон.

Показывает экран для ввода телефона. Отправляет телефон брокеру. (дизайн)

Показывает экран для ввода кода. (он придёт либо звонком, либо смс, либо пуш, предлагай). Отправляет код брокеру. (дизайн)

Брокер присылает статус проверки, если проблемы запрашиваем телефон заново...

Иначе что-то показываем (дизайн)

Последующие запуски

Пока делаем сетевой вариант, поэтому...

Запрос списка списка устройств у брокера, прилетает пачка данных про доступные устройства. Их можно открыть (дизайн) и если есть такое право - обновить прошивку (дизайн)

По дизайну

Нужен профиль пользователя

Там его данные, типа, фамилия, имя, телефон.

Report Page