Различия

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

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

Предыдущая версия справа и слева Предыдущая версия
Следующая версия
Предыдущая версия
doc:jroboplc:modules:jrbustcp-protocol [2022/01/26 12:22]
denis [07 - AUTH_INIT]
doc:jroboplc:modules:jrbustcp-protocol [2022/01/27 13:35] (текущий)
denis [07 - AUTH_INIT]
Строка 190: Строка 190:
 Инициализация процесса аутентификации. Инициализация процесса аутентификации.
  
-  request: 0x07  ​len#2  keyname#len +  request: 0x07  ​klen#2  keyname#klen 
-  answer: ​ 0x87  status#​1 ​len#2 encrypted_nonce#len+  answer: ​ 0x87  status#​1 ​ nlen#2  nonce#nlen
   ​   ​
-**''​len''​** - длина строки keyname в байтах.+**''​klen''​** - длина строки keyname ​в байтах. 
 + 
 +**''​nlen''​** - длина строки nonce в байтах.
   ​   ​
 ''​**keyname**''​ - имя файла приватного ключа, который будет использоваться на стороне клиента. ''​**keyname**''​ - имя файла приватного ключа, который будет использоваться на стороне клиента.
  
-''​**status**''​ - статус выполнения инициализации аутентификационного процесса на серевере: +''​**status**''​ - статус выполнения инициализации аутентификационного процесса на сервере:​ 
-  ​ +  ​OK - процесс начат нормально,​ сформировано и зашифровано nonce (random-строка) 
-''​**client**'' ​любое текстовое описание ​клиента ​(не обязательное).+  1 - FAILED - процесс не начат, в nonce находится ​описание ​проблемы 
 +  2 - DISABLED - аутентификация ​на сервере отключена, вход свободный
  
-''​**listsize**''​ - количество выбранных тегов от 0 до 0xFFFFFF (16777215).+''​**nonce**''​ - зашифрованное публичным ключем сгенерированное значение (строка случайных символов)
  
-''​**flags**''​ - битовые параметры:\\ +Сервер должен иметь у себя соответствующий публичный ключ ​с именем файла ''​keyname.pub''​. После того, как клиент получил зашифрованный nonce, он должен расшифровать его ​своим приватным ключем ''​keyname''​ и отправить ​на сервер ​последующей командой AUTH_SUBMIT.
-  * ''​b0''​ - клиент поддерживает передачу описания тегов. Если b0 не установлен, то описания тегов в ответе команды ​''​LIST'' ​будут пустыми строками. +
-  * ''​b1''​ - клиент поддерживает передачу статусов тегов в ответе команды ''​READ''​. +
-  * ''​b2''​ - клиент требует не включать в список теги с флагом ''​external'' ​+
-  * ''​b3''​ - клиент ​требует ​включить ​в список теги ​с флагом ''​hidden'' ​.+
  
-  
  
  
 +===== 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.1643188962.txt.gz · Последние изменения: 2022/01/26 12:22 — denis
Driven by DokuWiki Recent changes RSS feed Valid CSS Valid XHTML 1.0