BLE Secure
این ماژول شامل عملکردهایی است که ارتباطات BLE Secure (TLS over 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 است. |
Typedefs | |
---|---|
otHandleBleSecureConnect )(otInstance *aInstance, bool aConnected, bool aBleConnectionOpen, void *aContext) | typedefvoid(* هنگامی که وضعیت اتصال امن ble تغییر می کند، اشاره گر برای تماس است. |
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 حاوی یک TCAT Send Application Data TLV ارسال می کند. |
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 کلید Pre-Shared (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
otTcatCommandClass
otTcatCommandClass
یک کلاس فرمان TCAT را نشان می دهد.
otTcatStatusCode
otTcatStatusCode
نشان دهنده کد وضعیت TCAT است.
Typedefs
otHandleBleSecureConnect
void(* otHandleBleSecureConnect)(otInstance *aInstance, bool aConnected, bool aBleConnectionOpen, void *aContext)
هنگامی که وضعیت اتصال امن ble تغییر می کند، اشاره گر برای تماس است.
جزئیات | |||||||||
---|---|---|---|---|---|---|---|---|---|
مولفه های |
|
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 حاوی یک TCAT Send Application Data TLV ارسال می کند.
جزئیات | |||||||
---|---|---|---|---|---|---|---|
مولفه های |
| ||||||
ارزش های بازگشتی |
|
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 with 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 )
کلید Pre-Shared (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 سرچشمه می گیرند. برای اطلاعات بیشتر، یا مشارکت در اسناد ما، به منابع مراجعه کنید.