Google is committed to advancing racial equity for Black communities. See how.
Se usó la API de Cloud Translation para traducir esta página.
Switch to English

CoAP Secure

Este módulo incluye funciones que controlan la comunicación CoAP Secure (CoAP sobre 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(*
Se llama a este puntero de función cuando cambia el estado de conexión DTLS.

Las funciones

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 x509 par base64 codificado.
otCoapSecureIsConnected ( otInstance *aInstance)
bool
Este método indica si la sesión DTLS está o no conectada.
otCoapSecureIsConnectionActive ( otInstance *aInstance)
bool
Este método indica si la sesión DTLS está activa o no.
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.
otCoapSecureSendResponse ( otInstance *aInstance, otMessage *aMessage, const otMessageInfo *aMessageInfo)
Esta función envía una respuesta CoAP 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, cuando un Cliente se conecta al servidor CoAP Secure.
otCoapSecureSetDefaultHandler ( otInstance *aInstance, otCoapRequestHandler aHandler, void *aContext)
void
Esta función establece el controlador predeterminado para 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)

Se llama a este puntero de función cuando cambia el estado de 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.

Las funciones

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 al remoto sockaddr.
[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 de retorno
OT_ERROR_NONE
Se inició con éxito la conexión DTLS.

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 x509 par base64 codificado.

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 par codificado en base64.
[in] aCertBufferSize
El tamaño del búfer de aPeerCert.
Valores de retorno
OT_ERROR_INVALID_STATE
No conectado todavía.
OT_ERROR_NONE
Obtenga con éxito el certificado de igual.
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á o no conectada.

Detalles
Parámetros
[in] aInstance
Un puntero a una instancia de OpenThread.
Valores de retorno
TRUE
La sesión DTLS está conectada.
FALSE
La sesión 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 de retorno
TRUE
Si la sesión DTLS está activa.
FALSE
Si la sesión DTLS no está activa.

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 el Id. De mensaje no se configuró en el encabezado (igual a 0), esta función asignará un Id. De mensaje único 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 recepción de respuesta o tiempo de espera.
[in] aContext
Un puntero a información de contexto arbitraria.
Valores de retorno
OT_ERROR_NONE
Se envió correctamente el mensaje CoAP.
OT_ERROR_NO_BUFS
Error al asignar 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 CoAP para enviar.
[in] aMessageInfo
Un puntero a la información del mensaje asociado con aMessage .
Valores de retorno
OT_ERROR_NONE
Con éxito puso en cola el mensaje de respuesta 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 la aplicación CoAPS.

Detalles
Parámetros
[in] aInstance
Un puntero a una instancia de OpenThread.
[in] aX509CaCertificateChain
Un puntero a la cadena de CA X509 formateada 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 formateada 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, cuando 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 NULL si no se usa.

otCoapSecureSetDefaultHandler

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

Esta función establece el controlador predeterminado para 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 controlada.
[in] aContext
Un puntero a información de contexto arbitraria. Puede ser NULL 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 del PSK.
[in] aPskIdentity
El nombre de identidad para el 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 coap.

Deshabilitar o habilitar la verificación del certificado de igual. Debe llamarse antes de comenzar.

Detalles
Parámetros
[in] aInstance
Un puntero a una instancia de OpenThread.
[in] aVerifyPeerCertificate
Es cierto, para verificar el certificado de igual.

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 vincularse.
Valores de retorno
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.