BLE безопасный

Этот модуль включает в себя функции, которые управляют связью BLE Secure (TLS поверх BLE).

Краткое содержание

Этот модуль включает функции, реализующие связь TCAT.

Функции в этом модуле доступны, когда включена функция BLE Secure API ( OPENTHREAD_CONFIG_BLE_TCAT_ENABLE ).

Функции этого модуля доступны, когда включена функция TCAT ( OPENTHREAD_CONFIG_BLE_TCAT_ENABLE ).

Перечисления

otTcatApplicationProtocol {
OT_TCAT_APPLICATION_PROTOCOL_NONE = 0,
OT_TCAT_APPLICATION_PROTOCOL_STATUS = 1,
OT_TCAT_APPLICATION_PROTOCOL_TCP = 2
}
перечисление
Представляет протокол приложения TCAT.
otTcatCommandClass {
OT_TCAT_COMMAND_CLASS_GENERAL = 0,
OT_TCAT_COMMAND_CLASS_COMMISSIONING = 1,
OT_TCAT_COMMAND_CLASS_EXTRACTION = 2,
OT_TCAT_COMMAND_CLASS_DECOMMISSIONING = 3,
OT_TCAT_COMMAND_CLASS_APPLICATION = 4
}
перечисление
Представляет класс команд TCAT.
otTcatStatusCode {
OT_TCAT_STATUS_SUCCESS = 0,
OT_TCAT_STATUS_UNSUPPORTED = 1,
OT_TCAT_STATUS_PARSE_ERROR = 2,
OT_TCAT_STATUS_VALUE_ERROR = 3,
OT_TCAT_STATUS_GENERAL_ERROR = 4,
OT_TCAT_STATUS_BUSY = 5,
OT_TCAT_STATUS_UNDEFINED = 6,
OT_TCAT_STATUS_HASH_ERROR = 7,
OT_TCAT_STATUS_UNAUTHORIZED = 16
}
перечисление
Представляет код состояния TCAT.

Определения типов

