BLE 安全

這個模組內含控管 BLE 安全 (透過 BLE 傳輸傳輸層安全標準 (TLS)) 通訊的函式。

摘要

這個模組內含實作 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 狀態碼。

Typedefs

otHandleBleSecureConnect)(otInstance *aInstance, bool aConnected, bool aBleConnectionOpen, void *aContext) typedef
void(*
良好安全連線狀態變更時要呼叫的指標。
otHandleBleSecureReceive typedef
透過 BLE 安全傳輸層安全標準 (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)
使用已開啟 BLE 連線的對等點初始化傳輸層安全標準 (TLS) 工作階段。
otBleSecureDisconnect(otInstance *aInstance)
void
停止 BLE 和 TLS 連線。
otBleSecureFlush(otInstance *aInstance)
清除傳送緩衝區。
otBleSecureGetPeerCertificateBase64(otInstance *aInstance, unsigned char *aPeerCert, size_t *aCertLength)
傳回採用 Base64 編碼的對等 x509 憑證。
otBleSecureGetPeerSubjectAttributeByOid(otInstance *aInstance, const char *aOid, size_t aOidLength, uint8_t *aAttributeBuffer, size_t *aAttributeLength, int *aAsn1Type)
傳回對等 x509 憑證主體的 OID 識別的屬性值。
otBleSecureGetThreadAttributeFromOwnCertificate(otInstance *aInstance, int aThreadOidDescriptor, uint8_t *aAttributeBuffer, size_t *aAttributeLength)
從自有 x509 憑證的 v3 延伸模組傳回 OID 1.3.6.1.4.1.44970.x 的屬性值,最後一位數的 x 設為 aThreadOidDescriptor。
otBleSecureGetThreadAttributeFromPeerCertificate(otInstance *aInstance, int aThreadOidDescriptor, uint8_t *aAttributeBuffer, size_t *aAttributeLength)
從對等 x509 憑證的 v3 延伸模組傳回 OID 1.3.6.1.4.1.44970.x 的屬性值,最後一位數的 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)
傳送含有 TCAT 的 BLE 資料封包,傳送應用程式資料 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_ECDHE_ECDSA_WITH_AES_128_CCM_8 的 TLS 工作階段對應的私密金鑰。
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 安全伺服器。
otBleSecureTcatStart(otInstance *aInstance, const otTcatVendorInfo *aVendorInfo, otHandleTcatJoin aHandler)
透過 BLE Secure 啟用 TCAT 通訊協定。

結構

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)

良好安全連線狀態變更時要呼叫的指標。

詳細說明
參數
[in] aInstance
指向 OpenThread 執行個體的指標。
[in] aConnected
TRUE (如果已建立安全連線),則傳回 FALSE。
[in] aBleConnectionOpen
如果已建立 BLE 連線以攜帶 TLS 資料串流,則為 TRUE,否則傳回 FALSE。
[in] aContext
指向任意背景資訊的指標。

otHandleBleSecureReceive

otHandleTcatApplicationDataReceive otHandleBleSecureReceive

透過 BLE 安全傳輸層安全標準 (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
)

使用已開啟 BLE 連線的對等點初始化傳輸層安全標準 (TLS) 工作階段。

詳細說明
參數
[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
)

傳回採用 Base64 編碼的對等 x509 憑證。

詳細說明
參數
[in] aInstance
指向 OpenThread 執行個體的指標。
[out] aPeerCert
指向 Base64 編碼憑證緩衝區的指標。
[in,out] aCertLength
輸入內容的大小上限為 aPeerCert。輸出時,Base64 編碼對等憑證的長度。
傳回值
OT_ERROR_NONE
已成功取得對等憑證。
OT_ERROR_INVALID_ARGS
aInstanceaCertLength 無效。
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
)

傳回對等 x509 憑證主體的 OID 識別的屬性值。

對等 OID 以二進位格式提供。如果屬性成功讀取,屬性長度會設定;失敗時,則會設定屬性長度。如果屬性成功讀取,就會採用 ITU-T X.690 標準中定義的 ASN.1 類型。

詳細說明
參數
[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
)

從自有 x509 憑證的 v3 延伸模組傳回 OID 1.3.6.1.4.1.44970.x 的屬性值,最後一位數的 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
)

從對等 x509 憑證的 v3 延伸模組傳回 OID 1.3.6.1.4.1.44970.x 的屬性值,最後一位數的 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
指向 TCAT 傳送應用程式資料 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
)

傳送含有 TCAT 的 BLE 資料封包,傳送應用程式資料 TLV。

詳細說明
參數
[in] aInstance
指向 OpenThread 執行個體的指標。
[in] aBuf
指向 TCAT 傳送應用程式資料 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
)

設定信任的頂層 CA。

需要用來驗證對等點的憑證。

傳輸層安全標準 (TLS) 模式「ECDHE ECDSA 搭配 AES 128 CCM 8」,確保 BLE 安全無虞。

詳細說明
參數
[in] aInstance
指向 OpenThread 執行個體的指標。
[in] aX509CaCertificateChain
指向 PEM 格式的 X509 CA 鏈結指標。
[in] aX509CaCertChainLength
鏈結的長度。

otBleSecureSetCertificate

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

為本機裝置的 X509 憑證設定與 TLS_ECDHE_ECDSA_WITH_AES_128_CCM_8 的 TLS 工作階段對應的私密金鑰。

詳細說明
參數
[in] aInstance
指向 OpenThread 執行個體的指標。
[in] aX509Cert
指向 PEM 格式的 X509 憑證的指標。
[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 模式時,系統會在收到完整的 TLV 且訊息偏移指向 TLV 值時呼叫 aReceiveHandler 函式。

詳細說明
參數
[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 安全伺服器。

詳細說明
參數
[in] aInstance
指向 OpenThread 執行個體的指標。

otBleSecureTcatStart

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

透過 BLE Secure 啟用 TCAT 通訊協定。

詳細說明
參數
[in] aInstance
指向 OpenThread 執行個體的指標。
[in] aVendorInfo
供應商資訊的指標 (必須在方法呼叫後保持有效,可以是 NULL)。
[in] aHandler
彙整作業完成時呼叫的函式指標。
傳回值
OT_ERROR_NONE
已成功啟動 BLE 安全彙整者角色。
OT_ERROR_INVALID_ARGS
aElevationPskaVendorInfo 無效。
OT_ERROR_INVALID_STATE
未啟動 BLE 函式或未選取線條模式。

巨集

OT_TCAT_MAX_SERVICE_NAME_LENGTH

 OT_TCAT_MAX_SERVICE_NAME_LENGTH 15

UDP 或 TCP 服務名稱的字串長度上限 (不含空值字元)。

資源

OpenThread API 參考資料主題源自原始碼,請前往 GitHub 取得。如要瞭解詳情或對說明文件做出貢獻,請參閱資源