OpenThread ofrece funcionalidad de cliente y de servidor de Secure CoAP para los dispositivos, lo que permite que los dispositivos se conecten a los recursos del servidor de Secure CoAP y observen cada recurso para detectar un cambio en su estado actual.
Secure CoAP usa la seguridad de la capa de transporte para datagramas (DTLS) para establecer conexiones seguras de extremo a extremo.
El agente de Secure CoAP proporcionado en la CLI puede actuar como cliente de CoAP seguro o servidor de CoAP seguro.
En esta guía, se proporcionan tareas básicas en las que se usan algunos de los comandos de Secure CoAP (coaps
) más comunes.
Comandos de CoAP seguros
Para obtener una lista de comandos de Secure CoAP, escribe help
:
coaps help
connect
delete
disconnect
get
isclosed
isconnactive
isconnected
post
psk
put
resource
set
start
stop
x509
Done
.
Referencia de comandos de CLI
Para obtener descripciones y sintaxis de todos los comandos, consulta la Referencia de comandos de CLI. Los comandos de Secure CoAP comienzan en orden alfabético con coaps connect.
Ejemplo de uso del comando del cliente y el servidor de CoAP seguro
En este ejemplo, se usan comandos básicos de la CLI para iniciar un servidor y un cliente de Secure CoAP, crear un recurso de prueba en el servidor de Secure CoAP y hacer que este interactúe con el recurso. Los datos de muestra se utilizan con fines ilustrativos.
Configura conjuntos de cifrado de DTLS
La CLI de coaps
proporciona los comandos psk
y x509
que se pueden usar con la clave PSK y el certificado X.509.
Para conocer la sintaxis y los ejemplos del comando, consulta coaps psk y coaps x509.
Configura el servidor de CoAP seguro
En el nodo del servidor de Secure CoAP, sigue estos pasos:
Inicia el agente de Secure CoAP.
coaps start
DoneCrea un recurso de prueba.
coaps resource test-resource
Done
Configura el cliente de Secure CoAP
En el nodo cliente de CoAP seguro, realiza los siguientes pasos:
Inicia el agente de Secure CoAP:
coaps start
DoneEjecuta el comando
connect
para inicializar una sesión de DTLS con un par:coaps connect fdde:ad00:beef:0:9903:14b:27e0:5744
Done coaps connectedEjecuta el comando
get
para obtener información sobre el recurso:coaps get test-resource
Done coaps response from fdde:ad00:beef:0:9903:14b:27e0:5744 with payload: 68656c6c6f576f726c6400La última parte de la respuesta del servidor es el término
with payload:
, seguido de todos los bytes de carga útil en formato de dígitos hexadecimales. En el ejemplo,with payload: 68656c6c6f576f726c6400
indica que la carga útil actual del recurso es el valor hexadecimal68656c6c6f576f726c6400
, que se convierte en la stringhelloWorld
. Para obtener más información sobre el uso de la opciónpayload
, consulta la publicación de instrucciones.Puedes modificar el recurso con el comando
put
:coaps put test-resource con hellothere
Done coaps response from fdde:ad00:beef:0:9903:14b:27e0:5744En este ejemplo,
con
significa que quieres que se envíe un mensaje confiable, que se obtiene a través de un mensaje confirmable (con
), al servidor de CoAP seguro. La configuración predeterminada es enviar un mensaje no confirmable (non-con
).La string
hellothere
es un ejemplo del uso del parámetro opcionalpayload
cuandotype
escon
onon-con
. Para obtener más información, consulta Coaps put.El servidor responde con su dirección IPv6 para indicar que se manejó la solicitud.
Respuestas enviadas al servidor de Secure CoAP
En el servidor, el resultado de este ejemplo sería similar al siguiente:
coaps request from fdde:ad00:beef:0:9e68:576f:714c:f395 GET coaps response sent coaps request from fdde:ad00:beef:0:9e68:576f:714c:f395 PUT with payload: 68656c6c6f7468657265 coaps response sent
El valor payload
de 68656c6c6f7468657265
es la string hellothere
convertida en una secuencia de bytes de código ASCII.