פרוטוקול CoAP Secure

המודול הזה כולל פונקציות ששולטות בתקשורת מסוג CoAP Secure (CoAP over DTLS)

סיכום

הפונקציות במודול הזה זמינות כשתכונת CoAP Secure API (OPENTHREAD_CONFIG_COAP_SECURE_API_ENABLE) מופעלת.

סוג שגיאות

otHandleCoapSecureClientConnect)(bool aConnected, void *aContext) typedef
void(*
המצביע נקרא כשמצב החיבור של DTLS משתנה.

פונקציות

otCoapSecureAddBlockWiseResource(otInstance *aInstance, otCoapBlockwiseResource *aResource)
void
מוסיף משאב ברמת בלוק לשרת CoAP Secure.
otCoapSecureAddResource(otInstance *aInstance, otCoapResource *aResource)
void
הוספת משאב לשרת CoAP Secure.
otCoapSecureConnect(otInstance *aInstance, const otSockAddr *aSockAddr, otHandleCoapSecureClientConnect aHandler, void *aContext)
הפעלה של DTLS עם עמית.
otCoapSecureDisconnect(otInstance *aInstance)
void
מפסיק את חיבור ה-DTLS.
otCoapSecureGetPeerCertificateBase64(otInstance *aInstance, unsigned char *aPeerCert, size_t *aCertLength, size_t aCertBufferSize)
מחזירה את הקידוד של אישור x509 base64 להשוואה.
otCoapSecureIsConnected(otInstance *aInstance)
bool
האפשרות מציינת אם סשן ה-DTLS מחובר.
otCoapSecureIsConnectionActive(otInstance *aInstance)
bool
האפשרות הזו מציינת אם סשן ה-DTLS פעיל.
otCoapSecureRemoveBlockWiseResource(otInstance *aInstance, otCoapBlockwiseResource *aResource)
void
הסרה של משאב ברמת בלוק מהשרת CoAP Secure.
otCoapSecureRemoveResource(otInstance *aInstance, otCoapResource *aResource)
void
הסרה של משאב משרת CoAP Secure.
otCoapSecureSendRequest(otInstance *aInstance, otMessage *aMessage, otCoapResponseHandler aHandler, void *aContext)
שולחת בקשת CoAP בחיבור DTLS מאובטח.
otCoapSecureSendRequestBlockWise(otInstance *aInstance, otMessage *aMessage, otCoapResponseHandler aHandler, void *aContext, otCoapBlockwiseTransmitHook aTransmitHook, otCoapBlockwiseReceiveHook aReceiveHook)
שולחת בקשת COAP ברמת בלוק באמצעות חיבור DTLS מאובטח.
otCoapSecureSendResponse(otInstance *aInstance, otMessage *aMessage, const otMessageInfo *aMessageInfo)
שולחת תגובת CoAP מהשרת של CoAP Secure.
otCoapSecureSendResponseBlockWise(otInstance *aInstance, otMessage *aMessage, const otMessageInfo *aMessageInfo, void *aContext, otCoapBlockwiseTransmitHook aTransmitHook)
שולחת תגובת CoAP בלוקת מהשרת של CoAP Secure.
otCoapSecureSetCaCertificateChain(otInstance *aInstance, const uint8_t *aX509CaCertificateChain, uint32_t aX509CaCertChainLength)
void
המדיניות הזו מגדירה את רשויות האישורים המהימנות ברמה העליונה.
otCoapSecureSetCertificate(otInstance *aInstance, const uint8_t *aX509Cert, uint32_t aX509Length, const uint8_t *aPrivateKey, uint32_t aPrivateKeyLength)
void
מגדירה את אישור X509 של המכשיר המקומי עם מפתח פרטי תואם לסשן DTLS עם DTLS_ECDHE_ECDSA_WITH_AES_128_CCM_8.
otCoapSecureSetClientConnectedCallback(otInstance *aInstance, otHandleCoapSecureClientConnect aHandler, void *aContext)
void
מגדיר את הקריאה החוזרת המחוברת כדי לציין, כאשר לקוח מתחבר לשרת CoAP Secure.
otCoapSecureSetDefaultHandler(otInstance *aInstance, otCoapRequestHandler aHandler, void *aContext)
void
מגדירה את ה-handler המשמש כברירת מחדל לבקשות לא מאובטחות של CoAP.
otCoapSecureSetPsk(otInstance *aInstance, const uint8_t *aPsk, uint16_t aPskLength, const uint8_t *aPskIdentity, uint16_t aPskIdLength)
void
מגדיר את המפתח המשותף מראש (PSK) ואת חבילת ההצפנה DTLS_PSK_WITH_AES_128_CCM_8.
otCoapSecureSetSslAuthMode(otInstance *aInstance, bool aVerifyPeerCertificate)
void
הגדרת מצב אימות עבור החיבור המאובטח של Coap.
otCoapSecureStart(otInstance *aInstance, uint16_t aPort)
מתחיל את השירות CoAP Secure.
otCoapSecureStop(otInstance *aInstance)
void
מפסיק את השרת המאובטח של CoAP.

סוג שגיאות

otHandleCoapSecureClientConnect

void(* otHandleCoapSecureClientConnect)(bool aConnected, void *aContext)

המצביע נקרא כשמצב החיבור של DTLS משתנה.

פרטים
פרמטרים
[in] aConnected
הערך True, אם נוצר חיבור, אז הערך False אם לא.
[in] aContext
מצביעים על מידע הקשר שרירותי.

פונקציות

otCoapSecureAddBlockWiseResource

void otCoapSecureAddBlockWiseResource(
  otInstance *aInstance,
  otCoapBlockwiseResource *aResource
)

מוסיף משאב ברמת בלוק לשרת CoAP Secure.

פרטים
פרמטרים
[in] aInstance
מצביע למופע של OpenThread.
[in] aResource
מצביעים על המשאב.

otCoapSecureAddResource

void otCoapSecureAddResource(
  otInstance *aInstance,
  otCoapResource *aResource
)

הוספת משאב לשרת CoAP Secure.

פרטים
פרמטרים
[in] aInstance
מצביע למופע של OpenThread.
[in] aResource
מצביעים על המשאב.

otCoapSecureConnect

otError otCoapSecureConnect(
  otInstance *aInstance,
  const otSockAddr *aSockAddr,
  otHandleCoapSecureClientConnect aHandler,
  void *aContext
)

הפעלה של DTLS עם עמית.

פרטים
פרמטרים
[in] aInstance
מצביע למופע של OpenThread.
[in] aSockAddr
מצביע לכתובת של השקע המרוחק.
[in] aHandler
המצביע על פונקציה שתיקרא כאשר מצב החיבור DTLS ישתנה.
[in] aContext
מצביעים על מידע הקשר שרירותי.
ערכי החזרה
OT_ERROR_NONE
החיבור ל-DTLS התחיל בהצלחה.

otCoapSecureהתנתק

void otCoapSecureDisconnect(
  otInstance *aInstance
)

מפסיק את חיבור ה-DTLS.

פרטים
פרמטרים
[in] aInstance
מצביע למופע של OpenThread.

otCoapSecureGetPeerCertificateBase64

otError otCoapSecureGetPeerCertificateBase64(
  otInstance *aInstance,
  unsigned char *aPeerCert,
  size_t *aCertLength,
  size_t aCertBufferSize
)

מחזירה את הקידוד של אישור x509 base64 להשוואה.

פרטים
פרמטרים
[in] aInstance
מצביע למופע של OpenThread.
[out] aPeerCert
מצביע אל מאגר האישורים המקודד מסוג base64.
[out] aCertLength
אורך אישור העמית שמקודד לפי base64.
[in] aCertBufferSize
גודל המאגר של aPeerCert.
ערכי החזרה
OT_ERROR_INVALID_STATE
עדיין אין חיבור.
OT_ERROR_NONE
אישור העמית הוגדר בהצלחה.
OT_ERROR_NO_BUFS
לא ניתן להקצות זיכרון לאישור.

otCoapSecureIsConnected

bool otCoapSecureIsConnected(
  otInstance *aInstance
)

האפשרות מציינת אם סשן ה-DTLS מחובר.

פרטים
פרמטרים
[in] aInstance
מצביע למופע של OpenThread.
ערכי החזרה
TRUE
הסשן של DTLS מחובר.
FALSE
הסשן של DTLS לא מחובר.

otCoapSecureIsConnectionActive

bool otCoapSecureIsConnectionActive(
  otInstance *aInstance
)

האפשרות הזו מציינת אם סשן ה-DTLS פעיל.

פרטים
פרמטרים
[in] aInstance
מצביע למופע של OpenThread.
ערכי החזרה
TRUE
אם יש סשן DTLS פעיל.
FALSE
אם סשן DTLS לא פעיל.

otCoapSecureRemoveBlockWiseResource

void otCoapSecureRemoveBlockWiseResource(
  otInstance *aInstance,
  otCoapBlockwiseResource *aResource
)

הסרה של משאב ברמת בלוק מהשרת CoAP Secure.

פרטים
פרמטרים
[in] aInstance
מצביע למופע של OpenThread.
[in] aResource
מצביעים על המשאב.

otCoapSecureRemoveResource

void otCoapSecureRemoveResource(
  otInstance *aInstance,
  otCoapResource *aResource
)

הסרה של משאב משרת CoAP Secure.

פרטים
פרמטרים
[in] aInstance
מצביע למופע של OpenThread.
[in] aResource
מצביעים על המשאב.

otCoapSecureSendRequest

otError otCoapSecureSendRequest(
  otInstance *aInstance,
  otMessage *aMessage,
  otCoapResponseHandler aHandler,
  void *aContext
)

שולחת בקשת CoAP בחיבור DTLS מאובטח.

אם צפויה תגובה לבקשה, יש לספק את פרטי הפונקציה וההקשר הרלוונטיים. אם לא צפויה תגובה, הארגומנטים האלה צריכים להיות מצביעים של NULL. אם מזהה ההודעה לא הוגדר בכותרת (שווה ל-0), הפונקציה תקצה להודעה הודעה ייחודית.

פרטים
פרמטרים
[in] aInstance
מצביע למופע של OpenThread.
[in] aMessage
אזכור להודעה שצריך לשלוח.
[in] aHandler
מצביע פונקציה שיופעל בעת קבלת תגובה או זמן קצוב לתפוגה.
[in] aContext
מצביעים על מידע הקשר שרירותי.
ערכי החזרה
OT_ERROR_NONE
הודעת CoAP נשלחה בהצלחה.
OT_ERROR_NO_BUFS
ההקצאה של נתוני השידור החוזר נכשלה.
OT_ERROR_INVALID_STATE
חיבור DTLS לא הופעל.

otCoapSecureSendRequestBlockWise

otError otCoapSecureSendRequestBlockWise(
  otInstance *aInstance,
  otMessage *aMessage,
  otCoapResponseHandler aHandler,
  void *aContext,
  otCoapBlockwiseTransmitHook aTransmitHook,
  otCoapBlockwiseReceiveHook aReceiveHook
)

שולחת בקשת COAP ברמת בלוק באמצעות חיבור DTLS מאובטח.

זמינה כאשר מופעלת ההגדרה OpenTHREAD_CONFIG_COAP_BLOCKWISE_ORGANIZATION_ENABLE.

אם צפויה תגובה לבקשה, יש לספק את פרטי הפונקציה וההקשר הרלוונטיים. אם לא צפויה תגובה, הארגומנטים האלה צריכים להיות מצביעים של NULL. אם מזהה ההודעה לא הוגדר בכותרת (שווה ל-0), הפונקציה תקצה להודעה הודעה ייחודית.

פרטים
פרמטרים
[in] aInstance
מצביע למופע של OpenThread.
[in] aMessage
אזכור להודעה שצריך לשלוח.
[in] aHandler
מצביע פונקציה שיופעל בעת קבלת תגובה או זמן קצוב לתפוגה.
[in] aContext
מצביעים על מידע הקשר שרירותי.
[in] aTransmitHook
מצביע פונקציה שנקרא בקבלה של בלוק 1.
[in] aReceiveHook
מצביע פונקציה שנקרא בקליטה של תגובה חסימה2.
ערכי החזרה
OT_ERROR_NONE
הודעת CoAP נשלחה בהצלחה.
OT_ERROR_NO_BUFS
ההקצאה של נתוני השידור החוזר נכשלה.
OT_ERROR_INVALID_STATE
חיבור DTLS לא הופעל.

otCoapSecureSendResponse

otError otCoapSecureSendResponse(
  otInstance *aInstance,
  otMessage *aMessage,
  const otMessageInfo *aMessageInfo
)

שולחת תגובת CoAP מהשרת של CoAP Secure.

פרטים
פרמטרים
[in] aInstance
מצביע למופע של OpenThread.
[in] aMessage
מצביע לתשובה של CoAP שיש לשלוח.
[in] aMessageInfo
מצביע אל פרטי ההודעה המשויכים אל aMessage.
ערכי החזרה
OT_ERROR_NONE
הודעת ה-CoAP הוצבה בהצלחה בתור.
OT_ERROR_NO_BUFS
אין מספיק מאגרי נתונים זמינים כדי לשלוח את התגובה מ-CoAP.

otCoapSecureSendResponseBlockWise

otError otCoapSecureSendResponseBlockWise(
  otInstance *aInstance,
  otMessage *aMessage,
  const otMessageInfo *aMessageInfo,
  void *aContext,
  otCoapBlockwiseTransmitHook aTransmitHook
)

שולחת תגובת CoAP בלוקת מהשרת של CoAP Secure.

זמינה כאשר מופעלת ההגדרה OpenTHREAD_CONFIG_COAP_BLOCKWISE_ORGANIZATION_ENABLE.

פרטים
פרמטרים
[in] aInstance
מצביע למופע של OpenThread.
[in] aMessage
מצביע לתשובה של CoAP שיש לשלוח.
[in] aMessageInfo
מצביע אל פרטי ההודעה המשויכים אל aMessage.
[in] aContext
מצביעים על מידע הקשר שרירותי. יכול להיות שהערך יהיה NULL אם לא ייעשה בו שימוש.
[in] aTransmitHook
מצביע פונקציה שנקרא בקליטה של חסימת חסימה.
ערכי החזרה
OT_ERROR_NONE
הודעת ה-CoAP הוצבה בהצלחה בתור.
OT_ERROR_NO_BUFS
אין מספיק מאגרי נתונים זמינים כדי לשלוח את התגובה מ-CoAP.

otCoapSecureSetCaCertificateChain

void otCoapSecureSetCaCertificateChain(
  otInstance *aInstance,
  const uint8_t *aX509CaCertificateChain,
  uint32_t aX509CaCertChainLength
)

המדיניות הזו מגדירה את רשויות האישורים המהימנות ברמה העליונה.

הוא נדרש לאימות האישור של אפליקציות דומות.

מצב DTLS "ECDHE ECDSA עם AES 128 CCM 8" ל-Application CoAPS.

פרטים
פרמטרים
[in] aInstance
מצביע למופע של OpenThread.
[in] aX509CaCertificateChain
מצביע לשרשרת ה-CAS בפורמט X509 בפורמט PEM.
[in] aX509CaCertChainLength
אורך השרשרת.

otCoapSecureSetCertificate

void otCoapSecureSetCertificate(
  otInstance *aInstance,
  const uint8_t *aX509Cert,
  uint32_t aX509Length,
  const uint8_t *aPrivateKey,
  uint32_t aPrivateKeyLength
)

מגדירה את אישור X509 של המכשיר המקומי עם מפתח פרטי תואם לסשן DTLS עם DTLS_ECDHE_ECDSA_WITH_AES_128_CCM_8.

פרטים
פרמטרים
[in] aInstance
מצביע למופע של OpenThread.
[in] aX509Cert
מצביע אל אישור X509 בפורמט PEM.
[in] aX509Length
אורך האישור.
[in] aPrivateKey
מצביע למפתח הפרטי בפורמט PEM.
[in] aPrivateKeyLength
אורך המפתח הפרטי.

otCoapSecureSetClientConnectedCallback

void otCoapSecureSetClientConnectedCallback(
  otInstance *aInstance,
  otHandleCoapSecureClientConnect aHandler,
  void *aContext
)

מגדיר את הקריאה החוזרת המחוברת כדי לציין, כאשר לקוח מתחבר לשרת CoAP Secure.

פרטים
פרמטרים
[in] aInstance
מצביע למופע של OpenThread.
[in] aHandler
מצביעים על פונקציה שתיקרא ברגע שהחיבור ל-DTLS ייווצר.
[in] aContext
מצביעים על מידע הקשר שרירותי. יכול להיות שהערך יהיה NULL אם לא ייעשה בו שימוש.

otCoapSecureSetDefaultHandler

void otCoapSecureSetDefaultHandler(
  otInstance *aInstance,
  otCoapRequestHandler aHandler,
  void *aContext
)

מגדירה את ה-handler המשמש כברירת מחדל לבקשות לא מאובטחות של CoAP.

פרטים
פרמטרים
[in] aInstance
מצביע למופע של OpenThread.
[in] aHandler
מצביע פונקציה שיקרא כאשר תגיע בקשה שלא טופלה.
[in] aContext
מצביעים על מידע הקשר שרירותי. יכול להיות שהערך יהיה NULL אם לא ייעשה בו שימוש.

otCoapSecureSetPsk

void otCoapSecureSetPsk(
  otInstance *aInstance,
  const uint8_t *aPsk,
  uint16_t aPskLength,
  const uint8_t *aPskIdentity,
  uint16_t aPskIdLength
)

מגדיר את המפתח המשותף מראש (PSK) ואת חבילת ההצפנה DTLS_PSK_WITH_AES_128_CCM_8.

פרטים
פרמטרים
[in] aInstance
מצביע למופע של OpenThread.
[in] aPsk
מצביע אל ה-PSK.
[in] aPskLength
האורך של PSK.
[in] aPskIdentity
שם הזהות עבור ה-PSK.
[in] aPskIdLength
אורך הזהות של PSK.

otCoapSecureSetSslAuthMode

void otCoapSecureSetSslAuthMode(
  otInstance *aInstance,
  bool aVerifyPeerCertificate
)

הגדרת מצב אימות עבור החיבור המאובטח של Coap.

להשבית או להפעיל את האימות של אישור עמיתים. צריך להפעיל את הפונקציה לפני שמתחילים.

פרטים
פרמטרים
[in] aInstance
מצביע למופע של OpenThread.
[in] aVerifyPeerCertificate
True כדי לאמת את התעודה המזהה.

otCoapSecureStart

otError otCoapSecureStart(
  otInstance *aInstance,
  uint16_t aPort
)

מתחיל את השירות CoAP Secure.

פרטים
פרמטרים
[in] aInstance
מצביע למופע של OpenThread.
[in] aPort
יציאת ה-UDP המקומית שאליה רוצים לקשר.
ערכי החזרה
OT_ERROR_NONE
השרת של CoAP Secure הופעל בהצלחה.

otCoapSecureStop

void otCoapSecureStop(
  otInstance *aInstance
)

מפסיק את השרת המאובטח של CoAP.

פרטים
פרמטרים
[in] aInstance
מצביע למופע של OpenThread.

פקודות מאקרו

OT_DEFAULT_COAP_SECURE_PORT

 OT_DEFAULT_COAP_SECURE_PORT 5684

יציאת ברירת המחדל של CoAP Secure, כפי שמצוין ב-RFC 7252.

משאבים

הנושאים של קובצי העזר של OpenThread API מגיעים מקוד המקור, והם זמינים ב-GitHub. למידע נוסף או כדי לתרום למסמכי התיעוד שלנו, יש לעיין בקטע משאבים.