BLE Secure

این ماژول شامل عملکردهایی است که ارتباطات BLE Secure (TLS over BLE) را کنترل می کند.

خلاصه

این ماژول شامل توابعی است که ارتباطات TCAT را پیاده سازی می کند.

وقتی ویژگی BLE Secure API ( OPENTHREAD_CONFIG_BLE_TCAT_ENABLE ) فعال باشد، عملکردهای این ماژول در دسترس هستند.

عملکردهای این ماژول زمانی در دسترس هستند که ویژگی TCAT ( OPENTHREAD_CONFIG_BLE_TCAT_ENABLE ) فعال باشد.

شمارش ها

otTcatApplicationProtocol {
OT_TCAT_APPLICATION_PROTOCOL_NONE = 0,
OT_TCAT_APPLICATION_PROTOCOL_STATUS = 1,
OT_TCAT_APPLICATION_PROTOCOL_TCP = 2
}
enum
پروتکل برنامه TCAT را نشان می دهد.
otTcatCommandClass {
OT_TCAT_COMMAND_CLASS_GENERAL = 0,
OT_TCAT_COMMAND_CLASS_COMMISSIONING = 1,
OT_TCAT_COMMAND_CLASS_EXTRACTION = 2,
OT_TCAT_COMMAND_CLASS_DECOMMISSIONING = 3,
OT_TCAT_COMMAND_CLASS_APPLICATION = 4
}
enum
یک کلاس فرمان TCAT را نشان می دهد.
otTcatStatusCode {
OT_TCAT_STATUS_SUCCESS = 0,
OT_TCAT_STATUS_UNSUPPORTED = 1,
OT_TCAT_STATUS_PARSE_ERROR = 2,
OT_TCAT_STATUS_VALUE_ERROR = 3,
OT_TCAT_STATUS_GENERAL_ERROR = 4,
OT_TCAT_STATUS_BUSY = 5,
OT_TCAT_STATUS_UNDEFINED = 6,
OT_TCAT_STATUS_HASH_ERROR = 7,
OT_TCAT_STATUS_UNAUTHORIZED = 16
}
enum
نشان دهنده کد وضعیت TCAT است.

Typedefs

