OpenThread bietet sowohl Secure CoAP-Server als auch Clientfunktionen, sodass Geräte eine Verbindung zu Ressourcen auf dem Secure CoAP-Server herstellen und jede Ressource auf eine Änderung ihres aktuellen Status beobachten können.
Secure CoAP verwendet Datagram Transport Layer Security (DTLS), um sichere End-to-End-Verbindungen herzustellen.
Der in der Befehlszeile bereitgestellte Secure CoAP-Agent kann entweder als Secure CoAP-Client oder als Secure CoAP-Server fungieren.
Dieser Leitfaden enthält grundlegende Aufgaben, für die einige der gebräuchlicheren Secure CoAP-Befehle (coaps
) verwendet werden.
Sichere CoAP-Befehle
Geben Sie help
ein, um eine Liste der Secure CoAP-Befehle aufzurufen:
coaps help
connect
delete
disconnect
get
isclosed
isconnactive
isconnected
post
psk
put
resource
set
start
stop
x509
Done
Kommandozeile
Beschreibungen und Syntax aller Befehle finden Sie in der Befehlszeilenreferenz zu Befehlen. Die Secure CoAP-Befehle beginnen alphabetisch mit coapsconnect.
Beispiel für die Verwendung von sicheren CoAP-Servern und Clientbefehlen
In diesem Beispiel werden grundlegende Befehlszeilenbefehle verwendet, um einen Secure CoAP-Server und -Client zu starten, eine Testressource auf dem Secure CoAP-Server zu erstellen und den Secure CoAP-Client mit der Ressource zu interagieren. Zur Veranschaulichung werden Beispieldaten verwendet.
DTLS-Cipher Suites konfigurieren
Die coaps
-Befehlszeile bietet die Befehle psk
und x509
, die mit dem PSK-Schlüssel und dem X.509-Zertifikat verwendet werden können.
Informationen zur Befehlssyntax sowie Beispiele finden Sie unter coaps psk und coaps x509.
Sicheren CoAP-Server einrichten
Führen Sie auf dem Secure CoAP-Serverknoten die folgenden Schritte aus:
Starten Sie den Secure CoAP-Agent.
coaps start
DoneErstellen Sie eine Testressource.
coaps resource test-resource
Done
Secure CoAP-Client einrichten
Führen Sie auf dem Secure CoAP-Clientknoten die folgenden Schritte aus:
Starten Sie den Secure CoAP-Agent:
coaps start
DoneFühren Sie den Befehl
connect
aus, um eine DTLS-Sitzung mit einem Peer zu initialisieren:coaps connect fdde:ad00:beef:0:9903:14b:27e0:5744
Done coaps connectedFühren Sie den Befehl
get
aus, um Informationen zur Ressource abzurufen:coaps get test-resource
Done coaps response from fdde:ad00:beef:0:9903:14b:27e0:5744 with payload: 68656c6c6f576f726c6400Der letzte Teil der Serverantwort ist der Begriff
with payload:
, gefolgt von allen Nutzlastbyte im Hexadezimalformat. Im Beispiel gibtwith payload: 68656c6c6f576f726c6400
an, dass die aktuelle Nutzlast für die Ressource der Hexadezimalwert68656c6c6f576f726c6400
ist, der in den StringhelloWorld
konvertiert wird. Weitere Informationen zur Verwendung der Optionpayload
finden Sie unter Coaps Post.Sie können die Ressource mit dem Befehl
put
ändern:coaps put test-resource con hellothere
Done coaps response from fdde:ad00:beef:0:9903:14b:27e0:5744In diesem Beispiel bedeutet
con
, dass Sie möchten, dass eine zuverlässige Nachricht, die mit einer prüfbaren Nachricht (con
) abgerufen wird, an den sicheren CoAP-Server gesendet wird. Standardmäßig wird eine nicht bestätigungsfähige Nachricht (non-con
) gesendet.Der String
hellothere
ist ein Beispiel für die Verwendung des optionalen Parameterspayload
, wenntype
entwedercon
odernon-con
ist. Weitere Informationen finden Sie unter Coaps Put.Der Server antwortet mit seiner IPv6-Adresse, um anzugeben, dass die Anfrage bearbeitet wurde.
An den Secure CoAP-Server gesendete Antworten
Auf dem Server würde die Ausgabe dieses Beispiels in etwa so aussehen:
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
Der Wert payload
von 68656c6c6f7468657265
ist der String hellothere
, der in eine Bytesequenz aus ASCII-Code konvertiert wird.