تقنية BLE الآمنة

تتضمَّن هذه الوحدة وظائف تتحكّم في اتصال BLE Secure (بروتوكول أمان طبقة النقل (TLS) عبر 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
}
تعداد
يمثل بروتوكول تطبيق 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
}
تعداد
يمثل فئة أمر 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
}
تعداد
يُمثِّل رمز حالة TCAT.

تحديدات النوع

otHandleBleSecureConnect)(otInstance *aInstance, bool aConnected, bool aBleConnectionOpen, void *aContext) typedef
void(*
مؤشر للاتصال عند تغيير حالة الاتصال الآمن "بلي".
otHandleBleSecureReceive typedef
مؤشر للاتصال عند استلام البيانات عبر اتصال بروتوكول أمان طبقة النقل (TLS) بتقنية BLE.
otHandleTcatApplicationDataReceive)(otInstance *aInstance, const otMessage *aMessage, int32_t aOffset, otTcatApplicationProtocol aTcatApplicationProtocol, const char *aServiceName, void *aContext) typedef
void(*
مؤشر للاتصال عند استلام بيانات التطبيق من خلال اتصال بروتوكول أمان طبقة النقل (TLS) لبروتوكول TCAT.
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 آمنة تحتوي على TLV (ملف TLV) لإرسال بيانات التطبيق.
otBleSecureSendMessage(otInstance *aInstance, otMessage *aMessage)
لإرسال رسالة BLE آمنة.
otBleSecureSetCaCertificateChain(otInstance *aInstance, const uint8_t *aX509CaCertificateChain, uint32_t aX509CaCertChainLength)
void
لضبط مراجع التصديق ذات المستوى الأعلى الموثوق بها
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

الطلب المطلوب أو النص الذي تم استلامه غير متوافق.

OT_TCAT_STATUS_VALUE_ERROR

هناك خطأ في قيمة TLV الذي تم نقله.

تحديدات النوع

otHandleBleSecureConnect

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

مؤشر للاتصال عند تغيير حالة الاتصال الآمن "بلي".

التفاصيل
المَعلمات
[in] aInstance
يشير هذا المصطلح إلى مؤشر لمثيل OpenThread.
[in] aConnected
TRUE، إذا تم إنشاء اتصال آمن، وFALSE في الحالات الأخرى.
[in] aBleConnectionOpen
TRUE إذا تم إنشاء اتصال BLE لنقل مصدر بيانات TLS، وبخلاف ذلك، FALSE.
[in] aContext
يشير إلى معلومات سياق عشوائية.

otHandleBleSecureReceive

otHandleTcatApplicationDataReceive otHandleBleSecureReceive

مؤشر للاتصال عند استلام البيانات عبر اتصال بروتوكول أمان طبقة النقل (TLS) بتقنية BLE.

otHandleTcatApplicationDataReceive

void(* otHandleTcatApplicationDataReceive)(otInstance *aInstance, const otMessage *aMessage, int32_t aOffset, otTcatApplicationProtocol aTcatApplicationProtocol, const char *aServiceName, void *aContext)

مؤشر للاتصال عند استلام بيانات التطبيق من خلال اتصال بروتوكول أمان طبقة النقل (TLS) لبروتوكول TCAT.

التفاصيل
المَعلمات
[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_ حين فشل عملية الانضمام بسبب بيانات اعتماد الأمان.
[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
الرقم الأخير من OID لسمة Thread.
[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
الرقم الأخير من OID لسمة Thread.
[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 (قيمة TLV) لإرسال بيانات التطبيق.
[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 آمنة تحتوي على TLV (ملف TLV) لإرسال بيانات التطبيق.

التفاصيل
المَعلمات
[in] aInstance
يشير هذا المصطلح إلى مؤشر لمثيل OpenThread.
[in] aBuf
مؤشر إلى البيانات المراد إرسالها باعتبارها قيمة TLV (قيمة TLV) لإرسال بيانات التطبيق.
[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
)

لضبط مراجع التصديق ذات المستوى الأعلى الموثوق بها

وهي مطلوبة للتحقق من صحة شهادة الزميل.

وضع بروتوكول أمان طبقة النقل (TLS) هو "ECDHE ECDSA مع AES 128 CCM 8" للحصول على تقنية BLE آمنة.

التفاصيل
المَعلمات
[in] aInstance
يشير هذا المصطلح إلى مؤشر لمثيل OpenThread.
[in] aX509CaCertificateChain
مؤشر لسلسلة X509 CA بتنسيق PEM.
[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
)

تُعيِّن المفتاح المشترك مسبقًا (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
يشير إلى معلومات سياق عشوائية. قد تكون فارغة إذا لم يتم استخدامها.
قيم الإرجاع
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
المؤشر إلى "معلومات البائع" (يجب أن يظل صالحًا بعد استدعاء الطريقة، وقد يكون فارغًا).
[in] aHandler
يشير هذا المصطلح إلى مؤشر لدالة يتم استدعاؤها عند اكتمال عملية الدمج.
قيم الإرجاع
OT_ERROR_NONE
تم بدء دور "الانضمام الآمن" في BLE بنجاح.
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 من رمز المصدر المتاح على GitHub. للحصول على مزيد من المعلومات أو للمساهمة في مستنداتنا، يمكنك الاطّلاع على المراجع.