O Google tem o compromisso de promover a igualdade racial para as comunidades negras. Saiba como.
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 sobre 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á habilitado.

Typedefs

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

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 do par x509 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á ativa ou não.
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 de nível superior confiáveis.
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 configura o retorno de chamada conectado para indicar quando um Cliente se conecta ao servidor CoAP Seguro.
otCoapSecureSetDefaultHandler ( otInstance *aInstance, otCoapRequestHandler aHandler, void *aContext)
void
Esta função define o manipulador padrão para solicitações CoAP Secure não manipuladas.
otCoapSecureSetPsk ( otInstance *aInstance, const uint8_t *aPsk, uint16_t aPskLength, const uint8_t *aPskIdentity, uint16_t aPskIdLength)
void
Este 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)

Este ponteiro de função é chamado quando o estado da conexão DTLS muda.

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

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 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 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 for alterado.
[in] aContext
Um ponteiro para informações de contexto arbitrário.
Valores Retornados
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 OpenThread.

otCoapSecureGetPeerCertificateBase64

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

Este método retorna o certificado do par x509 codificado em base64.

Detalhes
Parâmetros
[in] aInstance
Um ponteiro para uma instância OpenThread.
[out] aPeerCert
Um ponteiro para o buffer de certificado codificado em base64.
[out] aCertLength
O comprimento do certificado de mesmo nível codificado em base64.
[in] aCertBufferSize
O tamanho do buffer de aPeerCert.
Valores Retornados
OT_ERROR_INVALID_STATE
Ainda não conectado.
OT_ERROR_NONE
Obtenha 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 OpenThread.
Valores Retornados
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á ativa ou não.

Detalhes
Parâmetros
[in] aInstance
Um ponteiro para uma instância OpenThread.
Valores Retornados
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 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 a 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), esta função atribuirá um ID de mensagem exclusivo à mensagem.

Detalhes
Parâmetros
[in] aInstance
Um ponteiro para uma instância OpenThread.
[in] aMessage
Uma referência à mensagem a ser enviada.
[in] aHandler
Um ponteiro de função que deve ser chamado na recepção de resposta ou tempo limite.
[in] aContext
Um ponteiro para informações de contexto arbitrário.
Valores Retornados
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 OpenThread.
[in] aMessage
Um ponteiro para a resposta CoAP a ser enviada.
[in] aMessageInfo
Um ponteiro para as informações da mensagem associadas a aMessage .
Valores Retornados
OT_ERROR_NONE
Enfileirado com sucesso a mensagem de resposta do 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 de nível superior confiáveis.

É necessário para validar o certificado do par.

Modo DTLS "ECDHE ECDSA com AES 128 CCM 8" para Aplicação CoAPS.

Detalhes
Parâmetros
[in] aInstance
Um ponteiro para uma instância OpenThread.
[in] aX509CaCertificateChain
Um ponteiro para a cadeia X509 CA formatada por 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 OpenThread.
[in] aX509Cert
Um ponteiro para o certificado X509 formatado por PEM.
[in] aX509Length
O comprimento do certificado.
[in] aPrivateKey
Um ponteiro para a chave privada formatada por PEM.
[in] aPrivateKeyLength
O comprimento da chave privada.

otCoapSecureSetClientConnectedCallback

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

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

Detalhes
Parâmetros
[in] aInstance
Um ponteiro para uma instância 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ário. 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 manipuladas.

Detalhes
Parâmetros
[in] aInstance
Um ponteiro para uma instância OpenThread.
[in] aHandler
Um ponteiro de função que deve ser chamado quando chega uma solicitação não tratada.
[in] aContext
Um ponteiro para informações de contexto arbitrário. 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
)

Este 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 OpenThread.
[in] aPsk
Um ponteiro para o PSK.
[in] aPskLength
O comprimento PSK.
[in] aPskIdentity
O nome da identidade do 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 de começar.

Detalhes
Parâmetros
[in] aInstance
Um ponteiro para uma instância OpenThread.
[in] aVerifyPeerCertificate
verdadeiro, 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 OpenThread.
[in] aPort
A porta UDP local à qual se conectar.
Valores Retornados
OT_ERROR_NONE
O servidor CoAP Secure foi iniciado com sucesso.

otCoapSecureStop

void otCoapSecureStop(
  otInstance *aInstance
)

Esta função interrompe o servidor CoAP Secure.

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

Macros

OT_DEFAULT_COAP_SECURE_PORT

 OT_DEFAULT_COAP_SECURE_PORT 5684

Porta CoAP Secure padrão, conforme especificado em RFC 7252.