Google se compromete a impulsar la igualdad racial para las comunidades afrodescendientes. Obtén información al respecto.

CoAP seguro

Este módulo incluye funciones que controlan la comunicación CoAP Secure (CoAP over DTLS).

Resumen

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

Typedefs

otHandleCoapSecureClientConnect )(bool aConnected, void *aContext) typedef
void(*
Este puntero de función se llama cuando cambia el estado de la conexión DTLS.

Funciones

otCoapSecureAddBlockWiseResource ( otInstance *aInstance, otCoapBlockwiseResource *aResource)
void
Esta función agrega un recurso por bloques al servidor CoAP Secure.
otCoapSecureAddResource ( otInstance *aInstance, otCoapResource *aResource)
void
Esta función agrega un recurso al servidor CoAP Secure.
otCoapSecureConnect ( otInstance *aInstance, const otSockAddr *aSockAddr, otHandleCoapSecureClientConnect aHandler, void *aContext)
Este método inicializa la sesión DTLS con un par.
otCoapSecureDisconnect ( otInstance *aInstance)
void
Este método detiene la conexión DTLS.
otCoapSecureGetPeerCertificateBase64 ( otInstance *aInstance, unsigned char *aPeerCert, size_t *aCertLength, size_t aCertBufferSize)
Este método devuelve el certificado del mismo nivel x509 codificado en base64.
otCoapSecureIsConnected ( otInstance *aInstance)
bool
Este método indica si la sesión DTLS está conectada o no.
otCoapSecureIsConnectionActive ( otInstance *aInstance)
bool
Este método indica si la sesión DTLS está activa o no.
otCoapSecureRemoveBlockWiseResource ( otInstance *aInstance, otCoapBlockwiseResource *aResource)
void
Esta función elimina un recurso por bloques del servidor CoAP Secure.
otCoapSecureRemoveResource ( otInstance *aInstance, otCoapResource *aResource)
void
Esta función elimina un recurso del servidor CoAP Secure.
otCoapSecureSendRequest ( otInstance *aInstance, otMessage *aMessage, otCoapResponseHandler aHandler, void *aContext)
Este método envía una solicitud CoAP a través de una conexión DTLS segura.
otCoapSecureSendRequestBlockWise ( otInstance *aInstance, otMessage *aMessage, otCoapResponseHandler aHandler, void *aContext, otCoapBlockwiseTransmitHook aTransmitHook, otCoapBlockwiseReceiveHook aReceiveHook)
Este método envía una solicitud CoAP en bloque a través de una conexión DTLS segura.
otCoapSecureSendResponse ( otInstance *aInstance, otMessage *aMessage, const otMessageInfo *aMessageInfo)
Esta función envía una respuesta CoAP desde el servidor CoAP Secure.
otCoapSecureSendResponseBlockWise ( otInstance *aInstance, otMessage *aMessage, const otMessageInfo *aMessageInfo, void *aContext, otCoapBlockwiseTransmitHook aTransmitHook)
Esta función envía una respuesta CoAP en bloque desde el servidor CoAP Secure.
otCoapSecureSetCaCertificateChain ( otInstance *aInstance, const uint8_t *aX509CaCertificateChain, uint32_t aX509CaCertChainLength)
void
Este método establece las CA de nivel superior de confianza.
otCoapSecureSetCertificate ( otInstance *aInstance, const uint8_t *aX509Cert, uint32_t aX509Length, const uint8_t *aPrivateKey, uint32_t aPrivateKeyLength)
void
Este método establece el certificado X509 del dispositivo local con la clave privada correspondiente para la sesión DTLS con DTLS_ECDHE_ECDSA_WITH_AES_128_CCM_8.
otCoapSecureSetClientConnectedCallback ( otInstance *aInstance, otHandleCoapSecureClientConnect aHandler, void *aContext)
void
Este método establece la devolución de llamada conectada para indicar cuándo un Cliente se conecta al servidor CoAP Secure.
otCoapSecureSetDefaultHandler ( otInstance *aInstance, otCoapRequestHandler aHandler, void *aContext)
void
Esta función establece el manejador predeterminado para las solicitudes CoAP Secure no manejadas.
otCoapSecureSetPsk ( otInstance *aInstance, const uint8_t *aPsk, uint16_t aPskLength, const uint8_t *aPskIdentity, uint16_t aPskIdLength)
void
Este método establece la clave precompartida (PSK) y el conjunto de cifrado DTLS_PSK_WITH_AES_128_CCM_8.
otCoapSecureSetSslAuthMode ( otInstance *aInstance, bool aVerifyPeerCertificate)
void
Este método establece el modo de autenticación para la conexión segura coap.
otCoapSecureStart ( otInstance *aInstance, uint16_t aPort)
Esta función inicia el servicio CoAP Secure.
otCoapSecureStop ( otInstance *aInstance)
void
Esta función detiene el servidor CoAP Secure.

Typedefs

otHandleCoapSecureClientConnect

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

Este puntero de función se llama cuando cambia el estado de la conexión DTLS.

Detalles
Parámetros
[in] aConnected
Verdadero, si se estableció una conexión, falso en caso contrario.
[in] aContext
Un puntero a información de contexto arbitraria.

Funciones

otCoapSecureAddBlockWiseResource

void otCoapSecureAddBlockWiseResource(
  otInstance *aInstance,
  otCoapBlockwiseResource *aResource
)

Esta función agrega un recurso por bloques al servidor CoAP Secure.

Detalles
Parámetros
[in] aInstance
Un puntero a una instancia de OpenThread.
[in] aResource
Un puntero al recurso.

otCoapSecureAddResource

void otCoapSecureAddResource(
  otInstance *aInstance,
  otCoapResource *aResource
)

Esta función agrega un recurso al servidor CoAP Secure.

Detalles
Parámetros
[in] aInstance
Un puntero a una instancia de OpenThread.
[in] aResource
Un puntero al recurso.

otCoapSecureConnect

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

Este método inicializa la sesión DTLS con un par.

Detalles
Parámetros
[in] aInstance
Un puntero a una instancia de OpenThread.
[in] aSockAddr
Un puntero a la dirección del enchufe remoto.
[in] aHandler
Un puntero a una función que se llamará cuando cambie el estado de la conexión DTLS.
[in] aContext
Un puntero a información de contexto arbitraria.
Valores devueltos
OT_ERROR_NONE
Conexión DTLS iniciada con éxito.

otCoapSecureDisconnect

void otCoapSecureDisconnect(
  otInstance *aInstance
)

Este método detiene la conexión DTLS.

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

otCoapSecureGetPeerCertificateBase64

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

Este método devuelve el certificado del mismo nivel x509 codificado en base64.

Detalles
Parámetros
[in] aInstance
Un puntero a una instancia de OpenThread.
[out] aPeerCert
Un puntero al búfer de certificado codificado en base64.
[out] aCertLength
La longitud del certificado de pares codificado en base64.
[in] aCertBufferSize
El tamaño del búfer de aPeerCert.
Valores devueltos
OT_ERROR_INVALID_STATE
Aún no conectado.
OT_ERROR_NONE
Obtenga con éxito el certificado de pares.
OT_ERROR_NO_BUFS
No se puede asignar memoria para el certificado.

otCoapSecureIsConnected

bool otCoapSecureIsConnected(
  otInstance *aInstance
)

Este método indica si la sesión DTLS está conectada o no.

Detalles
Parámetros
[in] aInstance
Un puntero a una instancia de OpenThread.
Valores devueltos
TRUE
La sesión DTLS está conectada.
FALSE
La sesión de DTLS no está conectada.

otCoapSecureIsConnectionActive

bool otCoapSecureIsConnectionActive(
  otInstance *aInstance
)

Este método indica si la sesión DTLS está activa o no.

Detalles
Parámetros
[in] aInstance
Un puntero a una instancia de OpenThread.
Valores devueltos
TRUE
Si la sesión de DTLS está activa.
FALSE
Si la sesión de DTLS no está activa.

otCoapSecureRemoveBlockWiseResource

void otCoapSecureRemoveBlockWiseResource(
  otInstance *aInstance,
  otCoapBlockwiseResource *aResource
)

Esta función elimina un recurso por bloques del servidor CoAP Secure.

Detalles
Parámetros
[in] aInstance
Un puntero a una instancia de OpenThread.
[in] aResource
Un puntero al recurso.

otCoapSecureRemoveResource

void otCoapSecureRemoveResource(
  otInstance *aInstance,
  otCoapResource *aResource
)

Esta función elimina un recurso del servidor CoAP Secure.

Detalles
Parámetros
[in] aInstance
Un puntero a una instancia de OpenThread.
[in] aResource
Un puntero al recurso.

otCoapSecureSendRequest

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

Este método envía una solicitud CoAP a través de una conexión DTLS segura.

Si se espera una respuesta a una solicitud, se debe proporcionar la función respectiva y la información de contexto. Si no se espera respuesta, estos argumentos deben ser punteros NULL. Si la Id. De mensaje no se estableció en el encabezado (igual a 0), esta función asignará una Id. De mensaje única al mensaje.

Detalles
Parámetros
[in] aInstance
Un puntero a una instancia de OpenThread.
[in] aMessage
Una referencia al mensaje a enviar.
[in] aHandler
Un puntero de función que se llamará en la recepción de respuesta o en el tiempo de espera.
[in] aContext
Un puntero a información de contexto arbitraria.
Valores devueltos
OT_ERROR_NONE
Mensaje CoAP enviado con éxito.
OT_ERROR_NO_BUFS
No se pudieron asignar los datos de retransmisión.
OT_ERROR_INVALID_STATE
La conexión DTLS no se inicializó.

otCoapSecureSendRequestBlockWise

otError otCoapSecureSendRequestBlockWise(
  otInstance *aInstance,
  otMessage *aMessage,
  otCoapResponseHandler aHandler,
  void *aContext,
  otCoapBlockwiseTransmitHook aTransmitHook,
  otCoapBlockwiseReceiveHook aReceiveHook
)

Este método envía una solicitud CoAP en bloque a través de una conexión DTLS segura.

Esta función está disponible cuando la configuración OPENTHREAD_CONFIG_COAP_BLOCKWISE_TRANSFER_ENABLE está habilitada.

Si se espera una respuesta a una solicitud, se debe proporcionar la función respectiva y la información de contexto. Si no se espera respuesta, estos argumentos deben ser punteros NULL. Si la Id. De mensaje no se estableció en el encabezado (igual a 0), esta función asignará una Id. De mensaje única al mensaje.

Detalles
Parámetros
[in] aInstance
Un puntero a una instancia de OpenThread.
[in] aMessage
Una referencia al mensaje a enviar.
[in] aHandler
Un puntero de función que se llamará en la recepción de respuesta o en el tiempo de espera.
[in] aContext
Un puntero a información de contexto arbitraria.
[in] aTransmitHook
Un puntero de función que se llama en la recepción de respuesta del Bloque1.
[in] aReceiveHook
Un puntero de función que se llama en la recepción de respuesta de Block2.
Valores devueltos
OT_ERROR_NONE
Mensaje CoAP enviado con éxito.
OT_ERROR_NO_BUFS
No se pudieron asignar los datos de retransmisión.
OT_ERROR_INVALID_STATE
La conexión DTLS no se inicializó.

otCoapSecureSendResponse

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

Esta función envía una respuesta CoAP desde el servidor CoAP Secure.

Detalles
Parámetros
[in] aInstance
Un puntero a una instancia de OpenThread.
[in] aMessage
Un puntero a la respuesta de CoAP para enviar.
[in] aMessageInfo
Un puntero a la información del mensaje asociada con aMessage .
Valores devueltos
OT_ERROR_NONE
Se puso en cola con éxito el mensaje de respuesta de CoAP.
OT_ERROR_NO_BUFS
Buffers insuficientes disponibles para enviar la respuesta CoAP.

otCoapSecureSendResponseBlockWise

otError otCoapSecureSendResponseBlockWise(
  otInstance *aInstance,
  otMessage *aMessage,
  const otMessageInfo *aMessageInfo,
  void *aContext,
  otCoapBlockwiseTransmitHook aTransmitHook
)

Esta función envía una respuesta CoAP en bloque desde el servidor CoAP Secure.

Esta función está disponible cuando la configuración OPENTHREAD_CONFIG_COAP_BLOCKWISE_TRANSFER_ENABLE está habilitada.

Detalles
Parámetros
[in] aInstance
Un puntero a una instancia de OpenThread.
[in] aMessage
Un puntero a la respuesta de CoAP para enviar.
[in] aMessageInfo
Un puntero a la información del mensaje asociada con aMessage .
[in] aContext
Un puntero a información de contexto arbitraria. Puede ser NULO si no se usa.
[in] aTransmitHook
Un puntero de función que se llama en la recepción de la solicitud del Bloque1.
Valores devueltos
OT_ERROR_NONE
Se puso en cola con éxito el mensaje de respuesta de CoAP.
OT_ERROR_NO_BUFS
Buffers insuficientes disponibles para enviar la respuesta CoAP.

otCoapSecureSetCaCertificateChain

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

Este método establece las CA de nivel superior de confianza.

Es necesario para validar el certificado del par.

Modo DTLS "ECDHE ECDSA con AES 128 CCM 8" para Aplicación CoAPS.

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

otCoapSecureSetCertificate

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

Este método establece el certificado X509 del dispositivo local con la clave privada correspondiente para la sesión DTLS con DTLS_ECDHE_ECDSA_WITH_AES_128_CCM_8.

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

otCoapSecureSetClientConnectedCallback

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

Este método establece la devolución de llamada conectada para indicar cuándo un Cliente se conecta al servidor CoAP Secure.

Detalles
Parámetros
[in] aInstance
Un puntero a una instancia de OpenThread.
[in] aHandler
Un puntero a una función que se llamará una vez que se establezca la conexión DTLS.
[in] aContext
Un puntero a información de contexto arbitraria. Puede ser NULO si no se usa.

otCoapSecureSetDefaultHandler

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

Esta función establece el manejador predeterminado para las solicitudes CoAP Secure no manejadas.

Detalles
Parámetros
[in] aInstance
Un puntero a una instancia de OpenThread.
[in] aHandler
Un puntero de función que se llamará cuando llegue una solicitud no manejada.
[in] aContext
Un puntero a información de contexto arbitraria. Puede ser NULO si no se usa.

otCoapSecureSetPsk

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

Este método establece la clave precompartida (PSK) y el conjunto de cifrado DTLS_PSK_WITH_AES_128_CCM_8.

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

otCoapSecureSetSslAuthMode

void otCoapSecureSetSslAuthMode(
  otInstance *aInstance,
  bool aVerifyPeerCertificate
)

Este método establece el modo de autenticación para la conexión segura coap.

Deshabilite o habilite la verificación del certificado de pares. Debe llamarse antes de comenzar.

Detalles
Parámetros
[in] aInstance
Un puntero a una instancia de OpenThread.
[in] aVerifyPeerCertificate
verdadero, para verificar el certificado del mismo nivel.

otCoapSecureStart

otError otCoapSecureStart(
  otInstance *aInstance,
  uint16_t aPort
)

Esta función inicia el servicio CoAP Secure.

Detalles
Parámetros
[in] aInstance
Un puntero a una instancia de OpenThread.
[in] aPort
El puerto UDP local al que enlazar.
Valores devueltos
OT_ERROR_NONE
Se inició correctamente el servidor CoAP Secure.

otCoapSecureStop

void otCoapSecureStop(
  otInstance *aInstance
)

Esta función detiene el servidor CoAP Secure.

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

Macros

OT_DEFAULT_COAP_SECURE_PORT

 OT_DEFAULT_COAP_SECURE_PORT 5684

Puerto seguro CoAP predeterminado, como se especifica en RFC 7252.