otHandleBleSecureConnect )(otInstance *aInstance, bool aConnected, bool aBleConnectionOpen, void *aContext) typedef
void(*
هنگامی که وضعیت اتصال امن ble تغییر می کند، اشاره گر برای تماس است.
otHandleBleSecureReceive typedef
هنگامی که داده ها از طریق اتصال BLE Secure TLS دریافت شد، نشانگر تماس است.
otHandleTcatApplicationDataReceive )(otInstance *aInstance, const otMessage *aMessage, int32_t aOffset, otTcatApplicationProtocol aTcatApplicationProtocol, const char *aServiceName, void *aContext) typedef
void(*
هنگامی که داده های برنامه از طریق اتصال TCAT TLS دریافت شد، نشانگر تماس است.
otHandleTcatJoin )(otError aError, void *aContext) typedef
void(*
اشاره گر برای تماس برای اطلاع از اتمام عملیات پیوستن.
otTcatApplicationProtocol typedef
پروتکل برنامه TCAT را نشان می دهد.
otTcatCommandClass typedef
یک کلاس فرمان TCAT را نشان می دهد.
otTcatStatusCode typedef
نشان دهنده کد وضعیت TCAT است.
otTcatVendorInfo typedef
این ساختار اطلاعات فروشنده 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

پروتکل برنامه 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 ارسال شده دارای خطا است.

Typedefs

otHandleBleSecureConnect

void(* otHandleBleSecureConnect)(otInstance *aInstance, bool aConnected, bool aBleConnectionOpen, void *aContext)

هنگامی که وضعیت اتصال امن ble تغییر می کند، اشاره گر برای تماس است.

جزئیات
مولفه های
[in] aInstance
اشاره گر به یک نمونه OpenThread.
[in] aConnected
درست است، اگر اتصال ایمن برقرار شد، در غیر این صورت نادرست است.
[in] aBleConnectionOpen
اگر یک اتصال BLE برای انتقال جریان داده TLS ایجاد شده باشد، درست است، در غیر این صورت نادرست است.
[in] 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 دریافت شد، نشانگر تماس است.

جزئیات
مولفه های
[in] aInstance
اشاره گر به یک نمونه OpenThread.
[in] aMessage
اشاره گر به پیام
[in] aOffset
افست جایی که داده های برنامه شروع می شود.
[in] aTcatApplicationProtocol
نوع پروتکل پیام دریافتی
[in] aServiceName
نام سرویسی که پیام به آن هدایت می شود.
[in] aContext
اشاره گر به اطلاعات زمینه دلخواه.

otHandleTcatJoin

void(* otHandleTcatJoin)(otError aError, void *aContext)

اشاره گر برای تماس برای اطلاع از اتمام عملیات پیوستن.

جزئیات
مولفه های
[in] aError
در صورت موفقیت فرآیند پیوستن، OT_ERROR_NONE. OT_ERROR_SECURITY اگر فرآیند پیوستن به دلیل اعتبارنامه امنیتی ناموفق بود.
[in] aContext
اشاره گر به اطلاعات زمینه دلخواه.

otTcatApplicationProtocol

enum otTcatApplicationProtocol otTcatApplicationProtocol

پروتکل برنامه TCAT را نشان می دهد.

otTcatCommandClass

enum otTcatCommandClass otTcatCommandClass

یک کلاس فرمان TCAT را نشان می دهد.

otTcatStatusCode

enum otTcatStatusCode otTcatStatusCode

نشان دهنده کد وضعیت TCAT است.

otTcatVendorInfo

struct otTcatVendorInfo otTcatVendorInfo

این ساختار اطلاعات فروشنده TCAT را نشان می دهد.

محتوای این ساختار باید در حین اجرای یک جلسه TCAT باقی بماند و بدون تغییر باقی بماند.

کارکرد

otBleSecureConnect

otError otBleSecureConnect(
  otInstance *aInstance
)

جلسه TLS را با استفاده از یک اتصال BLE از قبل باز شده با یک همتا راه اندازی می کند.

جزئیات
مولفه های
[in] aInstance
اشاره گر به یک نمونه OpenThread.
ارزش های بازگشتی
OT_ERROR_NONE
اتصال TLS با موفقیت شروع شد.

otBleSecureDisconnect

void otBleSecureDisconnect(
  otInstance *aInstance
)

اتصال BLE و TLS را متوقف می کند.

جزئیات
مولفه های
[in] aInstance
اشاره گر به یک نمونه OpenThread.

otBleSecureFlush

otError otBleSecureFlush(
  otInstance *aInstance
)

بافر ارسال را شستشو می دهد.

جزئیات
مولفه های
[in] aInstance
اشاره گر به یک نمونه OpenThread.
ارزش های بازگشتی
OT_ERROR_NONE
بافر خروجی با موفقیت شسته شد.
OT_ERROR_NO_BUFS
تخصیص حافظه بافر ناموفق بود.
OT_ERROR_INVALID_STATE
اتصال TLS راه اندازی نشد.

otBleSecureGetPeerCertificateBase64

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

گواهی نامه همتا x509 base64 را به صورت رمزگذاری شده برمی گرداند.

جزئیات
مولفه های
[in] aInstance
اشاره گر به یک نمونه OpenThread.
[out] aPeerCert
یک اشاره گر به بافر گواهی کدگذاری شده base64.
[in,out] aCertLength
در ورودی، اندازه حداکثر aPeerCert است. در خروجی، طول گواهی نامه همتای base64 رمزگذاری شده است.
ارزش های بازگشتی
OT_ERROR_NONE
گواهی همتا را با موفقیت دریافت کنید.
OT_ERROR_INVALID_ARGS
aInstance یا aCertLength نامعتبر است.
OT_ERROR_INVALID_STATE
هنوز متصل نشده است.
OT_ERROR_NO_BUFS
نمی توان حافظه را برای گواهی اختصاص داد.

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 تعریف شده تنظیم شده است.

جزئیات
مولفه های
[in] aInstance
اشاره گر به یک نمونه OpenThread.
[in] aOid
یک اشاره گر به OID پیدا شود.
[in] aOidLength
طول OID.
[out] aAttributeBuffer
یک اشاره گر به بافر ویژگی.
[in,out] aAttributeLength
در ورودی، اندازه حداکثر اندازه aAttributeBuffer است. در خروجی، طول صفت نوشته شده در بافر.
[out] aAsn1Type
یک اشاره گر به نوع ASN.1 از ویژگی نوشته شده در بافر.
ارزش های بازگشتی
OT_ERROR_INVALID_STATE
هنوز متصل نشده است.
OT_ERROR_INVALID_ARGS
طول مشخصه نامعتبر است.
OT_ERROR_NONE
ویژگی با موفقیت خوانده شد.
OT_ERROR_NO_BUFS
حافظه کافی برای ذخیره مقدار مشخصه.

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 تنظیم شده است.

اگر مشخصه با موفقیت خوانده شود، طول مشخصه یا در صورت ناموفق صفر تنظیم می شود. برای فعال بودن نیاز به اتصال دارد.

جزئیات
مولفه های
[in] aInstance
اشاره گر به یک نمونه OpenThread.
[in] aThreadOidDescriptor
آخرین رقم از ویژگی Thread OID.
[out] aAttributeBuffer
یک اشاره گر به بافر ویژگی.
[in,out] aAttributeLength
در ورودی، اندازه حداکثر اندازه aAttributeBuffer است. در خروجی، طول صفت نوشته شده در بافر.
ارزش های بازگشتی
OT_ERROR_NONE
ویژگی با موفقیت خوانده شد.
OT_ERROR_INVALID_ARGS
طول مشخصه نامعتبر است.
OT_NOT_FOUND
ویژگی درخواستی یافت نشد.
OT_ERROR_NO_BUFS
حافظه کافی برای ذخیره مقدار مشخصه.
OT_ERROR_INVALID_STATE
هنوز متصل نشده است.
OT_ERROR_NOT_IMPLEMENTED
مقدار aThreadOidDescriptor> 127 است.
OT_ERROR_PARSE
پسوند گواهی قابل تجزیه نیست.

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 تنظیم شده است، برمی گرداند.

اگر مشخصه با موفقیت خوانده شود، طول مشخصه یا در صورت ناموفق صفر تنظیم می شود. برای فعال بودن نیاز به اتصال دارد.

جزئیات
مولفه های
[in] aInstance
اشاره گر به یک نمونه OpenThread.
[in] aThreadOidDescriptor
آخرین رقم از ویژگی Thread OID.
[out] aAttributeBuffer
یک اشاره گر به بافر ویژگی.
[in,out] aAttributeLength
در ورودی، اندازه حداکثر اندازه aAttributeBuffer است. در خروجی، طول صفت نوشته شده در بافر.
ارزش های بازگشتی
OT_ERROR_NONE
ویژگی با موفقیت خوانده شد.
OT_ERROR_INVALID_ARGS
طول مشخصه نامعتبر است.
OT_NOT_FOUND
ویژگی درخواستی یافت نشد.
OT_ERROR_NO_BUFS
حافظه کافی برای ذخیره مقدار مشخصه.
OT_ERROR_INVALID_STATE
هنوز متصل نشده است.
OT_ERROR_NOT_IMPLEMENTED
مقدار aThreadOidDescriptor> 127 است.
OT_ERROR_PARSE
پسوند گواهی قابل تجزیه نیست.

otBleSecureIsCommandClassAuthorized

bool otBleSecureIsCommandClassAuthorized(
  otInstance *aInstance,
  otTcatCommandClass aCommandClass
)

نشان می دهد که آیا یک کلاس فرمان TCAT مجاز است یا خیر.

جزئیات
مولفه های
[in] aInstance
اشاره گر به یک نمونه OpenThread.
[in] aCommandClass
یک کلاس فرمان برای بررسی.
ارزش های بازگشتی
TRUE
کلاس فرمان مجاز است.
FALSE
کلاس فرمان مجاز نیست.

otBleSecureIsConnected

bool otBleSecureIsConnected(
  otInstance *aInstance
)

نشان می دهد که آیا جلسه TLS متصل است یا خیر.

جزئیات
مولفه های
[in] aInstance
اشاره گر به یک نمونه OpenThread.
ارزش های بازگشتی
TRUE
جلسه TLS متصل است.
FALSE
جلسه TLS متصل نیست.

otBleSecureIsConnectionActive

bool otBleSecureIsConnectionActive(
  otInstance *aInstance
)

نشان می دهد که آیا جلسه TLS فعال است یا نه (متصل یا در حال اتصال).

جزئیات
مولفه های
[in] aInstance
اشاره گر به یک نمونه OpenThread.
ارزش های بازگشتی
TRUE
اگر جلسه TLS فعال است.
FALSE
اگر جلسه TLS فعال نیست.

otBleSecureIsTcatEnabled

bool otBleSecureIsTcatEnabled(
  otInstance *aInstance
)

نشان می دهد که آیا عامل TCAT فعال است یا خیر.

جزئیات
ارزش های بازگشتی
TRUE
عامل TCAT فعال است.
FALSE
عامل TCAT فعال نیست.

otBleSecureSend

otError otBleSecureSend(
  otInstance *aInstance,
  uint8_t *aBuf,
  uint16_t aLength
)

یک بسته داده ایمن BLE را ارسال می کند.

جزئیات
مولفه های
[in] aInstance
اشاره گر به یک نمونه OpenThread.
[in] aBuf
یک اشاره گر به داده ها برای ارسال به عنوان ارزش TLV داده های برنامه ارسال TCAT.
[in] aLength
عددی که طول بافر داده را نشان می دهد.
ارزش های بازگشتی
OT_ERROR_NONE
داده ها با موفقیت ارسال شد.
OT_ERROR_NO_BUFS
تخصیص حافظه بافر ناموفق بود.
OT_ERROR_INVALID_STATE
اتصال TLS راه اندازی نشد.

otBleSecureSendApplicationTlv

otError otBleSecureSendApplicationTlv(
  otInstance *aInstance,
  uint8_t *aBuf,
  uint16_t aLength
)

یک بسته داده ایمن BLE حاوی یک TCAT Send Application Data TLV ارسال می کند.

جزئیات
مولفه های
[in] aInstance
اشاره گر به یک نمونه OpenThread.
[in] aBuf
یک اشاره گر به داده ها برای ارسال به عنوان ارزش TLV داده های برنامه ارسال TCAT.
[in] aLength
عددی که طول بافر داده را نشان می دهد.
ارزش های بازگشتی
OT_ERROR_NONE
داده ها با موفقیت ارسال شد.
OT_ERROR_NO_BUFS
تخصیص حافظه بافر ناموفق بود.
OT_ERROR_INVALID_STATE
اتصال TLS راه اندازی نشد.

otBleSecureSendMessage

otError otBleSecureSendMessage(
  otInstance *aInstance,
  otMessage *aMessage
)

یک پیام BLE ایمن ارسال می کند.

اگر مقدار بازگشتی OT_ERROR_NONE باشد، OpenThread مالکیت aMessage را در اختیار می‌گیرد و تماس‌گیرنده دیگر نباید به aMessage اشاره کند. اگر مقدار برگشتی OT_ERROR_NONE نباشد، تماس‌گیرنده مالکیت aMessage را حفظ می‌کند، از جمله آزاد کردن aMessage در صورت عدم نیاز به بافر پیام.

جزئیات
مولفه های
[in] aInstance
اشاره گر به یک نمونه OpenThread.
[in] aMessage
اشاره گر به پیام برای ارسال.

جزئیات
ارزش های بازگشتی
OT_ERROR_NONE
پیام با موفقیت ارسال شد.
OT_ERROR_NO_BUFS
تخصیص حافظه بافر ناموفق بود.
OT_ERROR_INVALID_STATE
اتصال TLS راه اندازی نشد.

otBleSecureSetCaCertificateChain

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

CAهای سطح بالای قابل اعتماد را تنظیم می کند.

برای تأیید گواهی نامه همتا مورد نیاز است.

حالت TLS "ECDHE ECDSA with AES 128 CCM 8" برای امنیت BLE.

جزئیات
مولفه های
[in] aInstance
اشاره گر به یک نمونه OpenThread.
[in] aX509CaCertificateChain
اشاره گر به زنجیره CA با فرمت PEM X509.
[in] aX509CaCertChainLength
طول زنجیر.

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 تنظیم می کند.

جزئیات
مولفه های
[in] aInstance
اشاره گر به یک نمونه OpenThread.
[in] aX509Cert
اشاره گر به گواهی X509 با فرمت PEM.
[in] aX509Length
طول گواهینامه
[in] aPrivateKey
یک اشاره گر به کلید خصوصی با فرمت PEM.
[in] aPrivateKeyLength
طول کلید خصوصی

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 را تنظیم می کند.

جزئیات
مولفه های
[in] aInstance
اشاره گر به یک نمونه OpenThread.
[in] aPsk
اشاره گر به PSK.
[in] aPskLength
طول PSK
[in] aPskIdentity
نام هویت برای PSK.
[in] aPskIdLength
طول هویت PSK

otBleSecureSetSslAuthMode

void otBleSecureSetSslAuthMode(
  otInstance *aInstance,
  bool aVerifyPeerCertificate
)

حالت احراز هویت را برای اتصال امن BLE تنظیم می کند.

تأیید گواهی همتا را غیرفعال یا فعال کنید. قبل از شروع باید تماس گرفته شود.

جزئیات
مولفه های
[in] aInstance
اشاره گر به یک نمونه OpenThread.
[in] aVerifyPeerCertificate
درست است، برای تأیید گواهی همتا.

otBleSecureStart

otError otBleSecureStart(
  otInstance *aInstance,
  otHandleBleSecureConnect aConnectHandler,
  otHandleBleSecureReceive aReceiveHandler,
  bool aTlvMode,
  void *aContext
)

سرویس BLE Secure را راه اندازی می کند.

هنگامی که حالت TLV فعال است، تابع aReceiveHandler هنگامی که یک TLV کامل دریافت شد و پیام افست به مقدار TLV اشاره می کند، فراخوانی می شود.

جزئیات
مولفه های
[in] aInstance
اشاره گر به یک نمونه OpenThread.
[in] aConnectHandler
اشاره گر به تابعی که با تغییر حالت اتصال فراخوانی می شود.
[in] aReceiveHandler
اشاره گر به تابعی که پس از دریافت داده از طریق اتصال TLS فراخوانی می شود.
[in] aTlvMode
یک مقدار بولی که نشان می دهد حالت خط باید فعال شود یا خیر.
[in] aContext
اشاره گر به اطلاعات زمینه دلخواه. در صورت عدم استفاده ممکن است NULL باشد.
ارزش های بازگشتی
OT_ERROR_NONE
سرور BLE Secure با موفقیت راه اندازی شد.
OT_ERROR_ALREADY
خدمات قبلاً اعلام شده بود.

otBleSecureStop

void otBleSecureStop(
  otInstance *aInstance
)

سرور BLE Secure را متوقف می کند.

جزئیات
مولفه های
[in] aInstance
اشاره گر به یک نمونه OpenThread.

otBleSecureTcatStart

otError otBleSecureTcatStart(
  otInstance *aInstance,
  const otTcatVendorInfo *aVendorInfo,
  otHandleTcatJoin aHandler
)

پروتکل TCAT را از طریق BLE Secure فعال می کند.

جزئیات
مولفه های
[in] aInstance
اشاره گر به یک نمونه OpenThread.
[in] aVendorInfo
یک اشاره گر به اطلاعات فروشنده (باید پس از فراخوانی متد معتبر باقی بماند، ممکن است NULL باشد).
[in] aHandler
اشاره گر به تابعی که با اتمام عملیات اتصال فراخوانی می شود.
ارزش های بازگشتی
OT_ERROR_NONE
نقش BLE Secure Joiner با موفقیت شروع شد.
OT_ERROR_INVALID_ARGS
aElevationPsk یا aVendorInfo نامعتبر است.
OT_ERROR_INVALID_STATE
عملکرد BLE شروع نشده است یا حالت خط انتخاب نشده است.

ماکروها

OT_TCAT_MAX_SERVICE_NAME_LENGTH

 OT_TCAT_MAX_SERVICE_NAME_LENGTH 15

حداکثر طول رشته نام سرویس UDP یا TCP (شامل کاراکتر تهی نمی شود).

منابع

موضوعات مرجع OpenThread API از کد منبع موجود در GitHub سرچشمه می گیرند. برای اطلاعات بیشتر، یا مشارکت در اسناد ما، به منابع مراجعه کنید.