diff --git a/MessageProtocol.md b/MessageProtocol.md index 7f2c8c3..3fb2458 100644 --- a/MessageProtocol.md +++ b/MessageProtocol.md @@ -1,6 +1,5 @@ # Quilin - ## Полезная нагрузка ### Пожелания @@ -9,15 +8,24 @@ ### Отправка -Похож на документ в yaml формате. В начале идет название протокола и указание его версии. В случае общения с сервером этот протокол подразумевается по умолчанию и будет использоваться его последняя версия +Поля этого протокола имеют следующую структуру -То, что начинается с // - комментарий +1. Объявление протокола (может быть опущено, он подразумевается приложением и будет использована его последняя версия, если не сказано обратного) +2. Опции передачи сообщения - используются для того, чтобы обозначить намерения отправителя относительно передаваемого сообщения. В основном задаются меры безопасности. Часть из них работает по умолчанию, но может быть отключена +3. Основная часть сообщения. Если указано, что будет использовано шифрование, то телом сообщения будут зашифрованные данные в формате ASCII Armor. Если нет, то те же данные будут переданы в открытом виде. Сами данные имеют следующий формат + 1. from: указание аккаунта, от чьего имени отправляется сообщение + 2. to: указание того, кому будет отправлено сообщение + 3. token: средство авторизации. Выдается сервером на время сессии. Может и должен быть запрошен отдельно + 4. Сам текст сообщения. Блок со служебной информацией заканчивается тройным дефисом. Все, что указано после них на новой строке считается текстом сообщения + +Приблизительно структура сообщения выглядит так ``` // Опциональное указание протокола и версии [Quilin [VERSION]] // Дополнительные опции -[o/options]: [sign/s] [no-tls/nt] +[o/options]: [sign/s] [encryption/e]=[RSA/DES/DSA] [tls/t] [stream/st] +--- // Указание аккаунта, от имени которого отправляется сообщение from: {nickname} // Пользователь может использовать временный токен, отправляемый сервером, @@ -37,47 +45,7 @@ cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum ``` -Без комментариев все то же самое - - -``` -[Quilin [VERSION]] -[o/options]: [sign/s] [no-tls/nt] -from: {nickname} -token: {some token} -to: {name} ---- -Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod -tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, -quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo -consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse -cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat -non proident, sunt in culpa qui officia deserunt mollit anim id est laborum -``` - -#### Описание опций - -- sign/s: передаваемое сообщение использует цифровые подписи. Серверу следует эти подписи публичными ключами, привязанными к аккаунтам. Если подпись не удастся проверить, сообщение будет отброшено -- no-tls - не использовать и не проверять tls у сервера. Не безопасно - -#### Пример отправки сообщения - -``` -from: ElectronixTM -to: MrQiz ---- -Hello, my dear friend, how are you? - -May you please give me some advice on the following code snippet: - -\```py -import antigravity -\``` -``` - -### Ответ - -## Протокол шифрования +## Криптографический протокол ### Пожелания автора