Consulte o código-fonte no GitHub
O OpenThread oferece funcionalidade de servidor e cliente do Secure CoAP, permitindo que os dispositivos se conectem a recursos no servidor Secure CoAP e observem cada mudança no estado atual de cada recurso.
O Secure CoAP usa o Datagram Transport Layer Security (DTLS) para estabelecer conexões seguras de ponta a ponta.
O agente do Secure CoAP fornecido na CLI pode atuar como o cliente do Secure CoAP ou como o servidor do Secure CoAP.
Este guia fornece tarefas básicas que usam alguns dos comandos Secure CoAP (coaps
) mais comuns.
Comandos CoAP seguros
Para ver uma lista de comandos do CoAP seguro, 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 ver as descrições e a 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 do servidor CoAP seguro
Este exemplo usa comandos básicos da CLI para iniciar um servidor e um cliente do Secure CoAP, criar um recurso de teste no servidor do Secure CoAP e fazer com que o cliente do Secure CoAP interaja 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 (links em inglês).
Configurar o servidor Secure CoAP
No nó do servidor Secure CoAP, execute as seguintes etapas:
Inicie o agente CoAP seguro.
coaps start
DoneCrie um recurso de teste.
coaps resource test-resource
Done
Configurar o cliente Secure CoAP
No nó cliente do Secure CoAP, execute as seguintes etapas:
Inicie o agente CoAP seguro:
coaps start
DoneExecute o comando
connect
para inicializar uma sessão DTLS com um peering: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 em 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.Modifique 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 que uma mensagem confiável, recebida usando uma mensagem confirmável (con
), seja enviada para o servidor Secure CoAP. O padrão é enviar uma mensagem não confirmada (non-con
).A string
hellothere
é um exemplo de uso do parâmetro opcionalpayload
quandotype
écon
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 Secure CoAP
No servidor, a saída desse exemplo seria semelhante à seguinte:
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
em sequência de bytes de código ASCII.