Afficher le code source sur GitHub
OpenThread offre à la fois des fonctionnalités de serveur et de client CoAP sécurisé, ce qui permet aux appareils de se connecter aux ressources du serveur CoAP sécurisé et d'observer chaque ressource afin d'identifier un changement d'état actuel.
La fonctionnalité CoAP sécurisée utilise DTLS (Datagram Transport Layer Security) pour établir des connexions sécurisées de bout en bout.
L'agent Secure CoAP fourni dans la CLI peut agir en tant que client CoAP sécurisé ou en tant que serveur Secure CoAP.
Ce guide décrit les tâches de base qui utilisent certaines des commandes Secure CoAP (coaps
) les plus courantes.
Commandes CoAP sécurisées
Pour obtenir la liste des commandes Secure CoAP, saisissez help
:
coaps help
connect
delete
disconnect
get
isclosed
isconnactive
isconnected
post
psk
put
resource
set
start
stop
x509
Done
Documentation de référence sur les commandes CLI
Pour obtenir la description et la syntaxe de toutes les commandes, consultez la documentation de référence sur les commandes CLI. Les commandes CoAP sécurisées commencent par ordre alphabétique (coaps connect).
Exemple d'utilisation de commandes client et de serveur CoAP sécurisé
Cet exemple utilise des commandes CLI de base pour démarrer un serveur et un client Secure CoAP, créer une ressource de test sur le serveur Secure CoAP et permettre au client CoAP sécurisé d'interagir avec la ressource. Les données des échantillons sont utilisées à titre d'illustration uniquement.
Configurer des suites de chiffrement DTLS
La CLI coaps
fournit les commandes psk
et x509
qui peuvent être utilisées avec la clé PSK et le certificat X.509.
Pour obtenir des exemples de syntaxe et de syntaxe de commande, consultez les pages Coaps psk et Coaps x509.
Configurer le serveur Secure CoAP
Sur le nœud du serveur Secure CoAP, procédez comme suit:
Démarrez l'agent Secure CoAP.
coaps start
DoneCréez une ressource de test.
coaps resource test-resource
Done
Configurer le client CoAP sécurisé
Sur le nœud client Secure CoAP, procédez comme suit:
Démarrez l'agent Secure CoAP:
coaps start
DoneExécutez la commande
connect
pour initialiser une session DTLS avec un pair:coaps connect fdde:ad00:beef:0:9903:14b:27e0:5744
Done coaps connectedExécutez la commande
get
pour obtenir des informations sur la ressource:coaps get test-resource
Done coaps response from fdde:ad00:beef:0:9903:14b:27e0:5744 with payload: 68656c6c6f576f726c6400La dernière partie de la réponse du serveur est le terme
with payload:
, suivi de tous les octets de charge utile au format hexadécimal. Dans l'exemple,with payload: 68656c6c6f576f726c6400
indique que la charge utile actuelle pour la ressource est la valeur hexadécimale68656c6c6f576f726c6400
, qui est convertie dans la chaînehelloWorld
. Pour en savoir plus sur l'utilisation de l'optionpayload
, consultez la section Coaps Post.Vous pouvez modifier la ressource à l'aide de la commande
put
:coaps put test-resource con hellothere
Done coaps response from fdde:ad00:beef:0:9903:14b:27e0:5744Dans cet exemple,
con
signifie que vous souhaitez qu'un message fiable, obtenu à l'aide d'un message de confirmation (con
), soit envoyé au serveur CoAP sécurisé. Par défaut, un message non confirmée (non-con
) est envoyé.La chaîne
hellothere
est un exemple d'utilisation du paramètre facultatifpayload
lorsquetype
estcon
ounon-con
. Pour en savoir plus, consultez la section Coaps Put.Le serveur répond avec son adresse IPv6 pour indiquer que la requête a été traitée.
Réponses envoyées au serveur Secure CoAP
Sur le serveur, le résultat de cet exemple ressemblerait à ce qui suit:
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
La valeur payload
de 68656c6c6f7468657265
correspond à la chaîne hellothere
convertie en séquence d'octets du code ASCII.