.tlshandshake - метод

Назначение:Для текущего выбранного сокета (выбор выполняется через sock.num) запускает процедуру TLS-рукопожатия, чтобы перевести сокет на зашифрованное соединение.
Синтаксис:sock.tlshandshake(byref server_name as string) as enum
Возвращает:
  • 0 - PL_TLS_SUCCESS - инициализация выполнена успешно
  • 1 - PL_TLS_REJECTED - попытка инициализации отклонена
  • 2 - PL_TLS_ERROR_IN_USE - TLS уже используется на другом сокете
См. также:Transport Layer Security (TLS), Установка защищённого соединения

ПараметрОписание
server_nameПолное доменное имя (FQDN) выбранного сервера.

Подробности

Единственный параметр метода, server_name, требует полного доменного имени (то есть всего, что идёт после "https://" до первой косой черты). Если сверять имя сервера с сертификатом не нужно, передайте пустую строку - это удобно при подключении непосредственно к IP-адресу.

Попытка вызвать sock.tlshandshake на сокете, отличном от того, на котором выполнялся sock.tlsinit, вернёт PL_TLS_ERROR_IN_USE.

Кроме того, вызов sock.tlshandshake вернёт PL_TLS_REJECTED в следующих случаях:

  • Выбранный протокол не TCP (sock.protocol <> PL_SOCK_PROTOCOL_TCP)
  • TCP-соединение не является исходящим (sock.state <> PL_SST_EST_AOPENED)
  • sock.tlsinit не выполнялся ни на одном сокете (sock.tlscurrentnum = 255)

Даже если sock.tlshandshake вернул PL_TLS_SUCCESS, создать защищённое соединение может не получиться по ряду причин. Окончательным и достоверным признаком успешной установки TLS-канала служит переход sock.state в PL_SST_EST_TLS.

Исходный материал Tibbo обновлён 12 августа 2022Оригинал на docs.tibbo.com · Сообщить об ошибке