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

CoAP Secure

Este módulo incluye funciones que controlan la comunicación de CoAP Secure (CoAP a través de DTLS).

Resumen

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

Typedefs

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

Functions

otCoapSecureAddBlockWiseResource(otInstance *aInstance, otCoapBlockwiseResource *aResource)
void
Esta función agrega un recurso a nivel de bloque al servidor seguro de CoAP.
otCoapSecureAddResource(otInstance *aInstance, otCoapResource *aResource)
void
Esta función agrega un recurso al servidor seguro de CoAP.
otCoapSecureConnect(otInstance *aInstance, const otSockAddr *aSockAddr, otHandleCoapSecureClientConnect aHandler, void *aContext)
Este método inicializa la sesión de 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 muestra el certificado de par x509 codificado en base64.
otCoapSecureIsConnected(otInstance *aInstance)
bool
Este método indica si la sesión de DTLS está conectada o no.
otCoapSecureIsConnectionActive(otInstance *aInstance)
bool
Este método indica si la sesión de DTLS está activa.
otCoapSecureRemoveBlockWiseResource(otInstance *aInstance, otCoapBlockwiseResource *aResource)
void
Esta función quita un recurso a nivel de bloque del servidor seguro de CoAP.
otCoapSecureRemoveResource(otInstance *aInstance, otCoapResource *aResource)
void
Esta función quita un recurso del servidor seguro de CoAP.
otCoapSecureSendRequest(otInstance *aInstance, otMessage *aMessage, otCoapResponseHandler aHandler, void *aContext)
Este método envía una solicitud de 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 de CoAP a nivel de 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 de CoAP desde el servidor seguro de CoAP.
otCoapSecureSendResponseBlockWise(otInstance *aInstance, otMessage *aMessage, const otMessageInfo *aMessageInfo, void *aContext, otCoapBlockwiseTransmitHook aTransmitHook)
Esta función envía una respuesta de CoAP a nivel de bloque desde el servidor seguro de CoAP.
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 que un cliente se conecta al servidor seguro de CoAP.
otCoapSecureSetDefaultHandler(otInstance *aInstance, otCoapRequestHandler aHandler, void *aContext)
void
Esta función establece el controlador predeterminado para las solicitudes de CoAP Secure no controladas.
otCoapSecureSetPsk(otInstance *aInstance, const uint8_t *aPsk, uint16_t aPskLength, const uint8_t *aPskIdentity, uint16_t aPskIdLength)
void
Este método establece la clave previamente compartida (PSK) y el conjunto de algoritmos 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 de coap.
otCoapSecureStart(otInstance *aInstance, uint16_t aPort)
Esta función inicia el servicio seguro de CoAP.
otCoapSecureStop(otInstance *aInstance)
void
Esta función detiene el servidor seguro de CoAP.

Typedefs

OtHandleCoapSecureClientConnect

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

Se llama a este puntero de función cuando cambia el estado de la conexión de DTLS.

Detalles
Parámetros
[in] aConnected
verdadero, si se estableció una conexión, falso de lo contrario.
[in] aContext
Un puntero para información contextual arbitraria

Functions

otCoapSecureAddBlockWiseResource

void otCoapSecureAddBlockWiseResource(
  otInstance *aInstance,
  otCoapBlockwiseResource *aResource
)

Esta función agrega un recurso a nivel de bloque al servidor seguro de CoAP.

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

otCoapSecureAddResource

void otCoapSecureAddResource(
  otInstance *aInstance,
  otCoapResource *aResource
)

Esta función agrega un recurso al servidor seguro de CoAP.

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

otCoapSecureConnect

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

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

Detalles
Parámetros
[in] aInstance
Un puntero para una instancia de OpenThread.
[in] aSockAddr
Un puntero para la dirección del socket remoto.
[in] aHandler
Un puntero para una función que se llamará cuando cambie el estado de la conexión DTLS.
[in] aContext
Un puntero para información contextual arbitraria
Valores que se muestran
OT_ERROR_NONE
Se inició correctamente la conexión DTLS.

otCoapSecureDisconnect

void otCoapSecureDisconnect(
  otInstance *aInstance
)

Este método detiene la conexión DTLS.

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

otCoapSecureGetPeerCertificateBase64

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

Este método muestra el certificado de par x509 codificado en base64.

Detalles
Parámetros
[in] aInstance
Un puntero para una instancia de OpenThread.
[out] aPeerCert
Un puntero para el búfer de certificados con codificación base64.
[out] aCertLength
La longitud del certificado de par con codificación base64.
[in] aCertBufferSize
Es el tamaño del búfer de APeerCert.
Valores que se muestran
OT_ERROR_INVALID_STATE
Aún no estás conectado.
OT_ERROR_NONE
Se obtuvo correctamente el certificado de intercambio de tráfico.
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 de DTLS está conectada o no.

Detalles
Parámetros
[in] aInstance
Un puntero para una instancia de OpenThread.
Valores que se muestran
TRUE
La sesión de 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 de DTLS está activa.

Detalles
Parámetros
[in] aInstance
Un puntero para una instancia de OpenThread.
Valores que se muestran
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 quita un recurso a nivel de bloque del servidor seguro de CoAP.

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

otCoapSecureRemoveResource

