OpenThread oferuje zarówno funkcje bezpiecznego serwera, jak i klienta, umożliwiające urządzeniom łączenie się z zasobami na serwerze Secure CoAP i obserwację każdego zasobu w poszukiwaniu zmian w jego bieżącym stanie.
Bezpieczny CoAP korzysta z protokołu DTLS (Datagram Transport Layer Security) do nawiązywania bezpiecznych, kompleksowych połączeń.
Agent Secure CoAP udostępniony w interfejsie wiersza poleceń może działać jako klient Secure CoAP lub Bezpieczny serwer CoAP.
W tym przewodniku przedstawiono podstawowe zadania, które wykorzystują niektóre z najczęściej używanych poleceń coaps
(Secure CoAP).
Polecenia Secure CoAP
Aby wyświetlić listę poleceń bezpiecznego CoAP, wpisz help
:
coaps help
connect
delete
disconnect
get
isclosed
isconnactive
isconnected
post
psk
put
resource
set
start
stop
x509
Done
Dokumentacja poleceń interfejsu wiersza poleceń
Opisy i składnię wszystkich poleceń znajdziesz w dokumentacji poleceń interfejsu wiersza poleceń. Polecenia Secure CoAP rozpoczynają się alfabetycznie od coaps connect.
Przykład użycia polecenia Bezpieczny serwer i polecenie klienta
W tym przykładzie użyto podstawowych poleceń interfejsu wiersza poleceń w celu uruchomienia serwera i klienta Secure CoAP, utworzenia zasobu testowego na serwerze Secure CoAP oraz umożliwienia klientowi bezpiecznego CoAP współdziałania z zasobem. Przykładowe dane służą do celów poglądowych.
Konfigurowanie pakietów szyfrów DTLS
Interfejs wiersza poleceń coaps
udostępnia polecenia psk
i x509
, których można używać z kluczem PSK i certyfikatem X.509.
Składnię poleceń i przykłady znajdziesz w dokumentach coaps psk i coaps x509.
Konfigurowanie serwera Secure CoAP
W węźle bezpiecznego serwera CoAP wykonaj te czynności:
Uruchom agenta Bezpiecznego CoAP.
coaps start
DoneUtwórz zasób testowy.
coaps resource test-resource
Done
Konfigurowanie klienta Secure CoAP
W węźle klienckim Secure CoAP wykonaj te czynności:
Uruchom agenta Bezpiecznego CoAP:
coaps start
DoneUruchom polecenie
connect
, aby zainicjować sesję DTLS z wersją równorzędną:coaps connect fdde:ad00:beef:0:9903:14b:27e0:5744
Done coaps connectedUruchom polecenie
get
, aby uzyskać informacje o zasobie:coaps get test-resource
Done coaps response from fdde:ad00:beef:0:9903:14b:27e0:5744 with payload: 68656c6c6f576f726c6400Ostatnia część odpowiedzi serwera to hasło
with payload:
, po którym następuje wszystkie bajty ładunku w formacie szesnastkowym. W przykładziewith payload: 68656c6c6f576f726c6400
wskazuje, że ładunek bieżącego zasobu to wartość szesnastkowa68656c6c6f576f726c6400
, która zostaje przekonwertowana na ciąg znakówhelloWorld
. Więcej informacji o korzystaniu z opcjipayload
znajdziesz w poście na temat coaps.Zasób możesz modyfikować za pomocą polecenia
put
:coaps put test-resource con hellothere
Done coaps response from fdde:ad00:beef:0:9903:14b:27e0:5744W tym przykładzie
con
oznacza, że chcesz, aby pewna wiadomość otrzymywana z użyciem potwierdzonej wiadomości (con
) została wysłana do serwera Secure CoAP. Domyślnie wysyłana jest wiadomość niemożliwa do potwierdzenia (non-con
).Ciąg
hellothere
jest przykładem użycia opcjonalnego parametrupayload
, gdytype
ma wartośćcon
lubnon-con
. Więcej informacji znajdziesz tutaj: coaps put (w języku angielskim).Serwer odpowiada za pomocą adresu IPv6, co oznacza, że żądanie zostało przetworzone.
Odpowiedzi wysłane do serwera Secure CoAP
Na serwerze dane wyjściowe z tego przykładu będą podobne do tych:
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
Wartość payload
elementu 68656c6c6f7468657265
to ciąg znaków hellothere
przekonwertowany na sekwencję bajtów z kodem ASCII.