Google is committed to advancing racial equity for Black communities. See how.
Esta página foi traduzida pela API Cloud Translation.
Switch to English

CoAP Secure

Este módulo inclui funções que controlam a comunicação CoAP Secure (CoAP over DTLS).

Resumo

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

Typedefs

otHandleCoapSecureClientConnect )(bool aConnected, void *aContext) typedef
void(*
Esse ponteiro de função é chamado quando o estado da conexão DTLS é alterado.

Funções

otCoapSecureAddResource ( otInstance *aInstance, otCoapResource *aResource)
void
Esta função adiciona um recurso ao servidor CoAP Secure.
otCoapSecureConnect ( otInstance *aInstance, const otSockAddr *aSockAddr, otHandleCoapSecureClientConnect aHandler, void *aContext)
Este método inicializa a sessão DTLS com um par.
otCoapSecureDisconnect ( otInstance *aInstance)
void
Este método interrompe a conexão DTLS.
otCoapSecureGetPeerCertificateBase64 ( otInstance *aInstance, unsigned char *aPeerCert, size_t *aCertLength, size_t aCertBufferSize)
Este método retorna o certificado x509 do mesmo nível codificado em base64.
otCoapSecureIsConnected ( otInstance *aInstance)
bool
Este método indica se a sessão DTLS está ou não conectada.
otCoapSecureIsConnectionActive ( otInstance *aInstance)
bool
Este método indica se a sessão DTLS está ou não ativa.
otCoapSecureRemoveResource ( otInstance *aInstance, otCoapResource *aResource)
void
Esta função remove um recurso do servidor CoAP Secure.
otCoapSecureSendRequest ( otInstance *aInstance, otMessage *aMessage, otCoapResponseHandler aHandler, void *aContext)
Este método envia uma solicitação CoAP por uma conexão DTLS segura.
otCoapSecureSendResponse ( otInstance *aInstance, otMessage *aMessage, const otMessageInfo *aMessageInfo)
Esta função envia uma resposta CoAP do servidor CoAP Secure.
otCoapSecureSetCaCertificateChain ( otInstance *aInstance, const uint8_t *aX509CaCertificateChain, uint32_t aX509CaCertChainLength)
void
Este método define as CAs confiáveis ​​de nível superior.
otCoapSecureSetCertificate ( otInstance *aInstance, const uint8_t *aX509Cert, uint32_t aX509Length, const uint8_t *aPrivateKey, uint32_t aPrivateKeyLength)
void
Este método define o certificado X509 do dispositivo local com a chave privada correspondente para a sessão DTLS com DTLS_ECDHE_ECDSA_WITH_AES_128_CCM_8.
otCoapSecureSetClientConnectedCallback ( otInstance *aInstance, otHandleCoapSecureClientConnect aHandler, void *aContext)
void
Este método define o retorno de chamada conectado para indicar quando um Cliente se conecta ao servidor CoAP Secure.
otCoapSecureSetDefaultHandler ( otInstance *aInstance, otCoapRequestHandler aHandler, void *aContext)
void
Esta função define o manipulador padrão para solicitações CoAP Secure não tratadas.
otCoapSecureSetPsk ( otInstance *aInstance, const uint8_t *aPsk, uint16_t aPskLength, const uint8_t *aPskIdentity, uint16_t aPskIdLength)
void
Esse método define a chave pré-compartilhada (PSK) e o conjunto de criptografia DTLS_PSK_WITH_AES_128_CCM_8.
otCoapSecureSetSslAuthMode ( otInstance *aInstance, bool aVerifyPeerCertificate)
void
Este método define o modo de autenticação para a conexão segura coap.
otCoapSecureStart ( otInstance *aInstance, uint16_t aPort)
Esta função inicia o serviço CoAP Secure.
otCoapSecureStop ( otInstance *aInstance)
void
Esta função interrompe o servidor CoAP Secure.

Typedefs

otHandleCoapSecureClientConnect

void(* otHandleCoapSecureClientConnect)(bool aConnected, void *aContext)

Esse ponteiro de função é chamado quando o estado da conexão DTLS é alterado.

Detalhes
Parâmetros
[in] aConnected
true, se uma conexão foi estabelecida, false caso contrário.
[in] aContext
Um ponteiro para informações de contexto arbitrárias.

Funções

otCoapSecureAddResource

void otCoapSecureAddResource(
  otInstance *aInstance,
  otCoapResource *aResource
)

Esta função adiciona um recurso ao servidor CoAP Secure.

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

otCoapSecureConnect

 otError otCoapSecureConnect(
  otInstance *aInstance,
  const otSockAddr *aSockAddr,
  otHandleCoapSecureClientConnect aHandler,
  void *aContext
)

Este método inicializa a sessão DTLS com um par.

Detalhes
Parâmetros
[in] aInstance
Um ponteiro para uma instância do OpenThread.
[in] aSockAddr
Um ponteiro para o sockaddr remoto.
[in] aHandler
Um ponteiro para uma função que será chamada quando o estado da conexão DTLS mudar.
[in] aContext
Um ponteiro para informações de contexto arbitrárias.
Retornar valores
OT_ERROR_NONE
Conexão DTLS iniciada com sucesso.

otCoapSecureDisconnect

void otCoapSecureDisconnect(
  otInstance *aInstance
)

Este método interrompe a conexão DTLS.

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

otCoapSecureGetPeerCertificateBase64

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

Este método retorna o certificado x509 do mesmo nível 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.
[out] aCertLength
O comprimento do certificado de ponto codificado em base64.
[in] aCertBufferSize
O tamanho do buffer de aPeerCert.
Retornar valores
OT_ERROR_INVALID_STATE
Ainda não está conectado.
OT_ERROR_NONE
Obtenha com êxito o certificado de mesmo nível.
OT_ERROR_NO_BUFS
Não é possível alocar memória para o certificado.

otCoapSecureIsConnected

bool otCoapSecureIsConnected(
  otInstance *aInstance
)

Este método indica se a sessão DTLS está ou não conectada.

Detalhes
Parâmetros
[in] aInstance
Um ponteiro para uma instância do OpenThread.
Retornar valores
TRUE
A sessão DTLS está conectada.
FALSE
A sessão DTLS não está conectada.

otCoapSecureIsConnectionActive

bool otCoapSecureIsConnectionActive(
  otInstance *aInstance
)

Este método indica se a sessão DTLS está ou não ativa.

Detalhes
Parâmetros
[in] aInstance
Um ponteiro para uma instância do OpenThread.
Retornar valores
TRUE
Se a sessão DTLS estiver ativa.
FALSE
Se a sessão DTLS não estiver ativa.

otCoapSecureRemoveResource

void otCoapSecureRemoveResource(
  otInstance *aInstance,
  otCoapResource *aResource
)

Esta função remove um recurso do servidor CoAP Secure.

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

otCoapSecureSendRequest

 otError otCoapSecureSendRequest(
  otInstance *aInstance,
  otMessage *aMessage,
  otCoapResponseHandler aHandler,
  void *aContext
)

Este método envia uma solicitação CoAP por uma conexão DTLS segura.

Se uma resposta para uma solicitação for esperada, as respectivas funções e informações de contexto devem ser fornecidas. Se nenhuma resposta for esperada, esses argumentos devem ser ponteiros NULL. Se o ID da mensagem não foi definido no cabeçalho (igual a 0), essa função atribuirá um ID de mensagem exclusivo à mensagem.

Detalhes
Parâmetros
[in] aInstance
Um ponteiro para uma instância do OpenThread.
[in] aMessage
Uma referência à mensagem a ser enviada.
[in] aHandler
Um ponteiro de função que deve ser chamado na recepção da resposta ou no tempo limite.
[in] aContext
Um ponteiro para informações de contexto arbitrárias.
Retornar valores
OT_ERROR_NONE
Mensagem CoAP enviada com sucesso.
OT_ERROR_NO_BUFS
Falha ao alocar dados de retransmissão.
OT_ERROR_INVALID_STATE
A conexão DTLS não foi inicializada.

otCoapSecureSendResponse

 otError otCoapSecureSendResponse(
  otInstance *aInstance,
  otMessage *aMessage,
  const otMessageInfo *aMessageInfo
)

Esta função envia uma resposta CoAP do servidor CoAP Secure.

Detalhes
Parâmetros
[in] aInstance
Um ponteiro para uma instância do OpenThread.
[in] aMessage
Um ponteiro para a resposta do CoAP a ser enviada.
[in] aMessageInfo
Um ponteiro para as informações da mensagem associadas ao aMessage .
Retornar valores
OT_ERROR_NONE
Enfileirou com êxito a mensagem de resposta CoAP.
OT_ERROR_NO_BUFS
Buffers insuficientes disponíveis para enviar a resposta CoAP.

otCoapSecureSetCaCertificateChain

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

Este método define as CAs confiáveis ​​de nível superior.

É necessário para validar o certificado do par.

Modo DTLS "ECDHE ECDSA com AES 128 CCM 8" para Application CoAPS.

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

otCoapSecureSetCertificate

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

Este método define o certificado X509 do dispositivo local com a chave privada correspondente para a sessão DTLS com DTLS_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 pelo PEM.
[in] aX509Length
O comprimento do certificado.
[in] aPrivateKey
Um ponteiro para a chave privada formatada pelo PEM.
[in] aPrivateKeyLength
O comprimento da chave privada.

otCoapSecureSetClientConnectedCallback

void otCoapSecureSetClientConnectedCallback(
  otInstance *aInstance,
  otHandleCoapSecureClientConnect aHandler,
  void *aContext
)

Este método define o retorno de chamada conectado para indicar quando um Cliente se conecta ao servidor CoAP Secure.

Detalhes
Parâmetros
[in] aInstance
Um ponteiro para uma instância do OpenThread.
[in] aHandler
Um ponteiro para uma função que será chamada assim que a conexão DTLS for estabelecida.
[in] aContext
Um ponteiro para informações de contexto arbitrárias. Pode ser NULL se não for usado.

otCoapSecureSetDefaultHandler

void otCoapSecureSetDefaultHandler(
  otInstance *aInstance,
  otCoapRequestHandler aHandler,
  void *aContext
)

Esta função define o manipulador padrão para solicitações CoAP Secure não tratadas.

Detalhes
Parâmetros
[in] aInstance
Um ponteiro para uma instância do OpenThread.
[in] aHandler
Um ponteiro de função que deve ser chamado quando uma solicitação não tratada chegar.
[in] aContext
Um ponteiro para informações de contexto arbitrárias. Pode ser NULL se não for usado.

otCoapSecureSetPsk

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

Esse método define a chave pré-compartilhada (PSK) e o conjunto de criptografia DTLS_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 da identidade para o PSK.
[in] aPskIdLength
O comprimento da identidade PSK.

otCoapSecureSetSslAuthMode

void otCoapSecureSetSslAuthMode(
  otInstance *aInstance,
  bool aVerifyPeerCertificate
)

Este método define o modo de autenticação para a conexão segura coap.

Desative ou ative a verificação do certificado de mesmo nível. Deve 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 mesmo nível.

otCoapSecureStart

 otError otCoapSecureStart(
  otInstance *aInstance,
  uint16_t aPort
)

Esta função inicia o serviço CoAP Secure.

Detalhes
Parâmetros
[in] aInstance
Um ponteiro para uma instância do OpenThread.
[in] aPort
A porta UDP local à qual se vincular.
Retornar valores
OT_ERROR_NONE
Iniciado com sucesso o servidor CoAP Secure.

otCoapSecureStop

void otCoapSecureStop(
  otInstance *aInstance
)

Esta função interrompe o servidor CoAP Secure.

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

Macros

OT_DEFAULT_COAP_SECURE_PORT

 OT_DEFAULT_COAP_SECURE_PORT 5684

Porta CoAP segura padrão, conforme especificado na RFC 7252.