void otCoapSecureRemoveResource(
  otInstance *aInstance,
  otCoapResource *aResource
)

Esta función quita un recurso del servidor seguro de CoAP.

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

otCoapSecureSendRequest

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

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

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

Detalles
Parámetros
[in] aInstance
Un puntero para una instancia de OpenThread.
[in] aMessage
Una referencia al mensaje para enviar.
[in] aHandler
Un puntero de función que se llamará en la recepción de respuesta o tiempo de espera.
[in] aContext
Un puntero para información contextual arbitraria
Valores que se muestran
OT_ERROR_NONE
El mensaje CoAP se envió correctamente.
OT_ERROR_NO_BUFS
No se pudieron asignar los datos de retransmisión.
OT_ERROR_INVALID_STATE
No se inicializó la conexión DTLS.

otCoapSecureSendRequestBlockWise

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

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

Esta función está disponible cuando se habilita la configuración OPENThread_CONFIG_COAP_BLOCKWISE_TRANSFER_ENABLE.

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

Detalles
Parámetros
[in] aInstance
Un puntero para una instancia de OpenThread.
[in] aMessage
Una referencia al mensaje para enviar.
[in] aHandler
Un puntero de función que se llamará en la recepción de respuesta o tiempo de espera.
[in] aContext
Un puntero para información contextual arbitraria
[in] aTransmitHook
Un puntero de función al que se llama en la recepción de respuestas de Block1.
[in] aReceiveHook
Un puntero de función al que se llama en la recepción de respuestas de Block2.
Valores que se muestran
OT_ERROR_NONE
El mensaje CoAP se envió correctamente.
OT_ERROR_NO_BUFS
No se pudieron asignar los datos de retransmisión.
OT_ERROR_INVALID_STATE
No se inicializó la conexión DTLS.

otCoapSecureSendResponse

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

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

Detalles
Parámetros
[in] aInstance
Un puntero para una instancia de OpenThread.
[in] aMessage
Un puntero para la respuesta de CoAP para enviar.
[in] aMessageInfo
Un puntero para la información del mensaje asociada con aMessage.
Valores que se muestran
OT_ERROR_NONE
El mensaje de respuesta de CoAP se puso en cola correctamente.
OT_ERROR_NO_BUFS
No hay búferes suficientes para enviar la respuesta de CoAP.

otCoapSecureSendResponseBlockWise

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

Esta función envía una respuesta de CoAP a nivel de bloque desde el servidor seguro de CoAP.

Esta función está disponible cuando se habilita la configuración OPENThread_CONFIG_COAP_BLOCKWISE_TRANSFER_ENABLE.

Detalles
Parámetros
[in] aInstance
Un puntero para una instancia de OpenThread.
[in] aMessage
Un puntero para la respuesta de CoAP para enviar.
[in] aMessageInfo
Un puntero para la información del mensaje asociada con aMessage.
[in] aContext
Un puntero para información contextual arbitraria Puede ser NULO si no se usa.
[in] aTransmitHook
Un puntero de función al que se llama en la recepción de solicitudes de Block1.
Valores que se muestran
OT_ERROR_NONE
El mensaje de respuesta de CoAP se puso en cola correctamente.
OT_ERROR_NO_BUFS
No hay búferes suficientes para enviar la respuesta de 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 ECEC) con AES 128 CCM 8 para CoAPS de aplicaciones.

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.

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 para una instancia de OpenThread.
[in] aX509Cert
Un puntero al certificado X509 con formato PEM.
[in] aX509Length
La longitud del certificado
[in] aPrivateKey
Un puntero para 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 que un cliente se conecta al servidor seguro de CoAP.

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

otCoapSecureSetDefaultHandler

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

Esta función establece el controlador predeterminado para las solicitudes de CoAP Secure no controladas.

Detalles
Parámetros
[in] aInstance
Un puntero para una instancia de OpenThread.
[in] aHandler
Un puntero de función que se llamará cuando llegue una solicitud no controlada.
[in] aContext
Un puntero para información contextual 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 previamente compartida (PSK) y el conjunto de algoritmos de cifrado DTLS_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
La longitud de la PSK.
[in] aPskIdentity
El nombre de identidad de la PSK.
[in] aPskIdLength
La longitud de identidad de PSK.

otCoapSecureSetSslAuthMode

void otCoapSecureSetSslAuthMode(
  otInstance *aInstance,
  bool aVerifyPeerCertificate
)

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

Habilita o inhabilita la verificación del certificado de par. 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 del par.

otCoapSecureStart

otError otCoapSecureStart(
  otInstance *aInstance,
  uint16_t aPort
)

Esta función inicia el servicio seguro de CoAP.

Detalles
Parámetros
[in] aInstance
Un puntero para una instancia de OpenThread.
[in] aPort
El puerto UDP local al cual vincular.
Valores que se muestran
OT_ERROR_NONE
Se inició correctamente el servidor seguro de CoAP.

otCoapSecureStop

void otCoapSecureStop(
  otInstance *aInstance
)

Esta función detiene el servidor seguro de CoAP.

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

Macros

OT_DEFAULT_COAP_SECURE_PORT

 OT_DEFAULT_COAP_SECURE_PORT 5684

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

Recursos

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