פרוטוקול OpenThread כולל פונקציונליות של שרת CoAP מאובטח וגם לקוח, וכך מאפשר להפעיל מכשירים להתחבר למשאבים בשרת Secure CoAP ולצפות בכל משאב שינוי במצב הנוכחי.
Secure CoAP משתמש ב-Datagram Transport Layer Security (DTLS) כדי ליצור אבטחה, חיבורים מקצה לקצה.
הסוכן Secure CoAP שמסופק ב-CLI יכול לפעול גם כלקוח Secure CoAP או כשרת Secure CoAP.
במדריך הזה מפורטות משימות בסיסיות שמשתמשות בכמה מהפקודות הנפוצות יותר בנושא Secure CoAP (coaps
).
פקודות CoAP מאובטחות
כדי לקבל רשימה של פקודות CoAP מאובטחות, יש להקליד help
:
coaps help
connect
delete
disconnect
get
isclosed
isconnactive
isconnected
post
psk
put
resource
set
start
stop
x509
Done
חומר עזר על פקודות ב-CLI
לקבלת תיאורים ותחביר של כל הפקודות, עיינו ב'חומר העזר בנושא פקודות ב-CLI'. פקודות CoAP המאובטחות מתחילות בסדר אלפביתי עם coaps connect.
דוגמה לשימוש בשרת מאובטח של CoAP ובפקודות לקוח
בדוגמה הזו נשתמש בפקודות CLI בסיסיות כדי להפעיל שרת ולקוח Secure CoAP, ליצור משאב בדיקה בשרת Secure CoAP, ולהגדיר את הלקוח Secure CoAP לקיים אינטראקציה עם המשאב. נתונים שנדגמו משמשים להמחשה.
הגדרת אלגוריתמים להצפנה (cipher suite) של DTLS
ב-CLI של coaps
יש פקודות psk
ו-x509
שאפשר להשתמש בהן יחד
מפתח PSK ואישור X.509.
למידע על תחביר של פקודות ודוגמאות,
coaps psk וגם
coaps x509.
הגדרת השרת המאובטח של CoAP
בצומת השרת Secure CoAP, מבצעים את השלבים הבאים:
הפעלת הנציג המאובטח של CoAP.
coaps start
Doneיוצרים משאב לבדיקה.
coaps resource test-resource
Done
הגדרת לקוח CoAP מאובטח
בצומת הלקוח Secure CoAP, מבצעים את השלבים הבאים:
הפעלת הנציג המאובטח של CoAP:
coaps start
Doneמריצים את הפקודה
connect
כדי לאתחל סשן DTLS עם אפליקציה להשוואה:coaps connect fdde:ad00:beef:0:9903:14b:27e0:5744
Done coaps connectedמריצים את הפקודה
get
כדי לקבל מידע על המשאב:coaps get test-resource
Done coaps response from fdde:ad00:beef:0:9903:14b:27e0:5744 with payload: 68656c6c6f576f726c6400החלק האחרון של תגובת השרת הוא המונח
with payload:
, ואחריו כל הבייטים של המטען הייעודי (payload) בפורמט של ספרה הקסדצימלית. בדוגמה,with payload: 68656c6c6f576f726c6400
מציין שהמטען הייעודי (Payload) הנוכחי למשאב הוא הערך ההקסדצימלי68656c6c6f576f726c6400
, שממיר למחרוזתhelloWorld
. למידע נוסף על השימוש באפשרותpayload
, יש לעיין במאמר פוסט ב-Coaps.אפשר לשנות את המשאב באמצעות הפקודה
put
:coaps put test-resource con hellothere
Done coaps response from fdde:ad00:beef:0:9903:14b:27e0:5744בדוגמה הזו, המשמעות של
con
היא שאתם רוצים הודעה אמינה, שהתקבלו באמצעות הודעה לאישור (con
), שתישלח לשרת Secure CoAP. ברירת המחדל היא שליחת הודעה שאינה ניתנת לאישור (non-con
).המחרוזת
hellothere
היא דוגמה לשימוש בפונקציהpayload
האופציונלית כשהערך שלtype
הואcon
אוnon-con
. מידע נוסף זמין במאמר coaps Put.השרת מגיב בכתובת IPv6 שלו כדי לציין שהבקשה טופלה.
התשובות נשלחו לשרת Secure CoAP
בשרת, הפלט מהדוגמה הזו יהיה דומה לדוגמה הבאה:
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
הערך payload
של 68656c6c6f7468657265
הוא המחרוזת hellothere
שהומרה
לרצף עם קוד ASCII.