BLE מאובטח
המודול הזה כולל פונקציות ששולטות בתקשורת BLE Secure (TLS באמצעות BLE).
סיכום
מודול זה כולל פונקציות שמטמיעות תקשורת TCAT.
הפונקציות במודול הזה זמינות כשתכונת BLE Secure API (OPENTHREAD_CONFIG_BLE_TCAT_ENABLE
) מופעלת.
הפונקציות במודול הזה זמינות כשתכונת TCAT (OPENTHREAD_CONFIG_BLE_TCAT_ENABLE
) מופעלת.
ספירות |
|
---|---|
otTcatApplicationProtocol{
|
טיפוסים בני מנייה (enum) מייצג את פרוטוקול האפליקציה TCAT. |
otTcatCommandClass{
|
טיפוסים בני מנייה (enum) מייצג מחלקה של פקודות TCAT. |
otTcatStatusCode{
|
טיפוסים בני מנייה (enum) מייצג את קוד הסטטוס של TCAT. |
ערכי דף |
|
---|---|
otHandleBleSecureConnect)(otInstance *aInstance, bool aConnected, bool aBleConnectionOpen, void *aContext)
|
typedefvoid(*
המצביע להתקשרות כאשר משתנה מצב החיבור המאובטח. |
otHandleBleSecureReceive
|
typedef מצביע לשיחה כשנתונים התקבלו באמצעות חיבור BLE Secure TLS. |
otHandleTcatApplicationDataReceive)(otInstance *aInstance, const otMessage *aMessage, int32_t aOffset, otTcatApplicationProtocol aTcatApplicationProtocol, const char *aServiceName, void *aContext)
|
typedefvoid(*
מצביע להתקשרות כשנתוני אפליקציה התקבלו באמצעות חיבור TCAT TLS. |
otHandleTcatJoin)(otError aError, void *aContext)
|
typedefvoid(*
מצביע להתקשרות כדי להודיע על השלמת פעולת הצטרפות. |
otTcatApplicationProtocol
|
typedef מייצג את פרוטוקול האפליקציה TCAT. |
otTcatCommandClass
|
typedefenum otTcatCommandClass
מייצג מחלקה של פקודות TCAT. |
otTcatStatusCode
|
typedefenum otTcatStatusCode
מייצג את קוד הסטטוס של TCAT. |
otTcatVendorInfo
|
typedefstruct otTcatVendorInfo
המבנה הזה מייצג פרטי ספק TCAT. |
פונקציות |
|
---|---|
otBleSecureConnect(otInstance *aInstance)
|
מפעיל סשן TLS עם אפליקציה להשוואה באמצעות חיבור BLE שכבר פתוח.
|
otBleSecureDisconnect(otInstance *aInstance)
|
void
ההגדרה מפסיקה את חיבור BLE ו-TLS (אבטחת שכבת התעבורה).
|
otBleSecureFlush(otInstance *aInstance)
|
מוחק את מאגר השליחה.
|
otBleSecureGetPeerCertificateBase64(otInstance *aInstance, unsigned char *aPeerCert, size_t *aCertLength)
|
מחזירה את הקידוד של אישור x509 של עמית ב-base64.
|
otBleSecureGetPeerSubjectAttributeByOid(otInstance *aInstance, const char *aOid, size_t aOidLength, uint8_t *aAttributeBuffer, size_t *aAttributeLength, int *aAsn1Type)
|
מחזירה ערך מאפיין שזוהה על ידי ה-OID שלו מהנושא של אישור x509 של עמית.
|
otBleSecureGetThreadAttributeFromOwnCertificate(otInstance *aInstance, int aThreadOidDescriptor, uint8_t *aAttributeBuffer, size_t *aAttributeLength)
|
מחזירה ערך מאפיין עבור ה-OID 1.3.6.1.4.1.44970.x מסיומות v3 של אישור x509 עצמו, כאשר הספרה האחרונה x מוגדרת כ-aThreadOidDescriptor.
|
otBleSecureGetThreadAttributeFromPeerCertificate(otInstance *aInstance, int aThreadOidDescriptor, uint8_t *aAttributeBuffer, size_t *aAttributeLength)
|
מחזירה ערך מאפיין עבור ה-OID 1.3.6.1.4.1.44970.x מסיומות v3 של אישור x509 העמית, כאשר הספרה האחרונה x מוגדרת כ-aThreadOidDescriptor.
|
otBleSecureIsCommandClassAuthorized(otInstance *aInstance, otTcatCommandClass aCommandClass)
|
bool
מציינת אם מחלקת פקודות TCAT מורשית או לא.
|
otBleSecureIsConnected(otInstance *aInstance)
|
bool
מציין אם סשן ה-TLS מחובר או לא.
|
otBleSecureIsConnectionActive(otInstance *aInstance)
|
bool
מציין אם סשן ה-TLS פעיל (מחובר או מתחבר).
|
otBleSecureIsTcatEnabled(otInstance *aInstance)
|
bool
מציינת אם סוכן TCAT מופעל או לא.
|
otBleSecureSend(otInstance *aInstance, uint8_t *aBuf, uint16_t aLength)
|
נשלחת חבילת נתונים מאובטחת מסוג BLE.
|
otBleSecureSendApplicationTlv(otInstance *aInstance, uint8_t *aBuf, uint16_t aLength)
|
נשלחת חבילת נתונים מאובטחת מסוג BLE שמכילה TLV של נתוני האפליקציה TCAT Send Application.
|
otBleSecureSendMessage(otInstance *aInstance, otMessage *aMessage)
|
נשלחת הודעת BLE מאובטחת.
|
otBleSecureSetCaCertificateChain(otInstance *aInstance, const uint8_t *aX509CaCertificateChain, uint32_t aX509CaCertChainLength)
|
void
מגדיר את ה-CA המהימנים ברמה העליונה.
|
otBleSecureSetCertificate(otInstance *aInstance, const uint8_t *aX509Cert, uint32_t aX509Length, const uint8_t *aPrivateKey, uint32_t aPrivateKeyLength)
|
void
מגדירה את אישור X509 של המכשיר המקומי עם מפתח פרטי מתאים לסשן TLS עם TLS_ECDHE_ECDSA_WITH_AES_128_CCM_8.
|
otBleSecureSetPsk(otInstance *aInstance, const uint8_t *aPsk, uint16_t aPskLength, const uint8_t *aPskIdentity, uint16_t aPskIdLength)
|
void
מגדיר את המפתח המשותף מראש (PSK) ואת חבילת ההצפנה TLS_PSK_WITH_AES_128_CCM_8.
|
otBleSecureSetSslAuthMode(otInstance *aInstance, bool aVerifyPeerCertificate)
|
void
מגדיר את מצב האימות לחיבור המאובטח באמצעות BLE.
|
otBleSecureStart(otInstance *aInstance, otHandleBleSecureConnect aConnectHandler, otHandleBleSecureReceive aReceiveHandler, bool aTlvMode, void *aContext)
|
מפעיל את שירות BLE Secure.
|
otBleSecureStop(otInstance *aInstance)
|
void
מפסיק את השרת BLE Secure.
|
otBleSecureTcatStart(otInstance *aInstance, const otTcatVendorInfo *aVendorInfo, otHandleTcatJoin aHandler)
|
הפעלת פרוטוקול TCAT באמצעות BLE Secure.
|
מבנים |
|
---|---|
otTcatVendorInfo |
המבנה הזה מייצג פרטי ספק TCAT. |
ספירות
otTcatApplicationProtocol
otTcatApplicationProtocol
מייצג את פרוטוקול האפליקציה TCAT.
תכונות | |
---|---|
OT_TCAT_APPLICATION_PROTOCOL_NONE
|
הודעה שנשלחה בלי להפעיל את סוכן TCAT. |
OT_TCAT_APPLICATION_PROTOCOL_STATUS
|
ההודעה הופנתה לשירות UDP. |
OT_TCAT_APPLICATION_PROTOCOL_TCP
|
ההודעה הופנתה לשירות TCP. |
otTcatCommandClass
otTcatCommandClass
מייצג מחלקה של פקודות TCAT.
תכונות | |
---|---|
OT_TCAT_COMMAND_CLASS_APPLICATION
|
פקודות TCAT שקשורות לשכבת האפליקציה. |
OT_TCAT_COMMAND_CLASS_COMMISSIONING
|
פקודות TCAT שקשורות להזמנה. |
OT_TCAT_COMMAND_CLASS_DECOMMISSIONING
|
פקודות TCAT שקשורות לביטול העמלות. |
OT_TCAT_COMMAND_CLASS_EXTRACTION
|
פקודות TCAT שקשורות לחילוץ מפתחות. |
OT_TCAT_COMMAND_CLASS_GENERAL
|
פקודות TCAT שקשורות לפעולות כלליות. |
otTcatStatusCode
otTcatStatusCode
מייצג את קוד הסטטוס של TCAT.
תכונות | |
---|---|
OT_TCAT_STATUS_BUSY
|
לא ניתן לבצע את הפקודה כי המשאב עסוק. |
OT_TCAT_STATUS_GENERAL_ERROR
|
אירעה שגיאה שלא תואמת לאף קטגוריה אחרת. |
OT_TCAT_STATUS_HASH_ERROR
|
ערך הגיבוב שהציג הנציב היה שגוי. |
OT_TCAT_STATUS_PARSE_ERROR
|
לא ניתן לנתח את הבקשה / הפקודה כמו שצריך. |
OT_TCAT_STATUS_SUCCESS
|
הפקודה או הבקשה עובדו בהצלחה. |
OT_TCAT_STATUS_UNAUTHORIZED
|
לשולח אין הרשאה מספקת עבור הפקודה הנתונה. |
OT_TCAT_STATUS_UNDEFINED
|
הערך, הנתונים או השירות המבוקשים אינם מוגדרים (כרגע) או אינם קיימים. |
OT_TCAT_STATUS_UNSUPPORTED
|
אין תמיכה בפקודה שהתבקשה או ב-TLV שהתקבל. |
OT_TCAT_STATUS_VALUE_ERROR
|
יש שגיאה בערך של ה-TLV שהועבר. |
ערכי דף
otHandleBleSecureConnect
void(* otHandleBleSecureConnect)(otInstance *aInstance, bool aConnected, bool aBleConnectionOpen, void *aContext)
המצביע להתקשרות כאשר משתנה מצב החיבור המאובטח.
פרטים | |||||||||
---|---|---|---|---|---|---|---|---|---|
פרמטרים |
|
otHandleBleSecureReceive
otHandleTcatApplicationDataReceive otHandleBleSecureReceive
מצביע לשיחה כשנתונים התקבלו באמצעות חיבור BLE Secure TLS.
otHandleTcatApplicationDataReceive
void(* otHandleTcatApplicationDataReceive)(otInstance *aInstance, const otMessage *aMessage, int32_t aOffset, otTcatApplicationProtocol aTcatApplicationProtocol, const char *aServiceName, void *aContext)
מצביע להתקשרות כשנתוני אפליקציה התקבלו באמצעות חיבור TCAT TLS.
פרטים | |||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
פרמטרים |
|
otHandleTcatJoin
void(* otHandleTcatJoin)(otError aError, void *aContext)
מצביע להתקשרות כדי להודיע על השלמת פעולת הצטרפות.
פרטים | |||||
---|---|---|---|---|---|
פרמטרים |
|
otTcatApplicationProtocol
enum otTcatApplicationProtocol otTcatApplicationProtocol
מייצג את פרוטוקול האפליקציה TCAT.
otTcatVendorInfo
struct otTcatVendorInfo otTcatVendorInfo
המבנה הזה מייצג פרטי ספק TCAT.
התוכן של המבנה הזה חייב להישאר ללא שינוי בזמן שמתבצעת פעילות של TCAT.
פונקציות
otBleSecureConnect
otError otBleSecureConnect( otInstance *aInstance )
מפעיל סשן TLS עם אפליקציה להשוואה באמצעות חיבור BLE שכבר פתוח.
פרטים | |||
---|---|---|---|
פרמטרים |
|
||
ערכים מוחזרים |
|
otBleSecureDisconnect
void otBleSecureDisconnect( otInstance *aInstance )
ההגדרה מפסיקה את חיבור BLE ו-TLS (אבטחת שכבת התעבורה).
פרטים | |||
---|---|---|---|
פרמטרים |
|
otBleSecureFlush
otError otBleSecureFlush( otInstance *aInstance )
מוחק את מאגר השליחה.
פרטים | |||||||
---|---|---|---|---|---|---|---|
פרמטרים |
|
||||||
ערכים מוחזרים |
|
otBleSecureGetPeerCertificateBase64
otError otBleSecureGetPeerCertificateBase64( otInstance *aInstance, unsigned char *aPeerCert, size_t *aCertLength )
מחזירה את הקידוד של אישור x509 של עמית ב-base64.
.
פרטים | |||||||||
---|---|---|---|---|---|---|---|---|---|
פרמטרים |
|
||||||||
ערכים מוחזרים |
|
otBleSecureGetPeerSubjectAttributeByOid
otError otBleSecureGetPeerSubjectAttributeByOid( otInstance *aInstance, const char *aOid, size_t aOidLength, uint8_t *aAttributeBuffer, size_t *aAttributeLength, int *aAsn1Type )
מחזירה ערך מאפיין שזוהה על ידי ה-OID שלו מהנושא של אישור x509 של עמית.
ה-OID של האפליקציה להשוואה מסופק בפורמט בינארי. אורך המאפיין מוגדר אם המאפיין נקרא בהצלחה, או אם הוא לא נקרא. אם המאפיין נקרא בהצלחה, הסוג ASN.1 מוגדר כפי שהוא מוגדר בתקן ITU-T X.690.
.
פרטים | |||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
פרמטרים |
|
||||||||||||
ערכים מוחזרים |
|
otBleSecureGetThreadAttributeFromOwnCertificate
otError otBleSecureGetThreadAttributeFromOwnCertificate( otInstance *aInstance, int aThreadOidDescriptor, uint8_t *aAttributeBuffer, size_t *aAttributeLength )
מחזירה ערך מאפיין עבור ה-OID 1.3.6.1.4.1.44970.x מסיומות v3 של אישור x509 עצמו, כאשר הספרה האחרונה x מוגדרת כ-aThreadOidDescriptor.
אורך המאפיין מוגדר אם המאפיין נקרא בהצלחה, או אם הוא לא נקרא. נדרש חיבור כדי להפעיל את המכשיר.
פרטים | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
פרמטרים |
|
||||||||||||||
ערכים מוחזרים |
|
otBleSecureGetThreadAttributeFromPeerCertificate
otError otBleSecureGetThreadAttributeFromPeerCertificate( otInstance *aInstance, int aThreadOidDescriptor, uint8_t *aAttributeBuffer, size_t *aAttributeLength )
מחזירה ערך מאפיין עבור ה-OID 1.3.6.1.4.1.44970.x מסיומות v3 של אישור x509 העמית, כאשר הספרה האחרונה x מוגדרת כ-aThreadOidDescriptor.
אורך המאפיין מוגדר אם המאפיין נקרא בהצלחה, או אם הוא לא נקרא. נדרש חיבור כדי להפעיל את המכשיר.
.
פרטים | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
פרמטרים |
|
||||||||||||||
ערכים מוחזרים |
|
otBleSecureIsCommandClassAuthorized
bool otBleSecureIsCommandClassAuthorized( otInstance *aInstance, otTcatCommandClass aCommandClass )
מציינת אם מחלקת פקודות TCAT מורשית או לא.
פרטים | |||||
---|---|---|---|---|---|
פרמטרים |
|
||||
ערכים מוחזרים |
|
otBleSecureIsConnected
bool otBleSecureIsConnected( otInstance *aInstance )
מציין אם סשן ה-TLS מחובר או לא.
פרטים | |||||
---|---|---|---|---|---|
פרמטרים |
|
||||
ערכים מוחזרים |
|
otBleSecureIsConnectionActive
bool otBleSecureIsConnectionActive( otInstance *aInstance )
מציין אם סשן ה-TLS פעיל (מחובר או מתחבר).
פרטים | |||||
---|---|---|---|---|---|
פרמטרים |
|
||||
ערכים מוחזרים |
|
otBleSecureIsTcatEnabled
bool otBleSecureIsTcatEnabled( otInstance *aInstance )
מציינת אם סוכן TCAT מופעל או לא.
פרטים | |||||
---|---|---|---|---|---|
ערכים מוחזרים |
|
otBleSecureSend
otError otBleSecureSend( otInstance *aInstance, uint8_t *aBuf, uint16_t aLength )
נשלחת חבילת נתונים מאובטחת מסוג BLE.
פרטים | |||||||
---|---|---|---|---|---|---|---|
פרמטרים |
|
||||||
ערכים מוחזרים |
|
otBleSecureSendApplicationTlv
otError otBleSecureSendApplicationTlv( otInstance *aInstance, uint8_t *aBuf, uint16_t aLength )
נשלחת חבילת נתונים מאובטחת מסוג BLE שמכילה TLV של נתוני האפליקציה TCAT Send Application.
פרטים | |||||||
---|---|---|---|---|---|---|---|
פרמטרים |
|
||||||
ערכים מוחזרים |
|
otBleSecureSendMessage
otError otBleSecureSendMessage( otInstance *aInstance, otMessage *aMessage )
נשלחת הודעת BLE מאובטחת.
אם הערך המוחזר הוא OT_ERROR_NONE, OpenThread מקבל בעלות על aMessage
, ומבצע הקריאה החוזרת לא אמור להפנות אל aMessage
. אם הערך המוחזר אינו OT_ERROR_NONE, מבצע הקריאה החוזרת ישאיר את הבעלות על aMessage
, כולל שחרור של aMessage
אם אין יותר צורך במאגר ההודעות הזמני.
פרטים | |||||
---|---|---|---|---|---|
פרמטרים |
|
פרטים | |||||||
---|---|---|---|---|---|---|---|
ערכים מוחזרים |
|
otBleSecureSetCaCertificateChain
void otBleSecureSetCaCertificateChain( otInstance *aInstance, const uint8_t *aX509CaCertificateChain, uint32_t aX509CaCertChainLength )
מגדיר את ה-CA המהימנים ברמה העליונה.
הוא נדרש לאימות האישור של העמית.
מצב TLS: 'ECDHE ECDSA עם AES 128 CCM 8' ל-BLE מאובטח.
פרטים | |||||||
---|---|---|---|---|---|---|---|
פרמטרים |
|
otBleSecureSetCertificate
void otBleSecureSetCertificate( otInstance *aInstance, const uint8_t *aX509Cert, uint32_t aX509Length, const uint8_t *aPrivateKey, uint32_t aPrivateKeyLength )
מגדירה את אישור X509 של המכשיר המקומי עם מפתח פרטי מתאים לסשן TLS עם TLS_ECDHE_ECDSA_WITH_AES_128_CCM_8.
פרטים | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
פרמטרים |
|
otBleSecureSetPsk
void otBleSecureSetPsk( otInstance *aInstance, const uint8_t *aPsk, uint16_t aPskLength, const uint8_t *aPskIdentity, uint16_t aPskIdLength )
מגדיר את המפתח המשותף מראש (PSK) ואת חבילת ההצפנה TLS_PSK_WITH_AES_128_CCM_8.
.
פרטים | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
פרמטרים |
|
otBleSecureSetSslAuthMode
void otBleSecureSetSslAuthMode( otInstance *aInstance, bool aVerifyPeerCertificate )
מגדיר את מצב האימות לחיבור המאובטח באמצעות BLE.
השבתה או הפעלה של אימות אישור של אפליקציה להשוואה. חייבת להיות קריאה לפני ההתחלה.
פרטים | |||||
---|---|---|---|---|---|
פרמטרים |
|
otBleSecureStart
otError otBleSecureStart( otInstance *aInstance, otHandleBleSecureConnect aConnectHandler, otHandleBleSecureReceive aReceiveHandler, bool aTlvMode, void *aContext )
מפעיל את שירות BLE Secure.
כשמצב TLV פעיל, הפונקציה aReceiveHandler
תופעל לאחר קבלת TLV מלא, וההיסט של ההודעה יצביע לערך TLV.
פרטים | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
פרמטרים |
|
||||||||||
ערכים מוחזרים |
|
otBleSecureStop
void otBleSecureStop( otInstance *aInstance )
מפסיק את השרת BLE Secure.
פרטים | |||
---|---|---|---|
פרמטרים |
|
otBleSecureTcatStart
otError otBleSecureTcatStart( otInstance *aInstance, const otTcatVendorInfo *aVendorInfo, otHandleTcatJoin aHandler )
הפעלת פרוטוקול TCAT באמצעות BLE Secure.
פרטים | |||||||
---|---|---|---|---|---|---|---|
פרמטרים |
|
||||||
ערכים מוחזרים |
|
פקודות מאקרו
OT_TCAT_MAX_SERVICE_NAME_LENGTH
OT_TCAT_MAX_SERVICE_NAME_LENGTH 15
אורך המחרוזת המקסימלי של שם שירות UDP או TCP (לא כולל תו ריק).
מקורות מידע
המקור של נושאי העזר של OpenThread API הוא קוד המקור, שזמין ב-GitHub. אפשר לקרוא מידע נוסף או לתרום למסמכי התיעוד שלנו בדף מקורות מידע.