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 Сергей Старых almost 4 years ago

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

Back