Различия

Здесь показаны различия между двумя версиями данной страницы.

Ссылка на это сравнение

Предыдущая версия справа и слева Предыдущая версия
Следующая версия
Предыдущая версия
doc:jroboplc:modules:jrbustcp-protocol [2022/01/26 12:16]
denis [06 - CRC]
doc:jroboplc:modules:jrbustcp-protocol [2022/01/27 13:35] (текущий)
denis [07 - AUTH_INIT]
Строка 188: Строка 188:
  
 ===== 07 - AUTH_INIT ===== ===== 07 - AUTH_INIT =====
-Инициализация ​списка тегов.+Инициализация процесса аутентификации.
  
-  request: ​0x01  flen# filter#flen  clen#​1  ​client#clen flags#2 +  request: ​0x07  klen# keyname#klen 
-  answer: ​ 0x81  listsize#3+  answer: ​ 0x87  status#​1  ​nlen#​2  ​nonce#nlen
   ​   ​
-**''​flen''​** - длина строки ​filter ​в байтах+**''​klen''​** - длина строки ​keyname ​в байтах.
-   +
-''​**filter**''​ - regex-фильтр для формирования списка тегов. Если пустая строка,​ то выбрать все теги.+
  
-''​**clen**'' ​- длина строки ​описания клиента ​в байтах.+**''​nlen''​** - длина строки ​nonce в байтах.
   ​   ​
-''​**client**''​ - любое текстовое описание клиента ​(не обязательное).+''​**keyname**''​ - имя файла приватного ключа, который будет использоваться на стороне клиента.
  
-''​**listsize**''​ - количество выбранных тегов от до 0xFFFFFF (16777215).+''​**status**''​ - статус выполнения инициализации аутентификационного процесса на сервере:​ 
 +  0 - OK - процесс начат нормально,​ сформировано и зашифровано nonce (random-строка
 +  1 - FAILED - процесс ​не начат, в nonce находится описание проблемы 
 +  2 - DISABLED - аутентификация на сервере ​отключена,​ вход свободный
  
-''​**flags**''​ - битовые параметры:​\\ +''​**nonce**''​ - зашифрованное публичным ключем сгенерированное значение (строка ​случайных ​символов)
-  * ''​b0''​ - клиент поддерживает ​передачу описания тегов. Если b0 не установлен, то описания тегов в ответе команды ''​LIST''​ будут пустыми строками. +
-  * ''​b1''​ - клиент поддерживает передачу ​статусов тегов в ответе ​команды ''​READ''​. +
-  * ''​b2''​ - клиент требует не включать в список теги с флагом ''​external''​ . +
-  * ''​b3''​ - клиент требует ​включить в список теги с флагом ''​hidden''​ .+
  
- +Сервер должен иметь у себя соответствующий публичный ключ с именем файла ''​keyname.pub''​. После того, как клиент получил зашифрованный nonce, он должен расшифровать его своим приватным ключем ''​keyname''​ и отправить на сервер последующей командой AUTH_SUBMIT.
  
  
  
 +===== 08 - AUTH_SUBMIT =====
 +Завершение процесса аутентификации.
 +
 +  request: 0x08  nlen#​2 ​ nonce#nlen
 +  answer: ​ 0x88  status#1
 +  ​
 +**''​nlen''​** - длина строки nonce в байтах.
 +  ​
 +''​**nonce**''​ - расшифрованная приватным ключем значение nonce, полученное от сервера командой AUTH_INIT
 +
 +''​**status**''​ - результат аутентификации:​
 +  0    - ACCEPTED - успешно
 +  0xFF - DENIED - отказано
 +
 +
 +===== FE - UNAUTHENTICATED =====
 +Ответ на любую команду,​ если сервер требует аутентификации,​ и она не выполнена. Не распространяется на команды AUTH_*.
 +
 +  answer: ​ 0xFE  ​
 +  ​
 ===== FF - UNKNOWN ===== ===== FF - UNKNOWN =====
-Ответ на неизвестную ​команду,​ код которой не соответствует вышеописанным ​командам.+Ответ на неизвестную ​серверу команду.
  
   answer: ​ 0xFF  ​   answer: ​ 0xFF  ​
   ​   ​
  
doc/jroboplc/modules/jrbustcp-protocol.1643188586.txt.gz · Последние изменения: 2022/01/26 12:16 — denis
Driven by DokuWiki Recent changes RSS feed Valid CSS Valid XHTML 1.0