BLE Secure

Este módulo incluye funciones que controlan la comunicación de BLE Secure (TLS sobre BLE).

Resumen

Este módulo incluye funciones que implementan la comunicación de TCAT.

Las funciones de este módulo están disponibles cuando está habilitada la función de la API de BLE Secure (OPENTHREAD_CONFIG_BLE_TCAT_ENABLE).

Las funciones de este módulo están disponibles cuando la función de TCAT (OPENTHREAD_CONFIG_BLE_TCAT_ENABLE) está habilitada.

Enumeraciones

otTcatApplicationProtocol{
  OT_TCAT_APPLICATION_PROTOCOL_NONE = 0,
  OT_TCAT_APPLICATION_PROTOCOL_STATUS = 1,
  OT_TCAT_APPLICATION_PROTOCOL_TCP = 2
}
enum
Representa el protocolo de la aplicación 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
}
enum
Representa una clase de comando 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
}
enum
Representa el código de estado TCAT.

Typedefs

otHandleBleSecureConnect)(otInstance *aInstance, bool aConnected, bool aBleConnectionOpen, void *aContext) typedef
void(*
Puntero para llamar cuando cambia el estado de conexión segura.
otHandleBleSecureReceive typedef
Puntero para llamar cuando se reciben datos a través de una conexión TLS segura BLE.
otHandleTcatApplicationDataReceive)(otInstance *aInstance, const otMessage *aMessage, int32_t aOffset, otTcatApplicationProtocol aTcatApplicationProtocol, const char *aServiceName, void *aContext) typedef
void(*
Puntero para llamar cuando se recibieron los datos de la aplicación a través de una conexión TLS TCAT.
otHandleTcatJoin)(otError aError, void *aContext) typedef
void(*
Es el puntero al que se debe llamar para notificar que se completó una operación de unión.
otTcatApplicationProtocol typedef
Representa el protocolo de la aplicación TCAT.
otTcatCommandClass typedef
Representa una clase de comando TCAT.
otTcatStatusCode typedef
Representa el código de estado TCAT.
otTcatVendorInfo typedef
Esta estructura representa la información de un proveedor de TCAT.

remotas

otBleSecureConnect(otInstance *aInstance)
Inicializa la sesión de TLS con un par mediante una conexión BLE ya abierta.
otBleSecureDisconnect(otInstance *aInstance)
void
Detiene la conexión BLE y TLS.
otBleSecureFlush(otInstance *aInstance)
Vacía el búfer de envío.
otBleSecureGetPeerCertificateBase64(otInstance *aInstance, unsigned char *aPeerCert, size_t *aCertLength)
Muestra el certificado base64 del par x509 codificado.
otBleSecureGetPeerSubjectAttributeByOid(otInstance *aInstance, const char *aOid, size_t aOidLength, uint8_t *aAttributeBuffer, size_t *aAttributeLength, int *aAsn1Type)
Muestra un valor de atributo identificado por su OID del asunto del certificado x509 del mismo nivel.
otBleSecureGetThreadAttributeFromOwnCertificate(otInstance *aInstance, int aThreadOidDescriptor, uint8_t *aAttributeBuffer, size_t *aAttributeLength)
Muestra un valor de atributo para el OID 1.3.6.1.4.1.44970.x de las extensiones v3 del certificado x509 propio, donde el último dígito x se establece en aThreadOidDescriptor.
otBleSecureGetThreadAttributeFromPeerCertificate(otInstance *aInstance, int aThreadOidDescriptor, uint8_t *aAttributeBuffer, size_t *aAttributeLength)
Muestra un valor de atributo para el OID 1.3.6.1.4.1.44970.x de las extensiones v3 del certificado x509 del par, donde el último dígito x se establece en aThreadOidDescriptor.
otBleSecureIsCommandClassAuthorized(otInstance *aInstance, otTcatCommandClass aCommandClass)
bool
Indica si una clase de comando TCAT está autorizada o no.
otBleSecureIsConnected(otInstance *aInstance)
bool
Indica si la sesión de TLS está conectada o no.
otBleSecureIsConnectionActive(otInstance *aInstance)
bool
Indica si la sesión de TLS está activa o no (conectada o con conexión).
otBleSecureIsTcatEnabled(otInstance *aInstance)
bool
Indica si el agente de TCAT está habilitado o no.
otBleSecureSend(otInstance *aInstance, uint8_t *aBuf, uint16_t aLength)
Envía un paquete de datos BLE seguro.
otBleSecureSendApplicationTlv(otInstance *aInstance, uint8_t *aBuf, uint16_t aLength)
Envía un paquete de datos BLE seguro que contiene un TLV de envío de datos de aplicación de TCAT.
otBleSecureSendMessage(otInstance *aInstance, otMessage *aMessage)
Envía un mensaje BLE seguro.
otBleSecureSetCaCertificateChain(otInstance *aInstance, const uint8_t *aX509CaCertificateChain, uint32_t aX509CaCertChainLength)
void
Configura las CA de nivel superior de confianza.
otBleSecureSetCertificate(otInstance *aInstance, const uint8_t *aX509Cert, uint32_t aX509Length, const uint8_t *aPrivateKey, uint32_t aPrivateKeyLength)
void
Configura el certificado X509 del dispositivo local con la clave privada correspondiente para la sesión TLS con 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
Establece la clave previamente compartida (PSK) y el conjunto de algoritmos de cifrado TLS_PSK_WITH_AES_128_CCM_8.
otBleSecureSetSslAuthMode(otInstance *aInstance, bool aVerifyPeerCertificate)
void
Establece el modo de autenticación para la conexión segura BLE.
otBleSecureStart(otInstance *aInstance, otHandleBleSecureConnect aConnectHandler, otHandleBleSecureReceive aReceiveHandler, bool aTlvMode, void *aContext)
Inicia el servicio BLE Secure.
otBleSecureStop(otInstance *aInstance)
void
Detiene el servidor BLE Secure.
otBleSecureTcatStart(otInstance *aInstance, const otTcatVendorInfo *aVendorInfo, otHandleTcatJoin aHandler)
Habilita el protocolo TCAT en BLE Secure.

Structs

otTcatVendorInfo

Esta estructura representa la información de un proveedor de TCAT.

Enumeraciones

otTcatApplicationProtocol

 otTcatApplicationProtocol

Representa el protocolo de la aplicación TCAT.

Propiedades
OT_TCAT_APPLICATION_PROTOCOL_NONE

Mensaje que se envió sin activar el agente de TCAT.

OT_TCAT_APPLICATION_PROTOCOL_STATUS

Mensaje dirigido a un servicio UDP.

OT_TCAT_APPLICATION_PROTOCOL_TCP

Mensaje dirigido a un servicio TCP.

otTcatCommandClass

 otTcatCommandClass

Representa una clase de comando TCAT.

Propiedades
OT_TCAT_COMMAND_CLASS_APPLICATION

Comandos de TCAT relacionados con la capa de aplicación.

OT_TCAT_COMMAND_CLASS_COMMISSIONING

Comandos de TCAT relacionados con la puesta en marcha.

OT_TCAT_COMMAND_CLASS_DECOMMISSIONING

Comandos de TCAT relacionados con el retiro de servicio.

OT_TCAT_COMMAND_CLASS_EXTRACTION

Comandos de TCAT relacionados con la extracción de claves.

OT_TCAT_COMMAND_CLASS_GENERAL

Comandos de TCAT relacionados con operaciones generales.

otTcatStatusCode

 otTcatStatusCode

Representa el código de estado TCAT.

Propiedades
OT_TCAT_STATUS_BUSY

No se puede ejecutar el comando porque el recurso está ocupado.

OT_TCAT_STATUS_GENERAL_ERROR

Se produjo un error que no coincide con ninguna otra categoría.

OT_TCAT_STATUS_HASH_ERROR

El valor de hash que presentó el comisionado era incorrecto.

OT_TCAT_STATUS_PARSE_ERROR

No se pudo analizar correctamente la solicitud o el comando.

OT_TCAT_STATUS_SUCCESS

Se procesó correctamente el comando o la solicitud.

OT_TCAT_STATUS_UNAUTHORIZED

El remitente no tiene autorización suficiente para el comando correspondiente.

OT_TCAT_STATUS_UNDEFINED

El valor, los datos o el servicio solicitados no están definidos (actualmente) o no están presentes.

OT_TCAT_STATUS_UNSUPPORTED

No se admite el comando solicitado ni el TLV recibido.

OT_TCAT_STATUS_VALUE_ERROR

El valor del TLV transmitido tiene un error.

Typedefs

otHandleBleSecureConnect

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

Puntero para llamar cuando cambia el estado de conexión segura.

Detalles
Parámetros
[in] aInstance
Un puntero para una instancia de OpenThread.
[in] aConnected
TRUE, si se estableció una conexión segura, FALSE de lo contrario.
[in] aBleConnectionOpen
TRUE si se estableció una conexión BLE para transportar un flujo de datos TLS, de lo contrario, FALSE
[in] aContext
Un puntero para información de contexto arbitraria.

otHandleBleSecureReceive

otHandleTcatApplicationDataReceive otHandleBleSecureReceive

Puntero para llamar cuando se reciben datos a través de una conexión TLS segura BLE.

otHandleTcatApplicationDataReceive

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

Puntero para llamar cuando se recibieron los datos de la aplicación a través de una conexión TLS TCAT.

Detalles
Parámetros
[in] aInstance
Un puntero para una instancia de OpenThread.
[in] aMessage
Un puntero para el mensaje.
[in] aOffset
El desplazamiento donde comienzan los datos de la aplicación.
[in] aTcatApplicationProtocol
El tipo de protocolo del mensaje recibido.
[in] aServiceName
El nombre del servicio al que se dirige el mensaje.
[in] aContext
Un puntero para información de contexto arbitraria.

otHandleTcatJoin

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

Es el puntero al que se debe llamar para notificar que se completó una operación de unión.

Detalles
Parámetros
[in] aError
OT_ERROR_NONE si la unión se realizó correctamente. OT_ERROR_SECURITY si falla el proceso de unión debido a credenciales de seguridad
[in] aContext
Un puntero para información de contexto arbitraria.

otTcatApplicationProtocol

enum otTcatApplicationProtocol otTcatApplicationProtocol

Representa el protocolo de la aplicación TCAT.

otTcatCommandClass

enum otTcatCommandClass otTcatCommandClass

Representa una clase de comando TCAT.

otTcatStatusCode

enum otTcatStatusCode otTcatStatusCode

Representa el código de estado TCAT.

otTcatVendorInfo

struct otTcatVendorInfo otTcatVendorInfo

Esta estructura representa la información de un proveedor de TCAT.

El contenido de esta estructura DEBE persistir y permanecer sin cambios mientras se ejecuta una sesión de TCAT.

remotas

otBleSecureConnect

otError otBleSecureConnect(
  otInstance *aInstance
)

Inicializa la sesión de TLS con un par mediante una conexión BLE ya abierta.

Detalles
Parámetros
[in] aInstance
Un puntero para una instancia de OpenThread.
Valores que se muestran
OT_ERROR_NONE
Se inició correctamente la conexión TLS.

otBleSecureDisconnect

void otBleSecureDisconnect(
  otInstance *aInstance
)

Detiene la conexión BLE y TLS.

Detalles
Parámetros
[in] aInstance
Un puntero para una instancia de OpenThread.

otBleSecureFlush

otError otBleSecureFlush(
  otInstance *aInstance
)

Vacía el búfer de envío.

Detalles
Parámetros
[in] aInstance
Un puntero para una instancia de OpenThread.
Valores que se muestran
OT_ERROR_NONE
El búfer de salida se vació correctamente.
OT_ERROR_NO_BUFS
No se pudo asignar memoria del búfer.
OT_ERROR_INVALID_STATE
No se inicializó la conexión TLS.

otBleSecureGetPeerCertificateBase64

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

Muestra el certificado base64 del par x509 codificado.

Detalles
Parámetros
[in] aInstance
Un puntero para una instancia de OpenThread.
[out] aPeerCert
Un puntero para el búfer de certificados codificado en base64.
[in,out] aCertLength
En la entrada, el tamaño debe ser el tamaño máximo de aPeerCert. En el resultado, la longitud del certificado de intercambio de tráfico codificado en base64.
Valores que se muestran
OT_ERROR_NONE
El certificado de intercambio de tráfico se obtuvo de forma correcta.
OT_ERROR_INVALID_ARGS
aInstance o aCertLength no es válido.
OT_ERROR_INVALID_STATE
Todavía no está conectado.
OT_ERROR_NO_BUFS
No se puede asignar memoria para el certificado.

otBleSecureGetPeerSubjectAttributeByOid

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

Muestra un valor de atributo identificado por su OID del asunto del certificado x509 del mismo nivel.

El OID del par se proporciona en formato binario. La longitud del atributo se establece si el atributo se leyó correctamente o cero si no se completó correctamente. El tipo ASN.1, tal como se define en el estándar ITU-T X.690, si el atributo se leyó correctamente.

Detalles
Parámetros
[in] aInstance
Un puntero para una instancia de OpenThread.
[in] aOid
Un puntero para el OID que se debe encontrar.
[in] aOidLength
Es la longitud del OID.
[out] aAttributeBuffer
Un puntero para el búfer de atributos.
[in,out] aAttributeLength
En la entrada, el tamaño debe ser el tamaño máximo de aAttributeBuffer. En el resultado, la longitud del atributo escrito en el búfer.
[out] aAsn1Type
Un puntero para el tipo ASN.1 del atributo escrito en el búfer.
Valores que se muestran
OT_ERROR_INVALID_STATE
Todavía no está conectado.
OT_ERROR_INVALID_ARGS
La longitud del atributo no es válida.
OT_ERROR_NONE
El atributo se leyó correctamente.
OT_ERROR_NO_BUFS
Memoria insuficiente para almacenar el valor del atributo

otBleSecureGetThreadAttributeFromOwnCertificate

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

Muestra un valor de atributo para el OID 1.3.6.1.4.1.44970.x de las extensiones v3 del certificado x509 propio, donde el último dígito x se establece en aThreadOidDescriptor.

La longitud del atributo se establece si el atributo se leyó correctamente o cero si no se completó correctamente. Se requiere una conexión para estar activa.

Detalles
Parámetros
[in] aInstance
Un puntero para una instancia de OpenThread.
[in] aThreadOidDescriptor
Es el último dígito del OID del atributo Thread.
[out] aAttributeBuffer
Un puntero para el búfer de atributos.
[in,out] aAttributeLength
En la entrada, el tamaño debe ser el tamaño máximo de aAttributeBuffer. En el resultado, la longitud del atributo escrito en el búfer.
Valores que se muestran
OT_ERROR_NONE
El atributo se leyó correctamente.
OT_ERROR_INVALID_ARGS
La longitud del atributo no es válida.
OT_NOT_FOUND
No se encontró el atributo solicitado.
OT_ERROR_NO_BUFS
Memoria insuficiente para almacenar el valor del atributo
OT_ERROR_INVALID_STATE
Todavía no está conectado.
OT_ERROR_NOT_IMPLEMENTED
El valor de aThreadOidDescriptor es >127.
OT_ERROR_PARSE
No se pudieron analizar las extensiones del certificado.

otBleSecureGetThreadAttributeFromPeerCertificate

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

Muestra un valor de atributo para el OID 1.3.6.1.4.1.44970.x de las extensiones v3 del certificado x509 del par, donde el último dígito x se establece en aThreadOidDescriptor.

La longitud del atributo se establece si el atributo se leyó correctamente o cero si no se completó correctamente. Se requiere una conexión para estar activa.

Detalles
Parámetros
[in] aInstance
Un puntero para una instancia de OpenThread.
[in] aThreadOidDescriptor
Es el último dígito del OID del atributo Thread.
[out] aAttributeBuffer
Un puntero para el búfer de atributos.
[in,out] aAttributeLength
En la entrada, el tamaño debe ser el tamaño máximo de aAttributeBuffer. En el resultado, la longitud del atributo escrito en el búfer.
Valores que se muestran
OT_ERROR_NONE
El atributo se leyó correctamente.
OT_ERROR_INVALID_ARGS
La longitud del atributo no es válida.
OT_NOT_FOUND
No se encontró el atributo solicitado.
OT_ERROR_NO_BUFS
Memoria insuficiente para almacenar el valor del atributo
OT_ERROR_INVALID_STATE
Todavía no está conectado.
OT_ERROR_NOT_IMPLEMENTED
El valor de aThreadOidDescriptor es >127.
OT_ERROR_PARSE
No se pudieron analizar las extensiones del certificado.

otBleSecureIsCommandClassAuthorized

bool otBleSecureIsCommandClassAuthorized(
  otInstance *aInstance,
  otTcatCommandClass aCommandClass
)

Indica si una clase de comando TCAT está autorizada o no.

Detalles
Parámetros
[in] aInstance
Un puntero para una instancia de OpenThread.
[in] aCommandClass
Una clase de comando para verificar.
Valores que se muestran
TRUE
La clase de comando está autorizada.
FALSE
La clase de comando no está autorizada.

otBleSecureIsConnected

bool otBleSecureIsConnected(
  otInstance *aInstance
)

Indica si la sesión de TLS está conectada o no.

Detalles
Parámetros
[in] aInstance
Un puntero para una instancia de OpenThread.
Valores que se muestran
TRUE
Se conectó la sesión de TLS.
FALSE
La sesión de TLS no está conectada.

otBleSecureIsConnectionActive

bool otBleSecureIsConnectionActive(
  otInstance *aInstance
)

Indica si la sesión de TLS está activa o no (conectada o con conexión).

Detalles
Parámetros
[in] aInstance
Un puntero para una instancia de OpenThread.
Valores que se muestran
TRUE
Si la sesión de TLS está activa.
FALSE
Si la sesión de TLS no está activa.

otBleSecureIsTcatEnabled

bool otBleSecureIsTcatEnabled(
  otInstance *aInstance
)

Indica si el agente de TCAT está habilitado o no.

Detalles
Valores que se muestran
TRUE
El agente de TCAT está habilitado.
FALSE
El agente de TCAT no está habilitado.

otBleSecureSend

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

Envía un paquete de datos BLE seguro.

Detalles
Parámetros
[in] aInstance
Un puntero para una instancia de OpenThread.
[in] aBuf
Un puntero a los datos que se enviarán como el valor del TLV de los datos de aplicación de envío de TCAT.
[in] aLength
Es un número que indica la longitud del búfer de datos.
Valores que se muestran
OT_ERROR_NONE
Los datos se enviaron correctamente.
OT_ERROR_NO_BUFS
No se pudo asignar memoria del búfer.
OT_ERROR_INVALID_STATE
No se inicializó la conexión TLS.

otBleSecureSendApplicationTlv

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

Envía un paquete de datos BLE seguro que contiene un TLV de envío de datos de aplicación de TCAT.

Detalles
Parámetros
[in] aInstance
Un puntero para una instancia de OpenThread.
[in] aBuf
Un puntero a los datos que se enviarán como el valor del TLV de los datos de aplicación de envío de TCAT.
[in] aLength
Es un número que indica la longitud del búfer de datos.
Valores que se muestran
OT_ERROR_NONE
Los datos se enviaron correctamente.
OT_ERROR_NO_BUFS
No se pudo asignar memoria del búfer.
OT_ERROR_INVALID_STATE
No se inicializó la conexión TLS.

otBleSecureSendMessage

otError otBleSecureSendMessage(
  otInstance *aInstance,
  otMessage *aMessage
)

Envía un mensaje BLE seguro.

Si el valor que se muestra es OT_ERROR_NONE, OpenThread asume la propiedad de aMessage, y el llamador ya no debe hacer referencia a aMessage. Si el valor que se muestra no es OT_ERROR_NONE, el llamador conservará la propiedad de aMessage, lo que incluye liberar aMessage si ya no se necesita el búfer de mensajes.

Detalles
Parámetros
[in] aInstance
Un puntero para una instancia de OpenThread.
[in] aMessage
Un puntero para el mensaje que se enviará.

Detalles
Valores que se muestran
OT_ERROR_NONE
El mensaje se envió correctamente.
OT_ERROR_NO_BUFS
No se pudo asignar memoria del búfer.
OT_ERROR_INVALID_STATE
No se inicializó la conexión TLS.

otBleSecureSetCaCertificateChain

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

Configura las CA de nivel superior de confianza.

Es necesario para validar el certificado del par.

Modo TLS "ECDHE ECDSA con AES 128 CCM 8" para BLE seguro.

Detalles
Parámetros
[in] aInstance
Un puntero para una instancia de OpenThread.
[in] aX509CaCertificateChain
Un puntero a la cadena de CA X509 con formato PEM.
[in] aX509CaCertChainLength
La longitud de la cadena.

otBleSecureSetCertificate

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

Configura el certificado X509 del dispositivo local con la clave privada correspondiente para la sesión TLS con TLS_ECDHE_ECDSA_WITH_AES_128_CCM_8.

Detalles
Parámetros
[in] aInstance
Un puntero para una instancia de OpenThread.
[in] aX509Cert
Un puntero al certificado X509 con formato PEM.
[in] aX509Length
Es la longitud del certificado.
[in] aPrivateKey
Un puntero a la clave privada con formato PEM.
[in] aPrivateKeyLength
La longitud de la clave privada.

otBleSecureSetPsk

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

Establece la clave previamente compartida (PSK) y el conjunto de algoritmos de cifrado TLS_PSK_WITH_AES_128_CCM_8.

Detalles
Parámetros
[in] aInstance
Un puntero para una instancia de OpenThread.
[in] aPsk
Un puntero para la PSK.
[in] aPskLength
Es la longitud de la PSK.
[in] aPskIdentity
El nombre de identidad de la PSK.
[in] aPskIdLength
La longitud de identidad de la PSK.

otBleSecureSetSslAuthMode

void otBleSecureSetSslAuthMode(
  otInstance *aInstance,
  bool aVerifyPeerCertificate
)

Establece el modo de autenticación para la conexión segura BLE.

Inhabilita o habilita la verificación del certificado de intercambio de tráfico. Se debe llamar antes de comenzar.

Detalles
Parámetros
[in] aInstance
Un puntero para una instancia de OpenThread.
[in] aVerifyPeerCertificate
true, para verificar el certificado de par.

otBleSecureStart

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

Inicia el servicio BLE Secure.

Cuando el modo de TLV esté activo, se llamará a la función aReceiveHandler una vez que se reciba un TLV completo y el desplazamiento del mensaje apunte al valor de TLV.

Detalles
Parámetros
[in] aInstance
Un puntero para una instancia de OpenThread.
[in] aConnectHandler
Un puntero para una función a la que se llamará cuando cambie el estado de la conexión.
[in] aReceiveHandler
Un puntero a una función a la que se llamará una vez que se reciban datos a través de la conexión TLS.
[in] aTlvMode
Un valor booleano que indica si se debe activar el modo de línea.
[in] aContext
Un puntero para información de contexto arbitraria. Puede tener un valor NULL si no se usa.
Valores que se muestran
OT_ERROR_NONE
Se inició correctamente el servidor de BLE Secure.
OT_ERROR_ALREADY
Ya se proporcionó el servicio.

otBleSecureStop

void otBleSecureStop(
  otInstance *aInstance
)

Detiene el servidor BLE Secure.

Detalles
Parámetros
[in] aInstance
Un puntero para una instancia de OpenThread.

otBleSecureTcatStart

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

Habilita el protocolo TCAT en BLE Secure.

Detalles
Parámetros
[in] aInstance
Un puntero para una instancia de OpenThread.
[in] aVendorInfo
Un puntero a la información del proveedor (debe seguir siendo válido después de la llamada al método, puede ser NULL).
[in] aHandler
Un puntero a una función a la que se llama cuando se completa la operación de unión.
Valores que se muestran
OT_ERROR_NONE
Se inició correctamente la función de unión segura de BLE.
OT_ERROR_INVALID_ARGS
aElevationPsk o aVendorInfo no es válido.
OT_ERROR_INVALID_STATE
No se inició la función BLE o no se seleccionó el modo de línea.

Macros

OT_TCAT_MAX_SERVICE_NAME_LENGTH

 OT_TCAT_MAX_SERVICE_NAME_LENGTH 15

Longitud máxima de las strings de un nombre de servicio UDP o TCP (no incluye caracteres nulos).

Recursos

Los temas de referencia de la API de OpenThread se originan a partir del código fuente, disponible en GitHub. Para obtener más información o contribuir a nuestra documentación, consulta Recursos.