Protegido por BLE

Este módulo inclui funções que controlam a comunicação BLE Secure (TLS via BLE).

Resumo

Este módulo inclui funções que implementam a comunicação TCAT.

As funções neste módulo estão disponíveis quando o recurso da API BLE Secure (OPENTHREAD_CONFIG_BLE_TCAT_ENABLE) está ativado.

As funções neste módulo ficam disponíveis quando o recurso TCAT (OPENTHREAD_CONFIG_BLE_TCAT_ENABLE) está ativado.

Enumerações

otTcatApplicationProtocol{
  OT_TCAT_APPLICATION_PROTOCOL_NONE = 0,
  OT_TCAT_APPLICATION_PROTOCOL_STATUS = 1,
  OT_TCAT_APPLICATION_PROTOCOL_TCP = 2
}
enum
Representa o protocolo de aplicativo 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 uma classe 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 o código de status TCAT.

Typedefs

otHandleBleSecureConnect)(otInstance *aInstance, bool aConnected, bool aBleConnectionOpen, void *aContext) typedef
void(*
Ponteiro a ser chamado quando o estado da conexão segura e segura mudar.
otHandleBleSecureReceive typedef
Ponteiro para chamada quando os dados foram recebidos por uma conexão TLS segura BLE.
otHandleTcatApplicationDataReceive)(otInstance *aInstance, const otMessage *aMessage, int32_t aOffset, otTcatApplicationProtocol aTcatApplicationProtocol, const char *aServiceName, void *aContext) typedef
void(*
Ponteiro a ser chamado quando os dados do aplicativo forem recebidos por uma conexão TLS TCAT.
otHandleTcatJoin)(otError aError, void *aContext) typedef
void(*
Ponteiro a ser chamado para notificar a conclusão de uma operação de agrupamento.
otTcatApplicationProtocol typedef
Representa o protocolo de aplicativo TCAT.
otTcatCommandClass typedef
Representa uma classe de comando TCAT.
otTcatStatusCode typedef
Representa o código de status TCAT.
otTcatVendorInfo typedef
Essa estrutura representa as informações de um fornecedor de TCAT.

Funções

otBleSecureConnect(otInstance *aInstance)
Inicializa a sessão TLS com um peering usando uma conexão BLE já aberta.
otBleSecureDisconnect(otInstance *aInstance)
void
Interrompe a conexão BLE e TLS.
otBleSecureFlush(otInstance *aInstance)
Limpa o buffer de envio.
otBleSecureGetPeerCertificateBase64(otInstance *aInstance, unsigned char *aPeerCert, size_t *aCertLength)
Retorna o certificado x509 de peering codificado em base64.
otBleSecureGetPeerSubjectAttributeByOid(otInstance *aInstance, const char *aOid, size_t aOidLength, uint8_t *aAttributeBuffer, size_t *aAttributeLength, int *aAsn1Type)
Retorna um valor de atributo identificado pelo OID do assunto do certificado x509 de peering.
otBleSecureGetThreadAttributeFromOwnCertificate(otInstance *aInstance, int aThreadOidDescriptor, uint8_t *aAttributeBuffer, size_t *aAttributeLength)
Retorna um valor de atributo para o OID 1.3.6.1.4.1.44970.x das extensões da v3 do próprio certificado x509, em que o último dígito x é definido como umThreadOidDescriptor.
otBleSecureGetThreadAttributeFromPeerCertificate(otInstance *aInstance, int aThreadOidDescriptor, uint8_t *aAttributeBuffer, size_t *aAttributeLength)
Retorna um valor de atributo para o OID 1.3.6.1.4.1.44970.x das extensões da v3 do certificado x509 de peering, em que o último dígito x é definido como umThreadOidDescriptor.
otBleSecureIsCommandClassAuthorized(otInstance *aInstance, otTcatCommandClass aCommandClass)
bool
Indica se uma classe de comando TCAT está autorizada ou não.
otBleSecureIsConnected(otInstance *aInstance)
bool
Indica se a sessão TLS está ou não conectada.
otBleSecureIsConnectionActive(otInstance *aInstance)
bool
Indica se a sessão TLS está ativa (conectada ou conectada).
otBleSecureIsTcatEnabled(otInstance *aInstance)
bool
Indica se o agente TCAT está ativado ou não.
otBleSecureSend(otInstance *aInstance, uint8_t *aBuf, uint16_t aLength)
Envia um pacote de dados BLE seguro.
otBleSecureSendApplicationTlv(otInstance *aInstance, uint8_t *aBuf, uint16_t aLength)
Envia um pacote de dados BLE seguro contendo um TLV de dados do aplicativo de envio do TCAT.
otBleSecureSendMessage(otInstance *aInstance, otMessage *aMessage)
Envia uma mensagem BLE segura.
otBleSecureSetCaCertificateChain(otInstance *aInstance, const uint8_t *aX509CaCertificateChain, uint32_t aX509CaCertChainLength)
void
Define as CAs de nível superior confiáveis.
otBleSecureSetCertificate(otInstance *aInstance, const uint8_t *aX509Cert, uint32_t aX509Length, const uint8_t *aPrivateKey, uint32_t aPrivateKeyLength)
void
Define o certificado X509 do dispositivo local com a chave privada correspondente para a sessão TLS com 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
Define a chave pré-compartilhada (PSK) e o pacote de criptografia TLS_PSK_WITH_AES_128_CCM_8.
otBleSecureSetSslAuthMode(otInstance *aInstance, bool aVerifyPeerCertificate)
void
Define o modo de autenticação para a conexão segura BLE.
otBleSecureStart(otInstance *aInstance, otHandleBleSecureConnect aConnectHandler, otHandleBleSecureReceive aReceiveHandler, bool aTlvMode, void *aContext)
Inicia o serviço BLE Secure.
otBleSecureStop(otInstance *aInstance)
void
Interrompe o servidor seguro de BLE.
otBleSecureTcatStart(otInstance *aInstance, const otTcatVendorInfo *aVendorInfo, otHandleTcatJoin aHandler)
Ativa o protocolo TCAT por BLE Secure.

Estruturas

otTcatVendorInfo

Essa estrutura representa as informações de um fornecedor de TCAT.

Enumerações

otTcatApplicationProtocol

 otTcatApplicationProtocol

Representa o protocolo de aplicativo TCAT.

Propriedades
OT_TCAT_APPLICATION_PROTOCOL_NONE

Mensagem que foi enviada sem ativar o agente TCAT.

OT_TCAT_APPLICATION_PROTOCOL_STATUS

Mensagem direcionada para um serviço UDP.

OT_TCAT_APPLICATION_PROTOCOL_TCP

Mensagem direcionada para um serviço TCP.

otTcatCommandClass

 otTcatCommandClass

Representa uma classe de comando TCAT.

Propriedades
OT_TCAT_COMMAND_CLASS_APPLICATION

Comandos TCAT relacionados à camada do aplicativo.

OT_TCAT_COMMAND_CLASS_COMMISSIONING

Comandos TCAT relacionados ao comissionamento.

OT_TCAT_COMMAND_CLASS_DECOMMISSIONING

Comandos TCAT relacionados à desativação.

OT_TCAT_COMMAND_CLASS_EXTRACTION

Comandos TCAT relacionados à extração de chaves.

OT_TCAT_COMMAND_CLASS_GENERAL

Comandos TCAT relacionados a operações gerais.

otTcatStatusCode

 otTcatStatusCode

Representa o código de status TCAT.

Propriedades
OT_TCAT_STATUS_BUSY

Não é possível executar o comando porque o recurso está ocupado.

OT_TCAT_STATUS_GENERAL_ERROR

Ocorreu um erro que não corresponde a nenhuma outra categoria.

OT_TCAT_STATUS_HASH_ERROR

O valor de hash apresentado pelo comissário estava incorreto.

OT_TCAT_STATUS_PARSE_ERROR

A solicitação / comando não pôde ser analisado corretamente.

OT_TCAT_STATUS_SUCCESS

O comando ou a solicitação foi processado.

OT_TCAT_STATUS_UNAUTHORIZED

O remetente não tem autorização suficiente para executar o comando.

OT_TCAT_STATUS_UNDEFINED

O valor, os dados ou o serviço solicitado não está definido (no momento) ou não está presente.

OT_TCAT_STATUS_UNSUPPORTED

O comando solicitado ou o TLV recebido não é compatível.

OT_TCAT_STATUS_VALUE_ERROR

O valor do TLV transmitido tem um erro.

Typedefs

otHandleBleSecureConnect

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

Ponteiro a ser chamado quando o estado da conexão segura e segura mudar.

Detalhes
Parâmetros
[in] aInstance
Um ponteiro para uma instância do OpenThread.
[in] aConnected
TRUE, se uma conexão segura foi estabelecida, FALSE caso contrário.
[in] aBleConnectionOpen
TRUE se uma conexão BLE tiver sido estabelecida para transportar um fluxo de dados TLS. Caso contrário, será FALSE.
[in] aContext
Um ponteiro para informações de contexto arbitrárias.

otHandleBleSecureReceive

otHandleTcatApplicationDataReceive otHandleBleSecureReceive

Ponteiro para chamada quando os dados foram recebidos por uma conexão TLS segura BLE.

otHandleTcatApplicationDataReceive

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

Ponteiro a ser chamado quando os dados do aplicativo forem recebidos por uma conexão TLS TCAT.

Detalhes
Parâmetros
[in] aInstance
Um ponteiro para uma instância do OpenThread.
[in] aMessage
Um ponteiro para a mensagem.
[in] aOffset
O deslocamento em que os dados do aplicativo começam.
[in] aTcatApplicationProtocol
O tipo de protocolo da mensagem recebida.
[in] aServiceName
O nome do serviço para o qual a mensagem é direcionada.
[in] aContext
Um ponteiro para informações de contexto arbitrárias.

otHandleTcatJoin

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

Ponteiro a ser chamado para notificar a conclusão de uma operação de agrupamento.

Detalhes
Parâmetros
[in] aError
OT_ERROR_NONE se o processo de participação for bem-sucedido. OT_ERROR_SECURITY se o processo de participação falhar devido às credenciais de segurança.
[in] aContext
Um ponteiro para informações de contexto arbitrárias.

otTcatApplicationProtocol

enum otTcatApplicationProtocol otTcatApplicationProtocol

Representa o protocolo de aplicativo TCAT.

otTcatCommandClass

enum otTcatCommandClass otTcatCommandClass

Representa uma classe de comando TCAT.

otTcatStatusCode

enum otTcatStatusCode otTcatStatusCode

Representa o código de status TCAT.

otTcatVendorInfo

struct otTcatVendorInfo otTcatVendorInfo

Essa estrutura representa as informações de um fornecedor de TCAT.

O conteúdo dessa estrutura PRECISA persistir e permanecer inalterado enquanto uma sessão de TCAT estiver em execução.

Funções

otBleSecureConnect

otError otBleSecureConnect(
  otInstance *aInstance
)

Inicializa a sessão TLS com um peering usando uma conexão BLE já aberta.

Detalhes
Parâmetros
[in] aInstance
Um ponteiro para uma instância do OpenThread.
Valores de retorno
OT_ERROR_NONE
A conexão TLS foi iniciada.

otBleSecureDisconnect

void otBleSecureDisconnect(
  otInstance *aInstance
)

Interrompe a conexão BLE e TLS.

Detalhes
Parâmetros
[in] aInstance
Um ponteiro para uma instância do OpenThread.

otBleSecureFlush

otError otBleSecureFlush(
  otInstance *aInstance
)

Limpa o buffer de envio.

Detalhes
Parâmetros
[in] aInstance
Um ponteiro para uma instância do OpenThread.
Valores de retorno
OT_ERROR_NONE
O buffer de saída foi apagado.
OT_ERROR_NO_BUFS
Falha ao alocar memória do buffer.
OT_ERROR_INVALID_STATE
A conexão TLS não foi inicializada.

otBleSecureGetPeerCertificateBase64

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

Retorna o certificado x509 de peering codificado em base64.

Detalhes
Parâmetros
[in] aInstance
Um ponteiro para uma instância do OpenThread.
[out] aPeerCert
Um ponteiro para o buffer de certificado codificado em base64.
[in,out] aCertLength
Na entrada, defina o tamanho máximo de aPeerCert. Na saída, o tamanho do certificado de peering codificado em base64.
Valores de retorno
OT_ERROR_NONE
O certificado de peering foi recebido.
OT_ERROR_INVALID_ARGS
aInstance ou aCertLength é inválido.
OT_ERROR_INVALID_STATE
Ainda não está conectado.
OT_ERROR_NO_BUFS
Não é possível alocar memória para o certificado.

otBleSecureGetPeerSubjectAttributeByOid

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

Retorna um valor de atributo identificado pelo OID do assunto do certificado x509 de peering.

O OID do peering é fornecido no formato binário. O comprimento do atributo é definido se a leitura do atributo é realizada, ou zero em caso de falha. O tipo ASN.1 conforme definido no padrão ITU-T X.690 se o atributo foi lido com êxito.

Detalhes
Parâmetros
[in] aInstance
Um ponteiro para uma instância do OpenThread.
[in] aOid
Um ponteiro para o OID a ser encontrado.
[in] aOidLength
O comprimento do OID.
[out] aAttributeBuffer
Um ponteiro para o buffer de atributo.
[in,out] aAttributeLength
Na entrada, defina o tamanho máximo de aAttributeBuffer. Na saída, o comprimento do atributo gravado no buffer.
[out] aAsn1Type
Um ponteiro para o tipo ASN.1 do atributo gravado no buffer.
Valores de retorno
OT_ERROR_INVALID_STATE
Ainda não está conectado.
OT_ERROR_INVALID_ARGS
Comprimento de atributo inválido.
OT_ERROR_NONE
O atributo foi lido.
OT_ERROR_NO_BUFS
Memória insuficiente para armazenar o valor do atributo.

otBleSecureGetThreadAttributeFromOwnCertificate

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

Retorna um valor de atributo para o OID 1.3.6.1.4.1.44970.x das extensões da v3 do próprio certificado x509, em que o último dígito x é definido como umThreadOidDescriptor.

O comprimento do atributo é definido se a leitura do atributo é realizada, ou zero em caso de falha. É necessária uma conexão para ser ativado.

Detalhes
Parâmetros
[in] aInstance
Um ponteiro para uma instância do OpenThread.
[in] aThreadOidDescriptor
O último dígito do OID do atributo da linha de execução.
[out] aAttributeBuffer
Um ponteiro para o buffer de atributo.
[in,out] aAttributeLength
Na entrada, defina o tamanho máximo de aAttributeBuffer. Na saída, o comprimento do atributo gravado no buffer.
Valores de retorno
OT_ERROR_NONE
O atributo foi lido.
OT_ERROR_INVALID_ARGS
Comprimento de atributo inválido.
OT_NOT_FOUND
O atributo solicitado não foi encontrado.
OT_ERROR_NO_BUFS
Memória insuficiente para armazenar o valor do atributo.
OT_ERROR_INVALID_STATE
Ainda não está conectado.
OT_ERROR_NOT_IMPLEMENTED
O valor de aThreadOidDescriptor é maior que 127.
OT_ERROR_PARSE
Não foi possível analisar as extensões de certificado.

otBleSecureGetThreadAttributeFromPeerCertificate

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

Retorna um valor de atributo para o OID 1.3.6.1.4.1.44970.x das extensões da v3 do certificado x509 de peering, em que o último dígito x é definido como umThreadOidDescriptor.

O comprimento do atributo é definido se a leitura do atributo é realizada, ou zero em caso de falha. É necessária uma conexão para ser ativado.

Detalhes
Parâmetros
[in] aInstance
Um ponteiro para uma instância do OpenThread.
[in] aThreadOidDescriptor
O último dígito do OID do atributo da linha de execução.
[out] aAttributeBuffer
Um ponteiro para o buffer de atributo.
[in,out] aAttributeLength
Na entrada, defina o tamanho máximo de aAttributeBuffer. Na saída, o comprimento do atributo gravado no buffer.
Valores de retorno
OT_ERROR_NONE
O atributo foi lido.
OT_ERROR_INVALID_ARGS
Comprimento de atributo inválido.
OT_NOT_FOUND
O atributo solicitado não foi encontrado.
OT_ERROR_NO_BUFS
Memória insuficiente para armazenar o valor do atributo.
OT_ERROR_INVALID_STATE
Ainda não está conectado.
OT_ERROR_NOT_IMPLEMENTED
O valor de aThreadOidDescriptor é maior que 127.
OT_ERROR_PARSE
Não foi possível analisar as extensões de certificado.

otBleSecureIsCommandClassAuthorized

bool otBleSecureIsCommandClassAuthorized(
  otInstance *aInstance,
  otTcatCommandClass aCommandClass
)

Indica se uma classe de comando TCAT está autorizada ou não.

Detalhes
Parâmetros
[in] aInstance
Um ponteiro para uma instância do OpenThread.
[in] aCommandClass
Uma classe de comando para verificar.
Valores de retorno
TRUE
A classe de comando está autorizada.
FALSE
A classe de comando não está autorizada.

otBleSecureIsConnected

bool otBleSecureIsConnected(
  otInstance *aInstance
)

Indica se a sessão TLS está ou não conectada.

Detalhes
Parâmetros
[in] aInstance
Um ponteiro para uma instância do OpenThread.
Valores de retorno
TRUE
A sessão TLS está conectada.
FALSE
A sessão TLS não está conectada.

otBleSecureIsConnectionActive

bool otBleSecureIsConnectionActive(
  otInstance *aInstance
)

Indica se a sessão TLS está ativa (conectada ou conectada).

Detalhes
Parâmetros
[in] aInstance
Um ponteiro para uma instância do OpenThread.
Valores de retorno
TRUE
Se a sessão TLS estiver ativa.
FALSE
Se a sessão TLS não estiver ativa.

otBleSecureIsTcatEnabled

bool otBleSecureIsTcatEnabled(
  otInstance *aInstance
)

Indica se o agente TCAT está ativado ou não.

Detalhes
Valores de retorno
TRUE
O agente TCAT está ativado.
FALSE
O agente TCAT não está ativado.

otBleSecureSend

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

Envia um pacote de dados BLE seguro.

Detalhes
Parâmetros
[in] aInstance
Um ponteiro para uma instância do OpenThread.
[in] aBuf
Um ponteiro para os dados a serem enviados como o valor do TLV dos dados do aplicativo de envio do TCAT.
[in] aLength
Um número que indica o comprimento do buffer de dados.
Valores de retorno
OT_ERROR_NONE
Os dados foram enviados.
OT_ERROR_NO_BUFS
Falha ao alocar memória do buffer.
OT_ERROR_INVALID_STATE
A conexão TLS não foi inicializada.

otBleSecureSendApplicationTlv

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

Envia um pacote de dados BLE seguro contendo um TLV de dados do aplicativo de envio do TCAT.

Detalhes
Parâmetros
[in] aInstance
Um ponteiro para uma instância do OpenThread.
[in] aBuf
Um ponteiro para os dados a serem enviados como o valor do TLV dos dados do aplicativo de envio do TCAT.
[in] aLength
Um número que indica o comprimento do buffer de dados.
Valores de retorno
OT_ERROR_NONE
Os dados foram enviados.
OT_ERROR_NO_BUFS
Falha ao alocar memória do buffer.
OT_ERROR_INVALID_STATE
A conexão TLS não foi inicializada.

otBleSecureSendMessage

otError otBleSecureSendMessage(
  otInstance *aInstance,
  otMessage *aMessage
)

Envia uma mensagem BLE segura.

Se o valor de retorno for OT_ERROR_NONE, o OpenThread assumirá a propriedade de aMessage, e o autor da chamada não deverá mais referenciar aMessage. Se o valor de retorno não for OT_ERROR_NONE, o autor da chamada manterá a propriedade de aMessage, incluindo liberar aMessage se o buffer de mensagem não for mais necessário.

Detalhes
Parâmetros
[in] aInstance
Um ponteiro para uma instância do OpenThread.
[in] aMessage
Um ponteiro para a mensagem a ser enviada.

Detalhes
Valores de retorno
OT_ERROR_NONE
Mensagem enviada.
OT_ERROR_NO_BUFS
Falha ao alocar memória do buffer.
OT_ERROR_INVALID_STATE
A conexão TLS não foi inicializada.

otBleSecureSetCaCertificateChain

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

Define as CAs de nível superior confiáveis.

Ele é necessário para validar o certificado do peering.

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

Detalhes
Parâmetros
[in] aInstance
Um ponteiro para uma instância do OpenThread.
[in] aX509CaCertificateChain
Um ponteiro para a cadeia de CAs X509 formatada em PEM.
[in] aX509CaCertChainLength
O comprimento da cadeia.

otBleSecureSetCertificate

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

Define o certificado X509 do dispositivo local com a chave privada correspondente para a sessão TLS com TLS_ECDHE_ECDSA_WITH_AES_128_CCM_8.

Detalhes
Parâmetros
[in] aInstance
Um ponteiro para uma instância do OpenThread.
[in] aX509Cert
Um ponteiro para o certificado X509 formatado em PEM.
[in] aX509Length
A duração do certificado.
[in] aPrivateKey
Um ponteiro para a chave privada formatada em PEM.
[in] aPrivateKeyLength
O comprimento da chave privada.

otBleSecureSetPsk

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

Define a chave pré-compartilhada (PSK) e o pacote de criptografia TLS_PSK_WITH_AES_128_CCM_8.

Detalhes
Parâmetros
[in] aInstance
Um ponteiro para uma instância do OpenThread.
[in] aPsk
Um ponteiro para o PSK.
[in] aPskLength
O comprimento do PSK.
[in] aPskIdentity
O nome de identidade da PSK.
[in] aPskIdLength
O comprimento de identidade do PSK.

otBleSecureSetSslAuthMode

void otBleSecureSetSslAuthMode(
  otInstance *aInstance,
  bool aVerifyPeerCertificate
)

Define o modo de autenticação para a conexão segura BLE.

Desativar ou ativar a verificação de certificado de peering. Precisa ser chamado antes do início.

Detalhes
Parâmetros
[in] aInstance
Um ponteiro para uma instância do OpenThread.
[in] aVerifyPeerCertificate
true, para verificar o certificado de peering.

otBleSecureStart

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

Inicia o serviço BLE Secure.

Quando o modo TLV estiver ativo, a função aReceiveHandler será chamada quando um TLV completo for recebido, e o deslocamento da mensagem apontará para o valor do TLV.

Detalhes
Parâmetros
[in] aInstance
Um ponteiro para uma instância do OpenThread.
[in] aConnectHandler
Um ponteiro para uma função que será chamada quando o estado da conexão mudar.
[in] aReceiveHandler
Um ponteiro para uma função que será chamada quando os dados forem recebidos pela conexão TLS.
[in] aTlvMode
Um valor booleano que indica se o modo de linha será ativado.
[in] aContext
Um ponteiro para informações de contexto arbitrárias. Poderá ser NULL se não for usado.
Valores de retorno
OT_ERROR_NONE
O servidor BLE Secure foi iniciado.
OT_ERROR_ALREADY
O serviço já foi declarado.

otBleSecureStop

void otBleSecureStop(
  otInstance *aInstance
)

Interrompe o servidor seguro de BLE.

Detalhes
Parâmetros
[in] aInstance
Um ponteiro para uma instância do OpenThread.

otBleSecureTcatStart

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

Ativa o protocolo TCAT por BLE Secure.

Detalhes
Parâmetros
[in] aInstance
Um ponteiro para uma instância do OpenThread.
[in] aVendorInfo
Um ponteiro para as informações do fornecedor (deve permanecer válido após a chamada do método, pode ser NULL).
[in] aHandler
Um ponteiro para uma função que é chamada quando a operação de junção é concluída.
Valores de retorno
OT_ERROR_NONE
O papel de Combinador seguro de BLE foi iniciado.
OT_ERROR_INVALID_ARGS
aElevationPsk ou aVendorInfo é inválido.
OT_ERROR_INVALID_STATE
A função BLE não foi iniciada ou o modo de linha não foi selecionado.

Macros

OT_TCAT_MAX_SERVICE_NAME_LENGTH

 OT_TCAT_MAX_SERVICE_NAME_LENGTH 15

Comprimento máximo da string de um nome de serviço UDP ou TCP (não inclui caracteres nulos).

Recursos

Os tópicos de Referência da API OpenThread são originados do código-fonte, disponível no GitHub. Para mais informações ou para contribuir com nossa documentação, consulte Recursos.