O OpenThread oferece funcionalidades de servidor e cliente de CoAP seguro, permitindo que conectar-se a recursos no servidor CoAP seguro e observar cada recurso uma mudança em seu estado atual.
O Secure CoAP usa o Datagram Transport Layer Security (DTLS) para estabelecer uma segurança, conexões de ponta a ponta.
O agente CoAP seguro fornecido na CLI pode atuar como o cliente CoAP seguro ou o servidor CoAP seguro.
Este guia fornece tarefas básicas que usam alguns dos comandos mais comuns de Secure CoAP (coaps
).
Comandos CoAP seguros
Para ver uma lista de comandos CoAP seguros, digite help
:
coaps help
connect
delete
disconnect
get
isclosed
isconnactive
isconnected
post
psk
put
resource
set
start
stop
x509
Done
Referência de comandos da CLI
Para descrições e sintaxe de todos os comandos, consulte a referência de comandos da CLI. Os comandos do Secure CoAP começam em ordem alfabética com coaps connect.
Exemplo de uso de comando do cliente e servidor CoAP seguro
Este exemplo usa comandos básicos da CLI para iniciar um servidor e um cliente CoAP seguros, criar um recurso de teste no servidor Secure CoAP e solicitar que o cliente Secure CoAP interagem com o recurso. Os dados de amostra são usados para fins ilustrativos.
Configurar pacotes de criptografia DTLS
A CLI coaps
fornece os comandos psk
e x509
que podem ser usados com
a chave PSK e o certificado X.509.
Para sintaxes de comando e exemplos, consulte
coaps psk e
coaps x509.
Configurar o servidor CoAP seguro
No nó do servidor CoAP seguro, execute as seguintes etapas:
Inicie o agente CoAP seguro.
coaps start
DoneCriar um recurso de teste.
coaps resource test-resource
Done
Configurar o cliente CoAP seguro
No nó do cliente CoAP seguro, execute as seguintes etapas:
Inicie o agente CoAP seguro:
coaps start
DoneExecute o comando
connect
para inicializar uma sessão DTLS com um app semelhante:coaps connect fdde:ad00:beef:0:9903:14b:27e0:5744
Done coaps connectedExecute o comando
get
para receber informações sobre o recurso:coaps get test-resource
Done coaps response from fdde:ad00:beef:0:9903:14b:27e0:5744 with payload: 68656c6c6f576f726c6400A última parte da resposta do servidor é o termo
with payload:
, seguido por todos os bytes de payload no formato de dígito hexadecimal. No exemplo,with payload: 68656c6c6f576f726c6400
indica que o payload atual do recurso é o valor hexadecimal68656c6c6f576f726c6400
, que é convertido na stringhelloWorld
Para mais informações sobre como usar a opçãopayload
, consulte coaps post (em inglês).É possível modificar o recurso usando o comando
put
:coaps put test-resource con hellothere
Done coaps response from fdde:ad00:beef:0:9903:14b:27e0:5744Neste exemplo,
con
significa que você quer uma mensagem confiável, obtido usando uma mensagem confirmável (con
), para ser enviada ao servidor Secure CoAP. O padrão é enviar uma mensagem não confirmável (non-con
).A string
hellothere
é um exemplo de como usar o parâmetropayload
opcional quando otype
forcon
ounon-con
. Para mais informações, consulte coaps put.O servidor responde com o endereço IPv6 para indicar que a solicitação foi processada.
Respostas enviadas ao servidor CoAP seguro
No servidor, a saída desse exemplo seria semelhante a esta:
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
O valor payload
de 68656c6c6f7468657265
é a string hellothere
convertida
para uma sequência de bytes de código ASCII.