otHandleBleSecureConnect )(otInstance *aInstance, bool aConnected, bool aBleConnectionOpen, void *aContext) определение типа
void(*
Указатель для вызова при изменении состояния безопасного соединения.
otHandleBleSecureReceive определение типа
Указатель для вызова, когда данные были получены через соединение BLE Secure TLS.
otHandleTcatApplicationDataReceive )(otInstance *aInstance, const otMessage *aMessage, int32_t aOffset, otTcatApplicationProtocol aTcatApplicationProtocol, const char *aServiceName, void *aContext) определение типа
void(*
Указатель на вызов, когда данные приложения были получены через соединение TCAT TLS.
otHandleTcatJoin )(otError aError, void *aContext) определение типа
void(*
Указатель на вызов для уведомления о завершении операции соединения.
otTcatApplicationProtocol определение типа
Представляет протокол приложения TCAT.
otTcatCommandClass определение типа
Представляет класс команд TCAT.
otTcatStatusCode определение типа
Представляет код состояния TCAT.
otTcatVendorInfo определение типа
Эта структура представляет информацию о поставщике TCAT.

Функции

otBleSecureConnect ( otInstance *aInstance)
Инициализирует сеанс TLS с одноранговым узлом, используя уже открытое соединение BLE.
otBleSecureDisconnect ( otInstance *aInstance)
void
Останавливает соединение BLE и TLS.
otBleSecureFlush ( otInstance *aInstance)
Очищает буфер отправки.
otBleSecureGetPeerCertificateBase64 ( otInstance *aInstance, unsigned char *aPeerCert, size_t *aCertLength)
Возвращает сертификат узла x509 в кодировке Base64.
otBleSecureGetPeerSubjectAttributeByOid ( otInstance *aInstance, const char *aOid, size_t aOidLength, uint8_t *aAttributeBuffer, size_t *aAttributeLength, int *aAsn1Type)
Возвращает значение атрибута, идентифицированное его OID из субъекта сертификата x509 узла.
otBleSecureGetThreadAttributeFromOwnCertificate ( otInstance *aInstance, int aThreadOidDescriptor, uint8_t *aAttributeBuffer, size_t *aAttributeLength)
Возвращает значение атрибута для OID 1.3.6.1.4.1.44970.x из расширений v3 собственного сертификата x509, где последней цифре x присвоено значение aThreadOidDescriptor.
otBleSecureGetThreadAttributeFromPeerCertificate ( otInstance *aInstance, int aThreadOidDescriptor, uint8_t *aAttributeBuffer, size_t *aAttributeLength)
Возвращает значение атрибута для OID 1.3.6.1.4.1.44970.x из расширений версии 3 однорангового сертификата x509, где последней цифре x присвоено значение aThreadOidDescriptor.
otBleSecureIsCommandClassAuthorized ( otInstance *aInstance, otTcatCommandClass aCommandClass)
bool
Указывает, авторизован ли класс команд TCAT.
otBleSecureIsConnected ( otInstance *aInstance)
bool
Указывает, подключен ли сеанс TLS.
otBleSecureIsConnectionActive ( otInstance *aInstance)
bool
Указывает, активен ли сеанс TLS (подключен или подключен).
otBleSecureIsTcatEnabled ( otInstance *aInstance)
bool
Указывает, включен ли агент TCAT.
otBleSecureSend ( otInstance *aInstance, uint8_t *aBuf, uint16_t aLength)
Отправляет защищенный пакет данных BLE.
otBleSecureSendApplicationTlv ( otInstance *aInstance, uint8_t *aBuf, uint16_t aLength)
Отправляет безопасный пакет данных BLE, содержащий TLV данных приложения отправки TCAT.
otBleSecureSendMessage ( otInstance *aInstance, otMessage *aMessage)
Отправляет защищенное сообщение BLE.
otBleSecureSetCaCertificateChain ( otInstance *aInstance, const uint8_t *aX509CaCertificateChain, uint32_t aX509CaCertChainLength)
void
Устанавливает доверенные центры сертификации верхнего уровня.
otBleSecureSetCertificate ( otInstance *aInstance, const uint8_t *aX509Cert, uint32_t aX509Length, const uint8_t *aPrivateKey, uint32_t aPrivateKeyLength)
void
Устанавливает сертификат X509 локального устройства с соответствующим закрытым ключом для сеанса TLS с TLS_ECDHE_ECDSA_WITH_AES_128_CCM_8.
otBleSecureSetPsk ( otInstance *aInstance, const uint8_t *aPsk, uint16_t aPskLength, const uint8_t *aPskIdentity, uint16_t aPskIdLength)
void
Устанавливает предварительный общий ключ (PSK) и набор шифров TLS_PSK_WITH_AES_128_CCM_8.
otBleSecureSetSslAuthMode ( otInstance *aInstance, bool aVerifyPeerCertificate)
void
Устанавливает режим аутентификации для безопасного соединения BLE.
otBleSecureStart ( otInstance *aInstance, otHandleBleSecureConnect aConnectHandler, otHandleBleSecureReceive aReceiveHandler, bool aTlvMode, void *aContext)
Запускает службу BLE Secure.
otBleSecureStop ( otInstance *aInstance)
void
Останавливает сервер BLE Secure.
otBleSecureTcatStart ( otInstance *aInstance, const otTcatVendorInfo *aVendorInfo, otHandleTcatJoin aHandler)
Включает протокол TCAT через BLE Secure.

Структуры

otTcatVendorInfo

Эта структура представляет информацию о поставщике TCAT.

Перечисления

otTcatApplicationProtocol

 otTcatApplicationProtocol

Представляет протокол приложения TCAT.

Характеристики
OT_TCAT_APPLICATION_PROTOCOL_NONE

Сообщение, отправленное без активации агента TCAT.

OT_TCAT_APPLICATION_PROTOCOL_STATUS

Сообщение направлено в службу UDP.

OT_TCAT_APPLICATION_PROTOCOL_TCP

Сообщение направлено в службу TCP.

отткаткоммандкласс

 otTcatCommandClass

Представляет класс команд TCAT.

Характеристики
OT_TCAT_COMMAND_CLASS_APPLICATION

Команды TCAT, относящиеся к прикладному уровню.

OT_TCAT_COMMAND_CLASS_COMMISSIONING

Команды TCAT, связанные с вводом в эксплуатацию.

OT_TCAT_COMMAND_CLASS_DECOMMISSIONING

Команды TCAT, связанные с выводом из эксплуатации.

OT_TCAT_COMMAND_CLASS_EXTRACTION

Команды TCAT, связанные с извлечением ключей.

OT_TCAT_COMMAND_CLASS_GENERAL

Команды TCAT, относящиеся к общим операциям.

отТкатстатускоде

 otTcatStatusCode

Представляет код состояния TCAT.

Характеристики
OT_TCAT_STATUS_BUSY

Команду невозможно выполнить, поскольку ресурс занят.

OT_TCAT_STATUS_GENERAL_ERROR

Произошла ошибка, не соответствующая ни одной другой категории.

OT_TCAT_STATUS_HASH_ERROR

Хэш-значение, представленное комиссаром, было неверным.

OT_TCAT_STATUS_PARSE_ERROR

Запрос/команду не удалось правильно разобрать.

OT_TCAT_STATUS_SUCCESS

Команда или запрос успешно обработаны.

OT_TCAT_STATUS_UNAUTHORIZED

Отправитель не имеет достаточных полномочий для данной команды.

OT_TCAT_STATUS_UNDEFINED

Запрошенное значение, данные или услуга не определены (в настоящее время) или отсутствуют.

OT_TCAT_STATUS_UNSUPPORTED

Запрошенная команда или полученный TLV не поддерживаются.

OT_TCAT_STATUS_VALUE_ERROR

Значение переданного TLV содержит ошибку.

Определения типов

отхандлеблесекуреконнект

void(* otHandleBleSecureConnect)(otInstance *aInstance, bool aConnected, bool aBleConnectionOpen, void *aContext)

Указатель для вызова при изменении состояния безопасного соединения.

Подробности
Параметры
[in] aInstance
Указатель на экземпляр OpenThread.
[in] aConnected
TRUE, если было установлено безопасное соединение, FALSE в противном случае.
[in] aBleConnectionOpen
TRUE, если было установлено соединение BLE для передачи потока данных TLS, в противном случае FALSE.
[in] aContext
Указатель на произвольную контекстную информацию.

otHandleBleSecureReceive

otHandleTcatApplicationDataReceive otHandleBleSecureReceive

Указатель для вызова, когда данные были получены через соединение BLE Secure TLS.

отхандлеткатаппликатиондатарецеиве

void(* otHandleTcatApplicationDataReceive)(otInstance *aInstance, const otMessage *aMessage, int32_t aOffset, otTcatApplicationProtocol aTcatApplicationProtocol, const char *aServiceName, void *aContext)

Указатель на вызов, когда данные приложения были получены через соединение TCAT TLS.

Подробности
Параметры
[in] aInstance
Указатель на экземпляр OpenThread.
[in] aMessage
Указатель на сообщение.
[in] aOffset
Смещение, с которого начинаются данные приложения.
[in] aTcatApplicationProtocol
Тип протокола полученного сообщения.
[in] aServiceName
Имя службы, на которую направлено сообщение.
[in] aContext
Указатель на произвольную контекстную информацию.

otHandleTcatJoin

void(* otHandleTcatJoin)(otError aError, void *aContext)

Указатель на вызов для уведомления о завершении операции соединения.

Подробности
Параметры
[in] aError
OT_ERROR_NONE, если процесс присоединения завершился успешно. OT_ERROR_SECURITY, если процесс присоединения не удался из-за учетных данных безопасности.
[in] aContext
Указатель на произвольную контекстную информацию.

otTcatApplicationProtocol

enum otTcatApplicationProtocol otTcatApplicationProtocol

Представляет протокол приложения TCAT.

отткаткоммандкласс

enum otTcatCommandClass otTcatCommandClass

Представляет класс команд TCAT.

отТкатстатускоде

enum otTcatStatusCode otTcatStatusCode

Представляет код состояния TCAT.

otTcatVendorInfo

struct otTcatVendorInfo otTcatVendorInfo

Эта структура представляет информацию о поставщике TCAT.

Содержимое этой структуры ДОЛЖНО сохраняться и оставаться неизменным во время сеанса TCAT.

Функции

отBleSecureConnect

otError otBleSecureConnect(
  otInstance *aInstance
)

Инициализирует сеанс TLS с одноранговым узлом, используя уже открытое соединение BLE.

Подробности
Параметры
[in] aInstance
Указатель на экземпляр OpenThread.
Возвращаемые значения
OT_ERROR_NONE
Соединение TLS успешно запущено.

отBleSecureDisconnect

void otBleSecureDisconnect(
  otInstance *aInstance
)

Останавливает соединение BLE и TLS.

Подробности
Параметры
[in] aInstance
Указатель на экземпляр OpenThread.

otBleSecureFlush

otError otBleSecureFlush(
  otInstance *aInstance
)

Очищает буфер отправки.

Подробности
Параметры
[in] aInstance
Указатель на экземпляр OpenThread.
Возвращаемые значения
OT_ERROR_NONE
Выходной буфер успешно очищен.
OT_ERROR_NO_BUFS
Не удалось выделить буферную память.
OT_ERROR_INVALID_STATE
TLS-соединение не было инициализировано.

otBleSecureGetPeerCertificateBase64

otError otBleSecureGetPeerCertificateBase64(
  otInstance *aInstance,
  unsigned char *aPeerCert,
  size_t *aCertLength
)

Возвращает сертификат узла x509 в кодировке Base64.

Подробности
Параметры
[in] aInstance
Указатель на экземпляр OpenThread.
[out] aPeerCert
Указатель на буфер сертификата в кодировке Base64.
[in,out] aCertLength
На входе размер — максимальный размер aPeerCert . На выходе длина сертификата узла в кодировке Base64.
Возвращаемые значения
OT_ERROR_NONE
Успешно получите сертификат партнера.
OT_ERROR_INVALID_ARGS
aInstance или aCertLength недействительны.
OT_ERROR_INVALID_STATE
Еще не подключен.
OT_ERROR_NO_BUFS
Невозможно выделить память для сертификата.

otBleSecureGetPeerSubjectAttributeByOid

otError otBleSecureGetPeerSubjectAttributeByOid(
  otInstance *aInstance,
  const char *aOid,
  size_t aOidLength,
  uint8_t *aAttributeBuffer,
  size_t *aAttributeLength,
  int *aAsn1Type
)

Возвращает значение атрибута, идентифицированное его OID из субъекта сертификата x509 узла.

Одноранговый OID предоставляется в двоичном формате. Длина атрибута устанавливается, если атрибут был успешно прочитан, или равна нулю в случае неудачного чтения. Тип ASN.1 устанавливается в соответствии со стандартом ITU-T X.690, если атрибут был успешно прочитан.

Подробности
Параметры
[in] aInstance
Указатель на экземпляр OpenThread.
[in] aOid
Указатель на OID, который необходимо найти.
[in] aOidLength
Длина OID.
[out] aAttributeBuffer
Указатель на буфер атрибутов.
[in,out] aAttributeLength
На входе размер равен максимальному размеру aAttributeBuffer . На выходе длина атрибута, записываемого в буфер.
[out] aAsn1Type
Указатель на тип ASN.1 атрибута, записываемого в буфер.
Возвращаемые значения
OT_ERROR_INVALID_STATE
Еще не подключен.
OT_ERROR_INVALID_ARGS
Недопустимая длина атрибута.
OT_ERROR_NONE
Атрибут успешно прочитан.
OT_ERROR_NO_BUFS
Недостаточно памяти для хранения значения атрибута.

otBleSecureGetThreadAttributeFromOwnCertificate

otError otBleSecureGetThreadAttributeFromOwnCertificate(
  otInstance *aInstance,
  int aThreadOidDescriptor,
  uint8_t *aAttributeBuffer,
  size_t *aAttributeLength
)

Возвращает значение атрибута для OID 1.3.6.1.4.1.44970.x из расширений v3 собственного сертификата x509, где последней цифре x присвоено значение aThreadOidDescriptor.

Длина атрибута устанавливается, если атрибут был успешно прочитан, или равна нулю в случае неудачного чтения. Требуется подключение для активности.

Подробности
Параметры
[in] aInstance
Указатель на экземпляр OpenThread.
[in] aThreadOidDescriptor
Последняя цифра OID атрибута потока.
[out] aAttributeBuffer
Указатель на буфер атрибутов.
[in,out] aAttributeLength
На входе размер равен максимальному размеру aAttributeBuffer . На выходе длина атрибута, записываемого в буфер.
Возвращаемые значения
OT_ERROR_NONE
Атрибут успешно прочитан.
OT_ERROR_INVALID_ARGS
Недопустимая длина атрибута.
OT_NOT_FOUND
Запрошенный атрибут не найден.
OT_ERROR_NO_BUFS
Недостаточно памяти для хранения значения атрибута.
OT_ERROR_INVALID_STATE
Еще не подключен.
OT_ERROR_NOT_IMPLEMENTED
Значение aThreadOidDescriptor составляет >127.
OT_ERROR_PARSE
Расширения сертификата не удалось проанализировать.

otBleSecureGetThreadAttributeFromPeerCertificate

otError otBleSecureGetThreadAttributeFromPeerCertificate(
  otInstance *aInstance,
  int aThreadOidDescriptor,
  uint8_t *aAttributeBuffer,
  size_t *aAttributeLength
)

Возвращает значение атрибута для OID 1.3.6.1.4.1.44970.x из расширений версии 3 однорангового сертификата x509, где последней цифре x присвоено значение aThreadOidDescriptor.

Длина атрибута устанавливается, если атрибут был успешно прочитан, или равна нулю в случае неудачного чтения. Требуется подключение для активности.

Подробности
Параметры
[in] aInstance
Указатель на экземпляр OpenThread.
[in] aThreadOidDescriptor
Последняя цифра OID атрибута потока.
[out] aAttributeBuffer
Указатель на буфер атрибутов.
[in,out] aAttributeLength
На входе размер равен максимальному размеру aAttributeBuffer . На выходе длина атрибута, записываемого в буфер.
Возвращаемые значения
OT_ERROR_NONE
Атрибут успешно прочитан.
OT_ERROR_INVALID_ARGS
Недопустимая длина атрибута.
OT_NOT_FOUND
Запрошенный атрибут не найден.
OT_ERROR_NO_BUFS
Недостаточно памяти для хранения значения атрибута.
OT_ERROR_INVALID_STATE
Еще не подключен.
OT_ERROR_NOT_IMPLEMENTED
Значение aThreadOidDescriptor составляет >127.
OT_ERROR_PARSE
Расширения сертификата не удалось проанализировать.

otBleSecureIsCommandClassAuthorized

bool otBleSecureIsCommandClassAuthorized(
  otInstance *aInstance,
  otTcatCommandClass aCommandClass
)

Указывает, авторизован ли класс команд TCAT.

Подробности
Параметры
[in] aInstance
Указатель на экземпляр OpenThread.
[in] aCommandClass
Класс команды для проверки.
Возвращаемые значения
TRUE
Класс команды авторизован.
FALSE
Класс команды не авторизован.

отБлесекуреисконнектед

bool otBleSecureIsConnected(
  otInstance *aInstance
)

Указывает, подключен ли сеанс TLS.

Подробности
Параметры
[in] aInstance
Указатель на экземпляр OpenThread.
Возвращаемые значения
TRUE
Сеанс TLS подключен.
FALSE
Сеанс TLS не подключен.

отБлесекуреисконнектионактиве

bool otBleSecureIsConnectionActive(
  otInstance *aInstance
)

Указывает, активен ли сеанс TLS (подключен или подключен).

Подробности
Параметры
[in] aInstance
Указатель на экземпляр OpenThread.
Возвращаемые значения
TRUE
Если сеанс TLS активен.
FALSE
Если сеанс TLS не активен.

отблесекуреисткатенаблед

bool otBleSecureIsTcatEnabled(
  otInstance *aInstance
)

Указывает, включен ли агент TCAT.

Подробности
Возвращаемые значения
TRUE
Агент TCAT включен.
FALSE
Агент TCAT не включен.

отBleSecureSend

otError otBleSecureSend(
  otInstance *aInstance,
  uint8_t *aBuf,
  uint16_t aLength
)

Отправляет защищенный пакет данных BLE.

Подробности
Параметры
[in] aInstance
Указатель на экземпляр OpenThread.
[in] aBuf
Указатель на данные для отправки в качестве значения TLV данных приложения отправки TCAT.
[in] aLength
Число, указывающее длину буфера данных.
Возвращаемые значения
OT_ERROR_NONE
Данные успешно отправлены.
OT_ERROR_NO_BUFS
Не удалось выделить буферную память.
OT_ERROR_INVALID_STATE
TLS-соединение не было инициализировано.

otBleSecureSendApplicationTlv

otError otBleSecureSendApplicationTlv(
  otInstance *aInstance,
  uint8_t *aBuf,
  uint16_t aLength
)

Отправляет безопасный пакет данных BLE, содержащий TLV данных приложения отправки TCAT.

Подробности
Параметры
[in] aInstance
Указатель на экземпляр OpenThread.
[in] aBuf
Указатель на данные для отправки в качестве значения TLV данных приложения отправки TCAT.
[in] aLength
Число, указывающее длину буфера данных.
Возвращаемые значения
OT_ERROR_NONE
Данные успешно отправлены.
OT_ERROR_NO_BUFS
Не удалось выделить буферную память.
OT_ERROR_INVALID_STATE
TLS-соединение не было инициализировано.

otBleSecureSendMessage

otError otBleSecureSendMessage(
  otInstance *aInstance,
  otMessage *aMessage
)

Отправляет защищенное сообщение BLE.

Если возвращаемое значение — OT_ERROR_NONE, OpenThread становится владельцем aMessage , и вызывающая сторона больше не должна ссылаться на aMessage . Если возвращаемое значение не OT_ERROR_NONE, вызывающая сторона сохраняет право собственности на aMessage , включая освобождение aMessage если буфер сообщений больше не нужен.

Подробности
Параметры
[in] aInstance
Указатель на экземпляр OpenThread.
[in] aMessage
Указатель на сообщение для отправки.

Подробности
Возвращаемые значения
OT_ERROR_NONE
Сообщение успешно отправлено.
OT_ERROR_NO_BUFS
Не удалось выделить буферную память.
OT_ERROR_INVALID_STATE
TLS-соединение не было инициализировано.

otBleSecureSetCaCertificateChain

void otBleSecureSetCaCertificateChain(
  otInstance *aInstance,
  const uint8_t *aX509CaCertificateChain,
  uint32_t aX509CaCertChainLength
)

Устанавливает доверенные центры сертификации верхнего уровня.

Это необходимо для проверки сертификата узла.

Режим TLS «ECDHE ECDSA с AES 128 CCM 8» для безопасного BLE.

Подробности
Параметры
[in] aInstance
Указатель на экземпляр OpenThread.
[in] aX509CaCertificateChain
Указатель на цепочку CA X509 в формате PEM.
[in] aX509CaCertChainLength
Длина цепочки.

отБлесекуресетсертификате

void otBleSecureSetCertificate(
  otInstance *aInstance,
  const uint8_t *aX509Cert,
  uint32_t aX509Length,
  const uint8_t *aPrivateKey,
  uint32_t aPrivateKeyLength
)

Устанавливает сертификат X509 локального устройства с соответствующим закрытым ключом для сеанса TLS с TLS_ECDHE_ECDSA_WITH_AES_128_CCM_8.

Подробности
Параметры
[in] aInstance
Указатель на экземпляр OpenThread.
[in] aX509Cert
Указатель на сертификат X509 в формате PEM.
[in] aX509Length
Длина сертификата.
[in] aPrivateKey
Указатель на закрытый ключ в формате PEM.
[in] aPrivateKeyLength
Длина закрытого ключа.

отБлеСекуресетПск

void otBleSecureSetPsk(
  otInstance *aInstance,
  const uint8_t *aPsk,
  uint16_t aPskLength,
  const uint8_t *aPskIdentity,
  uint16_t aPskIdLength
)

Устанавливает предварительный общий ключ (PSK) и набор шифров TLS_PSK_WITH_AES_128_CCM_8.

Подробности
Параметры
[in] aInstance
Указатель на экземпляр OpenThread.
[in] aPsk
Указатель на PSK.
[in] aPskLength
Длина PSK.
[in] aPskIdentity
Идентификационное имя для PSK.
[in] aPskIdLength
Длина идентификатора PSK.

отБлесекуресетсслааутмоде

void otBleSecureSetSslAuthMode(
  otInstance *aInstance,
  bool aVerifyPeerCertificate
)

Устанавливает режим аутентификации для безопасного соединения BLE.

Отключите или включите проверку сертификата узла. Перед началом необходимо позвонить.

Подробности
Параметры
[in] aInstance
Указатель на экземпляр OpenThread.
[in] aVerifyPeerCertificate
true, чтобы проверить сертификат узла.

otBleSecureStart

otError otBleSecureStart(
  otInstance *aInstance,
  otHandleBleSecureConnect aConnectHandler,
  otHandleBleSecureReceive aReceiveHandler,
  bool aTlvMode,
  void *aContext
)

Запускает службу BLE Secure.

Когда режим TLV активен, функция aReceiveHandler будет вызываться после получения полного TLV и смещение сообщения указывает на значение TLV.

Подробности
Параметры
[in] aInstance
Указатель на экземпляр OpenThread.
[in] aConnectHandler
Указатель на функцию, которая будет вызываться при изменении состояния соединения.
[in] aReceiveHandler
Указатель на функцию, которая будет вызываться после получения данных по TLS-соединению.
[in] aTlvMode
Логическое значение, указывающее, должен ли быть активирован линейный режим.
[in] aContext
Указатель на произвольную контекстную информацию. Может быть NULL, если не используется.
Возвращаемые значения
OT_ERROR_NONE
Сервер BLE Secure запущен успешно.
OT_ERROR_ALREADY
Услуга уже была указана.

otBleSecureStop

void otBleSecureStop(
  otInstance *aInstance
)

Останавливает сервер BLE Secure.

Подробности
Параметры
[in] aInstance
Указатель на экземпляр OpenThread.

отБлеСекуреТкатСтарт

otError otBleSecureTcatStart(
  otInstance *aInstance,
  const otTcatVendorInfo *aVendorInfo,
  otHandleTcatJoin aHandler
)

Включает протокол TCAT через BLE Secure.

Подробности
Параметры
[in] aInstance
Указатель на экземпляр OpenThread.
[in] aVendorInfo
Указатель на информацию о поставщике (должен оставаться действительным после вызова метода, может иметь значение NULL).
[in] aHandler
Указатель на функцию, которая вызывается после завершения операции соединения.
Возвращаемые значения
OT_ERROR_NONE
Роль BLE Secure Joiner успешно запущена.
OT_ERROR_INVALID_ARGS
aElevationPsk или aVendorInfo недействительны.
OT_ERROR_INVALID_STATE
Функция BLE не запущена или не выбран линейный режим.

Макросы

OT_TCAT_MAX_SERVICE_NAME_LENGTH

 OT_TCAT_MAX_SERVICE_NAME_LENGTH 15

Максимальная длина строки имени службы UDP или TCP (не включает нулевые символы).

Ресурсы

Справочные разделы API OpenThread взяты из исходного кода, доступного на GitHub . Для получения дополнительной информации или внесения вклада в нашу документацию обратитесь к Ресурсам .