ב-OpenThread יש גישה לשרת מאובטח של CoAP וגם פונקציונליות של לקוח, שמאפשר למכשירים להתחבר למשאבים בשרת Secure CoAP ולצפות בכל משאב כדי לראות שינוי במצבו הנוכחי.
התכונה Secure CoAP משתמשת ב-Datagram Transport Layer Security (DTLS) כדי ליצור חיבורים מאובטחים מקצה לקצה.
סוכן ה-CoAP המאובטח שניתן ב-CLI יכול לפעול כלקוח CoAP מאובטח או כשרת CoAP מאובטח.
במדריך הזה מפורטות משימות בסיסיות שנעשה בהן שימוש בכמה מהפקודות הנפוצות יותר של Secure CoAP (coaps
).
פקודות CoAP מאובטחות
לרשימה של פקודות Secure CoAP, מקלידים help
:
coaps help
connect
delete
disconnect
get
isclosed
isconnactive
isconnected
post
psk
put
resource
set
start
stop
x509
Done
מסמך עזר בנושא פקודות CLI
במסמכי העזר של הפקודות של CLI תוכלו לקרוא את התיאורים והתחביר של כל הפקודות. הפקודות של Secure CoAP מתחילות בסדר אלפביתי עם הקוד coaps connect.
דוגמה לשימוש בשרת מאובטח של CoAP ובפקודות לקוח
בדוגמה הזו נעשה שימוש בפקודות CLI בסיסיות כדי להפעיל שרת ולקוח מאובטח של CoAP, ליצור משאב בדיקה בשרת ה-CoAP המאובטח ולאפשר אינטראקציה של לקוח CoAP המאובטח עם המשאב. נתוני המדגם משמשים להמחשה.
הגדרת סטים של אלגוריתמים להצפנה (cipherSuite) של DTLS
ה-CLI של coaps
מספק פקודות psk
ו-x509
שניתן להשתמש בהן עם מפתח PSK ואישור X.509.
למידע על תחביר ודוגמאות של פקודות, ראו coaps psk ו-coaps x509.
הגדרת שרת CoAP מאובטח
בצומת שרת ה-CoAP המאובטח, בצע את השלבים הבאים:
מפעילים את סוכן ה-CoAP המאובטח.
coaps start
Doneיוצרים משאב לבדיקה.
coaps resource test-resource
Done
הגדרת לקוח CoAP מאובטח
בצומת הלקוח המאובטח של 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
. למידע נוסף קראו את המאמר Coapsput.השרת מגיב באמצעות כתובת ה-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.