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)
|
typedefvoid(*
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 |
|
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 |
|
otCoapSecureAddResource
void otCoapSecureAddResource( otInstance *aInstance, otCoapResource *aResource )
Esta función agrega un recurso al servidor seguro de CoAP.
Detalles | |||||
---|---|---|---|---|---|
Parámetros |
|
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 |
|
||||||||
Valores que se muestran |
|
otCoapSecureDisconnect
void otCoapSecureDisconnect( otInstance *aInstance )
Este método detiene la conexión DTLS.
Detalles | |||
---|---|---|---|
Parámetros |
|
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 |
|
||||||||
Valores que se muestran |
|
otCoapSecureIsConnected
bool otCoapSecureIsConnected( otInstance *aInstance )
Este método indica si la sesión de DTLS está conectada o no.
Detalles | |||||
---|---|---|---|---|---|
Parámetros |
|
||||
Valores que se muestran |
|
otCoapSecureIsConnectionActive
bool otCoapSecureIsConnectionActive( otInstance *aInstance )
Este método indica si la sesión de DTLS está activa.
Detalles | |||||
---|---|---|---|---|---|
Parámetros |
|
||||
Valores que se muestran |
|
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 |
|
otCoapSecureRemoveResource
void otCoapSecureRemoveResource( otInstance *aInstance, otCoapResource *aResource )
Esta función quita un recurso del servidor seguro de CoAP.
Detalles | |||||
---|---|---|---|---|---|
Parámetros |
|
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 |
|
||||||||
Valores que se muestran |
|
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 |
|
||||||||||||
Valores que se muestran |
|
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 |
|
||||||
Valores que se muestran |
|
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 |
|
||||||||||
Valores que se muestran |
|
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 |
|
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 |
|
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 |
|
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 |
|
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 |
|
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 |
|
otCoapSecureStart
otError otCoapSecureStart( otInstance *aInstance, uint16_t aPort )
Esta función inicia el servicio seguro de CoAP.
Detalles | |||||
---|---|---|---|---|---|
Parámetros |
|
||||
Valores que se muestran |
|
otCoapSecureStop
void otCoapSecureStop( otInstance *aInstance )
Esta función detiene el servidor seguro de CoAP.
Detalles | |||
---|---|---|---|
Parámetros |
|
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.