BLE セキュア

このモジュールには、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 ステータス コードを表します。

Typedef

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)
ピア x509 証明書を base64 でエンコードして返します。
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)
OID 1.3.6.1.4.1.44970.x の属性値を、自身の x509 証明書の v3 拡張から返します。最後の桁の 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 アプリケーション データ送信 TLV を含むセキュア BLE データパケットを送信します。
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 セキュア サービスを開始します。
otBleSecureStop(otInstance *aInstance)
void
BLE Secure サーバーを停止します。
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 の値にエラーがあります。

Typedef

otHandleBleSecureConnect

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

安全な接続状態が変更されたときに呼び出すポインタ。

詳細
パラメータ
[in] aInstance
OpenThread インスタンスへのポインタ。
[in] aConnected
安全な接続が確立されている場合は TRUE、そうでない場合は FALSE。
[in] aBleConnectionOpen
TLS データ ストリームを伝送するために BLE 接続が確立されている場合は 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
)

ピア 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
)

ピア x509 証明書のサブジェクトから OID で識別される属性値を返します。

ピア 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 の属性値を、自身の x509 証明書の v3 拡張から返します。最後の桁の x は aThreadOidDescriptor に設定されています。

属性の長さは、属性が正常に読み取られた場合に設定され、失敗した場合はゼロに設定されます。接続がアクティブである必要があります。

詳細
パラメータ
[in] aInstance
OpenThread インスタンスへのポインタ。
[in] aThreadOidDescriptor
スレッド属性 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
スレッド属性 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 アプリケーション データ送信 TLV を含むセキュア BLE データパケットを送信します。

詳細
パラメータ
[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 を設定します。

ピアの証明書を検証するために必要です。

安全な BLE のための TLS モード「ECDHE ECDSA with AES 128 CCM 8」。

詳細
パラメータ
[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 の ID 名。
[in] aPskIdLength
PSK ID の長さ。

otBleSecureSetSslAuthMode

void otBleSecureSetSslAuthMode(
  otInstance *aInstance,
  bool aVerifyPeerCertificate
)

BLE セキュア接続の認証モードを設定します。

ピア証明書の検証を無効または有効にします。開始前に呼び出す必要があります。

詳細
パラメータ
[in] aInstance
OpenThread インスタンスへのポインタ。
[in] aVerifyPeerCertificate
true。ピア証明書を検証します。

otBleSecureStart

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

BLE セキュア サービスを開始します。

TLV モードがアクティブな場合は、完全な TLV を受信し、メッセージ オフセットが TLV 値をポイントすると、関数 aReceiveHandler が呼び出されます。

詳細
パラメータ
[in] aInstance
OpenThread インスタンスへのポインタ。
[in] aConnectHandler
接続状態が変化したときに呼び出される関数へのポインタ。
[in] aReceiveHandler
TLS 接続を介してデータが受信されると呼び出される関数へのポインタ。
[in] aTlvMode
ラインモードを有効にするかどうかを示すブール値。
[in] aContext
任意のコンテキスト情報へのポインタ。使用しない場合は NULL になります。
戻り値
OT_ERROR_NONE
BLE セキュア サーバーを起動しました。
OT_ERROR_ALREADY
サービスはすでに明記されています。

otBleSecureStop

void otBleSecureStop(
  otInstance *aInstance
)

BLE Secure サーバーを停止します。

詳細
パラメータ
[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 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 サービス名の文字列の最大長(null は含みません)。

関連情報

OpenThread API リファレンスのトピックは、GitHub で入手できるソースコードに由来しています。 詳細について、またはドキュメントへの投稿については、リソースをご覧ください。