Project

Profile

Help

HostedRedmine.com has moved to the Planio platform. All logins and passwords remained the same. All users will be able to login and use Redmine just as before. Read more...

Task #919327

Updated by Сергей Старых over 2 years ago

<pre> 
 - Все экземпляры ClipAngel и клиентов Android всех пользователей используют единую облачную БД Firebase с одним именем и паролем, прошитыми в коде 
 - Имя (идентификатор) канала рассылки клипов генерируется приложением ClipAngel от параметров:  
    - SID пользователя Windows  
    - MAC адреса ethernet контроллера 
 - Канал клипов - ветка в БД с именем канала 
    - Recipients - список идентификаторов получателей 
    - SenderName    - имя компьютера отправителя 
    - Data - данные клипа - Base64 строка зашифрованная открытым ключом канала 
    - DataDate - дата отправки данных клипа 
 - Функция UpdateCryptoKeys генерирует новую пару ключей шифрования и сохраняет их в файловой системе с NTFS шифрованием 
 - Команда "Подключить получателя клипов"  
    - Если в файловой системе уже существуют настройки другого (старого) имени канала, то запрашивает "Удалить старый канал?". Если ответ - да, то удаляем из БД старый канал. 
    - Если в файловой системе уже существуют настройки текущего имени канала, то запрашивает "Сгенерировать новые ключи шифрования?". Если ответ - да или для текущего имени канала нет настроек в файловой системе, то вызывается UpdateCryptoKeys() 
    - Помещает в канал 
        - Имя компьютера в свойство SenderName канала 
    - Открывает окно с QR кодом для сканирования устройством android. В QR коде будет лежать  
        - имя канала 
        - закрытый (приватный) ключ 
    - После сканирования клиент android добавляет свой идентификатор PUSH-клиента в свойство Recipients канала и считывает из калана имя компьютера отправителя из свойства SenderName 
 - Команда клипа "Отправить получателям клипов" 
    - Отправляет клип не более 10КБ 
    - Шифрует структуру (простой текст клипа) открытым ключом и помещает в свойство Data канала 
    - Текущую дату помещает в свойство ClipSendDate в настройки приложения и в канал в свойство DataDate 
    - Отправляет всем получателям канала (подветка Recipients канала) push сигнал "Данные канала обновлены" 
 - При установленной дате ClipSendDate - раз в час ClipAngel пытается очистить данные (ключ Data) в канале, если прошло 12 часов 
 - Клиент андроид, получив push сигнал "Данные канала обновлены", берет из канала свойство Data и пытается расшифровать его закрытым ключом.  
    - Если расшифровка неуспешна, то показывает уведомление "Канал клипов сменил шифрование. Требуется перепривязка к приложению ClipAngel".  
    - Если расшифровка успешна, то показывает уведомление "От <Компьютер> получен клип созданный 1ч30мин назад (Y получателей): 
 [Текст клипа]".  
 - Сделать в исходниках приложений отдельный класс FirebaseCredentials со свойствами Login и Password. Не класть в git этот исходник. 
 </pre>

Back