BLE Aman

Modul ini mencakup fungsi yang mengontrol komunikasi BLE Secure (TLS melalui BLE).

Ringkasan

Modul ini mencakup fungsi yang mengimplementasikan komunikasi TCAT.

Fungsi dalam modul ini tersedia saat fitur BLE Secure API (OPENTHREAD_CONFIG_BLE_TCAT_ENABLE) diaktifkan.

Fungsi dalam modul ini tersedia saat fitur TCAT (OPENTHREAD_CONFIG_BLE_TCAT_ENABLE) diaktifkan.

Enumerasi

otTcatApplicationProtocol{
  OT_TCAT_APPLICATION_PROTOCOL_NONE = 0,
  OT_TCAT_APPLICATION_PROTOCOL_STATUS = 1,
  OT_TCAT_APPLICATION_PROTOCOL_TCP = 2
}
enum
Mewakili protokol aplikasi 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
Mewakili class perintah 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
Mewakili kode status TCAT.

Typedef

otHandleBleSecureConnect)(otInstance *aInstance, bool aConnected, bool aBleConnectionOpen, void *aContext) typedef
void(*
Pointer yang akan dipanggil saat status koneksi aman berubah.
otHandleBleSecureReceive typedef
Pointer yang akan dipanggil saat data diterima melalui koneksi TLS Aman BLE.
otHandleTcatApplicationDataReceive)(otInstance *aInstance, const otMessage *aMessage, int32_t aOffset, otTcatApplicationProtocol aTcatApplicationProtocol, const char *aServiceName, void *aContext) typedef
void(*
Pointer yang akan dipanggil saat data aplikasi diterima melalui koneksi TLS TCAT.
otHandleTcatJoin)(otError aError, void *aContext) typedef
void(*
Pointer panggilan untuk memberi tahu penyelesaian operasi gabungan.
otTcatApplicationProtocol typedef
Mewakili protokol aplikasi TCAT.
otTcatCommandClass typedef
Mewakili class perintah TCAT.
otTcatStatusCode typedef
Mewakili kode status TCAT.
otTcatVendorInfo typedef
Struktur ini mewakili informasi vendor TCAT.

Fungsi

otBleSecureConnect(otInstance *aInstance)
Menginisialisasi sesi TLS dengan peer menggunakan koneksi BLE yang sudah terbuka.
otBleSecureDisconnect(otInstance *aInstance)
void
Menghentikan koneksi BLE dan TLS.
otBleSecureFlush(otInstance *aInstance)
Menghapus buffering pengiriman.
otBleSecureGetPeerCertificateBase64(otInstance *aInstance, unsigned char *aPeerCert, size_t *aCertLength)
Menampilkan sertifikat peer x509 yang dienkode base64.
otBleSecureGetPeerSubjectAttributeByOid(otInstance *aInstance, const char *aOid, size_t aOidLength, uint8_t *aAttributeBuffer, size_t *aAttributeLength, int *aAsn1Type)
Menampilkan nilai atribut yang diidentifikasi oleh OID-nya dari subjek sertifikat x509 pembanding.
otBleSecureGetThreadAttributeFromOwnCertificate(otInstance *aInstance, int aThreadOidDescriptor, uint8_t *aAttributeBuffer, size_t *aAttributeLength)
Menampilkan nilai atribut untuk OID 1.3.6.1.4.1.44970.x dari ekstensi v3 sertifikat x509 sendiri, dengan digit terakhir x ditetapkan ke aThreadOidDescriptor.
otBleSecureGetThreadAttributeFromPeerCertificate(otInstance *aInstance, int aThreadOidDescriptor, uint8_t *aAttributeBuffer, size_t *aAttributeLength)
Menampilkan nilai atribut untuk OID 1.3.6.1.4.1.44970.x dari ekstensi v3 sertifikat x509 pembanding, dengan digit terakhir x ditetapkan ke aThreadOidDescriptor.
otBleSecureIsCommandClassAuthorized(otInstance *aInstance, otTcatCommandClass aCommandClass)
bool
Menunjukkan apakah class perintah TCAT diberi otorisasi atau tidak.
otBleSecureIsConnected(otInstance *aInstance)
bool
Menunjukkan apakah sesi TLS terhubung atau tidak.
otBleSecureIsConnectionActive(otInstance *aInstance)
bool
Menunjukkan apakah sesi TLS aktif (terhubung atau terhubung).
otBleSecureIsTcatEnabled(otInstance *aInstance)
bool
Menunjukkan apakah agen TCAT diaktifkan atau tidak.
otBleSecureSend(otInstance *aInstance, uint8_t *aBuf, uint16_t aLength)
Mengirim paket data BLE yang aman.
otBleSecureSendApplicationTlv(otInstance *aInstance, uint8_t *aBuf, uint16_t aLength)
Mengirim paket data BLE aman yang berisi TLV Data Aplikasi Kirim TCAT.
otBleSecureSendMessage(otInstance *aInstance, otMessage *aMessage)
Mengirim pesan BLE yang aman.
otBleSecureSetCaCertificateChain(otInstance *aInstance, const uint8_t *aX509CaCertificateChain, uint32_t aX509CaCertChainLength)
void
Menetapkan CA tingkat atas tepercaya.
otBleSecureSetCertificate(otInstance *aInstance, const uint8_t *aX509Cert, uint32_t aX509Length, const uint8_t *aPrivateKey, uint32_t aPrivateKeyLength)
void
Menyetel sertifikat X509 perangkat lokal dengan kunci pribadi yang sesuai untuk sesi TLS dengan 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
Menetapkan Pre-Shared Key (PSK) dan cipher suite TLS_PSK_WITH_AES_128_CCM_8.
otBleSecureSetSslAuthMode(otInstance *aInstance, bool aVerifyPeerCertificate)
void
Menetapkan mode autentikasi untuk koneksi aman BLE.
otBleSecureStart(otInstance *aInstance, otHandleBleSecureConnect aConnectHandler, otHandleBleSecureReceive aReceiveHandler, bool aTlvMode, void *aContext)
Memulai layanan BLE Secure.
otBleSecureStop(otInstance *aInstance)
void
Menghentikan server BLE Secure.
otBleSecureTcatStart(otInstance *aInstance, const otTcatVendorInfo *aVendorInfo, otHandleTcatJoin aHandler)
Mengaktifkan protokol TCAT melalui BLE Secure.

Struct

otTcatVendorInfo

Struktur ini mewakili informasi vendor TCAT.

Enumerasi

otTcatApplicationProtocol

 otTcatApplicationProtocol

Mewakili protokol aplikasi TCAT.

Properti
OT_TCAT_APPLICATION_PROTOCOL_NONE

Pesan yang telah dikirim tanpa mengaktifkan agen TCAT.

OT_TCAT_APPLICATION_PROTOCOL_STATUS

Pesan diarahkan ke layanan UDP.

OT_TCAT_APPLICATION_PROTOCOL_TCP

Pesan diarahkan ke layanan TCP.

otTcatCommandClass

 otTcatCommandClass

Mewakili class perintah TCAT.

Properti
OT_TCAT_COMMAND_CLASS_APPLICATION

Perintah TCAT yang terkait dengan lapisan aplikasi.

OT_TCAT_COMMAND_CLASS_COMMISSIONING

Perintah TCAT yang terkait dengan commissioning.

OT_TCAT_COMMAND_CLASS_DECOMMISSIONING

Perintah TCAT yang terkait dengan penonaktifan.

OT_TCAT_COMMAND_CLASS_EXTRACTION

Perintah TCAT yang terkait dengan ekstraksi kunci.

OT_TCAT_COMMAND_CLASS_GENERAL

Perintah TCAT yang berkaitan dengan operasi umum.

otTcatStatusCode

 otTcatStatusCode

Mewakili kode status TCAT.

Properti
OT_TCAT_STATUS_BUSY

Perintah tidak dapat dijalankan karena sumber daya sibuk.

OT_TCAT_STATUS_GENERAL_ERROR

Terjadi error yang tidak cocok dengan kategori lainnya.

OT_TCAT_STATUS_HASH_ERROR

Nilai hash yang diberikan oleh komisioner salah.

OT_TCAT_STATUS_PARSE_ERROR

Permintaan / perintah tidak dapat diurai dengan benar.

OT_TCAT_STATUS_SUCCESS

Perintah atau permintaan berhasil diproses.

OT_TCAT_STATUS_UNAUTHORIZED

Pengirim tidak memiliki otorisasi yang memadai untuk perintah yang diberikan.

OT_TCAT_STATUS_UNDEFINED

Nilai, data, atau layanan yang diminta tidak didefinisikan (saat ini) atau tidak ada.

OT_TCAT_STATUS_UNSUPPORTED

Perintah yang diminta atau TLV yang diterima tidak didukung.

OT_TCAT_STATUS_VALUE_ERROR

Nilai TLV yang ditransmisikan mengalami error.

Typedef

otHandleBleSecureConnect

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

Pointer yang akan dipanggil saat status koneksi aman berubah.

Detail
Parameter
[in] aInstance
Pointer ke instance OpenThread.
[in] aConnected
TRUE, jika koneksi aman tersambung, FALSE jika sebaliknya.
[in] aBleConnectionOpen
TRUE jika koneksi BLE dibuat untuk membawa aliran data TLS, FALSE jika tidak.
[in] aContext
Pointer ke informasi konteks arbitrer.

otHandleBleSecureReceive

otHandleTcatApplicationDataReceive otHandleBleSecureReceive

Pointer yang akan dipanggil saat data diterima melalui koneksi TLS Aman BLE.

otHandleTcatApplicationDataReceive

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

Pointer yang akan dipanggil saat data aplikasi diterima melalui koneksi TLS TCAT.

Detail
Parameter
[in] aInstance
Pointer ke instance OpenThread.
[in] aMessage
Pointer ke pesan.
[in] aOffset
Offset tempat data aplikasi dimulai.
[in] aTcatApplicationProtocol
Jenis protokol pesan yang diterima.
[in] aServiceName
Nama layanan yang menjadi tujuan pesan.
[in] aContext
Pointer ke informasi konteks arbitrer.

otHandleTcatJoin

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

Pointer panggilan untuk memberi tahu penyelesaian operasi gabungan.

Detail
Parameter
[in] aError
OT_ERROR_NONE jika proses bergabung berhasil. OT_ERROR_ERROR jika proses penggabungan gagal karena kredensial keamanan.
[in] aContext
Pointer ke informasi konteks arbitrer.

otTcatApplicationProtocol

enum otTcatApplicationProtocol otTcatApplicationProtocol

Mewakili protokol aplikasi TCAT.

otTcatCommandClass

enum otTcatCommandClass otTcatCommandClass

Mewakili class perintah TCAT.

otTcatStatusCode

enum otTcatStatusCode otTcatStatusCode

Mewakili kode status TCAT.

otTcatVendorInfo

struct otTcatVendorInfo otTcatVendorInfo

Struktur ini mewakili informasi vendor TCAT.

Konten struktur ini HARUS dipertahankan dan tidak berubah selama sesi TCAT berjalan.

Fungsi

otBleSecureConnect

otError otBleSecureConnect(
  otInstance *aInstance
)

Menginisialisasi sesi TLS dengan peer menggunakan koneksi BLE yang sudah terbuka.

Detail
Parameter
[in] aInstance
Pointer ke instance OpenThread.
Nilai Pengembalian
OT_ERROR_NONE
Berhasil memulai koneksi TLS.

otBleSecureDisconnect

void otBleSecureDisconnect(
  otInstance *aInstance
)

Menghentikan koneksi BLE dan TLS.

Detail
Parameter
[in] aInstance
Pointer ke instance OpenThread.

otBleSecureFlush

otError otBleSecureFlush(
  otInstance *aInstance
)

Menghapus buffering pengiriman.

Detail
Parameter
[in] aInstance
Pointer ke instance OpenThread.
Nilai Pengembalian
OT_ERROR_NONE
Berhasil menghapus buffering output.
OT_ERROR_NO_BUFS
Gagal mengalokasikan memori buffer.
OT_ERROR_INVALID_STATE
Koneksi TLS tidak diinisialisasi.

otBleSecureGetPeerCertificateBase64

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

Menampilkan sertifikat peer x509 yang dienkode base64.

Detail
Parameter
[in] aInstance
Pointer ke instance OpenThread.
[out] aPeerCert
Pointer ke buffering sertifikat berenkode base64.
[in,out] aCertLength
Pada input, ukuran adalah ukuran maksimum aPeerCert. Pada output, panjang sertifikat peer yang dienkode base64.
Nilai Pengembalian
OT_ERROR_NONE
Berhasil mendapatkan sertifikat peer.
OT_ERROR_INVALID_ARGS
aInstance atau aCertLength tidak valid.
OT_ERROR_INVALID_STATE
Belum terhubung.
OT_ERROR_NO_BUFS
Tidak dapat mengalokasikan memori untuk sertifikat.

otBleSecureGetPeerSubjectAttributeByOid

otError otBleSecureGetPeerSubjectAttributeByOid(
  otInstance *aInstance,
  const char *aOid,
  size_t aOidLength,
  uint8_t *aAttributeBuffer,
  size_t *aAttributeLength,
  int *aAsn1Type
)

Menampilkan nilai atribut yang diidentifikasi oleh OID-nya dari subjek sertifikat x509 pembanding.

OID peer disediakan dalam format biner. Panjang atribut ditetapkan jika atribut berhasil dibaca atau nol jika tidak berhasil. Tipe ASN.1 sebagaimana ditetapkan sebagaimana didefinisikan dalam standar ITU-T X.690 jika atribut berhasil dibaca.

Detail
Parameter
[in] aInstance
Pointer ke instance OpenThread.
[in] aOid
Pointer ke OID yang akan ditemukan.
[in] aOidLength
Panjang OID.
[out] aAttributeBuffer
Pointer ke buffering atribut.
[in,out] aAttributeLength
Pada input, ukuran adalah ukuran maksimum aAttributeBuffer. Pada output, panjang atribut yang ditulis ke buffer.
[out] aAsn1Type
Pointer ke jenis atribut ASN.1 yang ditulis ke buffer.
Nilai Pengembalian
OT_ERROR_INVALID_STATE
Belum terhubung.
OT_ERROR_INVALID_ARGS
Panjang atribut tidak valid.
OT_ERROR_NONE
Berhasil membaca atribut.
OT_ERROR_NO_BUFS
Memori tidak cukup untuk menyimpan nilai atribut.

otBleSecureGetThreadAttributeFromOwnCertificate

otError otBleSecureGetThreadAttributeFromOwnCertificate(
  otInstance *aInstance,
  int aThreadOidDescriptor,
  uint8_t *aAttributeBuffer,
  size_t *aAttributeLength
)

Menampilkan nilai atribut untuk OID 1.3.6.1.4.1.44970.x dari ekstensi v3 sertifikat x509 sendiri, dengan digit terakhir x ditetapkan ke aThreadOidDescriptor.

Panjang atribut ditetapkan jika atribut berhasil dibaca atau nol jika tidak berhasil. Memerlukan koneksi agar aktif.

Detail
Parameter
[in] aInstance
Pointer ke instance OpenThread.
[in] aThreadOidDescriptor
Digit terakhir OID atribut Thread.
[out] aAttributeBuffer
Pointer ke buffering atribut.
[in,out] aAttributeLength
Pada input, ukuran adalah ukuran maksimum aAttributeBuffer. Pada output, panjang atribut yang ditulis ke buffer.
Nilai Pengembalian
OT_ERROR_NONE
Berhasil membaca atribut.
OT_ERROR_INVALID_ARGS
Panjang atribut tidak valid.
OT_NOT_FOUND
Atribut yang diminta tidak ditemukan.
OT_ERROR_NO_BUFS
Memori tidak cukup untuk menyimpan nilai atribut.
OT_ERROR_INVALID_STATE
Belum terhubung.
OT_ERROR_NOT_IMPLEMENTED
Nilai aThreadOidDescriptor adalah >127.
OT_ERROR_PARSE
Ekstensi sertifikat tidak dapat diurai.

otBleSecureGetThreadAttributeFromPeerCertificate

otError otBleSecureGetThreadAttributeFromPeerCertificate(
  otInstance *aInstance,
  int aThreadOidDescriptor,
  uint8_t *aAttributeBuffer,
  size_t *aAttributeLength
)

Menampilkan nilai atribut untuk OID 1.3.6.1.4.1.44970.x dari ekstensi v3 sertifikat x509 pembanding, dengan digit terakhir x ditetapkan ke aThreadOidDescriptor.

Panjang atribut ditetapkan jika atribut berhasil dibaca atau nol jika tidak berhasil. Memerlukan koneksi agar aktif.

Detail
Parameter
[in] aInstance
Pointer ke instance OpenThread.
[in] aThreadOidDescriptor
Digit terakhir OID atribut Thread.
[out] aAttributeBuffer
Pointer ke buffering atribut.
[in,out] aAttributeLength
Pada input, ukuran adalah ukuran maksimum aAttributeBuffer. Pada output, panjang atribut yang ditulis ke buffer.
Nilai Pengembalian
OT_ERROR_NONE
Berhasil membaca atribut.
OT_ERROR_INVALID_ARGS
Panjang atribut tidak valid.
OT_NOT_FOUND
Atribut yang diminta tidak ditemukan.
OT_ERROR_NO_BUFS
Memori tidak cukup untuk menyimpan nilai atribut.
OT_ERROR_INVALID_STATE
Belum terhubung.
OT_ERROR_NOT_IMPLEMENTED
Nilai aThreadOidDescriptor adalah >127.
OT_ERROR_PARSE
Ekstensi sertifikat tidak dapat diurai.

otBleSecureIsCommandClassAuthorized

bool otBleSecureIsCommandClassAuthorized(
  otInstance *aInstance,
  otTcatCommandClass aCommandClass
)

Menunjukkan apakah class perintah TCAT diberi otorisasi atau tidak.

Detail
Parameter
[in] aInstance
Pointer ke instance OpenThread.
[in] aCommandClass
Class perintah yang akan diperiksa.
Nilai Pengembalian
TRUE
Class perintah diotorisasi.
FALSE
Class perintah tidak diotorisasi.

otBleSecureIsConnected

bool otBleSecureIsConnected(
  otInstance *aInstance
)

Menunjukkan apakah sesi TLS terhubung atau tidak.

Detail
Parameter
[in] aInstance
Pointer ke instance OpenThread.
Nilai Pengembalian
TRUE
Sesi TLS tersambung.
FALSE
Sesi TLS tidak tersambung.

otBleSecureIsConnectionActive

bool otBleSecureIsConnectionActive(
  otInstance *aInstance
)

Menunjukkan apakah sesi TLS aktif (terhubung atau terhubung).

Detail
Parameter
[in] aInstance
Pointer ke instance OpenThread.
Nilai Pengembalian
TRUE
Jika sesi TLS aktif.
FALSE
Jika sesi TLS tidak aktif.

otBleSecureIsTcatEnabled

bool otBleSecureIsTcatEnabled(
  otInstance *aInstance
)

Menunjukkan apakah agen TCAT diaktifkan atau tidak.

Detail
Nilai Pengembalian
TRUE
Agen TCAT diaktifkan.
FALSE
Agen TCAT tidak diaktifkan.

otBleSecureSend

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

Mengirim paket data BLE yang aman.

Detail
Parameter
[in] aInstance
Pointer ke instance OpenThread.
[in] aBuf
Penunjuk ke data yang akan dikirim sebagai Nilai TLV Data Aplikasi Kirim TCAT.
[in] aLength
Angka yang menunjukkan panjang buffer data.
Nilai Pengembalian
OT_ERROR_NONE
Berhasil mengirim data.
OT_ERROR_NO_BUFS
Gagal mengalokasikan memori buffer.
OT_ERROR_INVALID_STATE
Koneksi TLS tidak diinisialisasi.

otBleSecureSendApplicationTlv

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

Mengirim paket data BLE aman yang berisi TLV Data Aplikasi Kirim TCAT.

Detail
Parameter
[in] aInstance
Pointer ke instance OpenThread.
[in] aBuf
Penunjuk ke data yang akan dikirim sebagai Nilai TLV Data Aplikasi Kirim TCAT.
[in] aLength
Angka yang menunjukkan panjang buffer data.
Nilai Pengembalian
OT_ERROR_NONE
Berhasil mengirim data.
OT_ERROR_NO_BUFS
Gagal mengalokasikan memori buffer.
OT_ERROR_INVALID_STATE
Koneksi TLS tidak diinisialisasi.

otBleSecureSendMessage

otError otBleSecureSendMessage(
  otInstance *aInstance,
  otMessage *aMessage
)

Mengirim pesan BLE yang aman.

Jika nilai yang ditampilkan adalah OT_ERROR_NONE, OpenThread akan mengambil alih kepemilikan aMessage, dan pemanggil tidak boleh lagi merujuk aMessage. Jika nilai yang ditampilkan bukan OT_ERROR_NONE, pemanggil mempertahankan kepemilikan aMessage, termasuk membebaskan aMessage jika buffering pesan tidak lagi diperlukan.

Detail
Parameter
[in] aInstance
Pointer ke instance OpenThread.
[in] aMessage
Pointer ke pesan yang akan dikirim.

Detail
Nilai Pengembalian
OT_ERROR_NONE
Berhasil mengirim pesan.
OT_ERROR_NO_BUFS
Gagal mengalokasikan memori buffer.
OT_ERROR_INVALID_STATE
Koneksi TLS tidak diinisialisasi.

otBleSecureSetCaCertificateChain

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

Menetapkan CA tingkat atas tepercaya.

Diperlukan untuk memvalidasi sertifikat pembanding.

Mode TLS "ECDHE ECDSA dengan AES 128 CCM 8" untuk BLE aman.

Detail
Parameter
[in] aInstance
Pointer ke instance OpenThread.
[in] aX509CaCertificateChain
Pointer ke rantai CA X509 berformat PEM.
[in] aX509CaCertChainLength
Panjang rantai.

otBleSecureSetCertificate

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

Menyetel sertifikat X509 perangkat lokal dengan kunci pribadi yang sesuai untuk sesi TLS dengan TLS_ECDHE_ECDSA_WITH_AES_128_CCM_8.

Detail
Parameter
[in] aInstance
Pointer ke instance OpenThread.
[in] aX509Cert
Pointer ke sertifikat X509 berformat PEM.
[in] aX509Length
Panjang sertifikat.
[in] aPrivateKey
Pointer ke kunci pribadi berformat PEM.
[in] aPrivateKeyLength
Panjang kunci pribadi.

otBleSecureSetPsk

void otBleSecureSetPsk(
  otInstance *aInstance,
  const uint8_t *aPsk,
  uint16_t aPskLength,
  const uint8_t *aPskIdentity,
  uint16_t aPskIdLength
)

Menetapkan Pre-Shared Key (PSK) dan cipher suite TLS_PSK_WITH_AES_128_CCM_8.

Detail
Parameter
[in] aInstance
Pointer ke instance OpenThread.
[in] aPsk
Pointer ke PSK.
[in] aPskLength
Durasi PSK.
[in] aPskIdentity
Nama Identitas untuk PSK.
[in] aPskIdLength
Durasi Identitas PSK.

otBleSecureSetSslAuthMode

void otBleSecureSetSslAuthMode(
  otInstance *aInstance,
  bool aVerifyPeerCertificate
)

Menetapkan mode autentikasi untuk koneksi aman BLE.

Menonaktifkan atau mengaktifkan verifikasi sertifikat pembanding. Harus dipanggil sebelum memulai.

Detail
Parameter
[in] aInstance
Pointer ke instance OpenThread.
[in] aVerifyPeerCertificate
true, untuk memverifikasi sertifikat {i>peer<i}.

otBleSecureStart

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

Memulai layanan BLE Secure.

Saat mode TLV aktif, fungsi aReceiveHandler akan dipanggil setelah TLV lengkap diterima dan offset pesan mengarah ke nilai TLV.

Detail
Parameter
[in] aInstance
Pointer ke instance OpenThread.
[in] aConnectHandler
Pointer ke fungsi yang akan dipanggil saat status koneksi berubah.
[in] aReceiveHandler
Pointer ke fungsi yang akan dipanggil setelah data diterima melalui koneksi TLS.
[in] aTlvMode
Nilai boolean yang menunjukkan apakah mode garis harus diaktifkan.
[in] aContext
Pointer ke informasi konteks arbitrer. Mungkin NULL jika tidak digunakan.
Nilai Pengembalian
OT_ERROR_NONE
Berhasil memulai server BLE Secure.
OT_ERROR_ALREADY
Layanan sudah dinyatakan.

otBleSecureStop

void otBleSecureStop(
  otInstance *aInstance
)

Menghentikan server BLE Secure.

Detail
Parameter
[in] aInstance
Pointer ke instance OpenThread.

otBleSecureTcatStart

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

Mengaktifkan protokol TCAT melalui BLE Secure.

Detail
Parameter
[in] aInstance
Pointer ke instance OpenThread.
[in] aVendorInfo
Pointer ke Informasi Vendor (harus tetap valid setelah panggilan metode, mungkin NULL).
[in] aHandler
Pointer ke fungsi yang dipanggil saat operasi join selesai.
Nilai Pengembalian
OT_ERROR_NONE
Berhasil memulai peran BLE Secure Joiner.
OT_ERROR_INVALID_ARGS
aElevationPsk atau aVendorInfo tidak valid.
OT_ERROR_INVALID_STATE
Fungsi BLE belum dimulai atau mode baris tidak dipilih.

Makro

OT_TCAT_MAX_SERVICE_NAME_LENGTH

 OT_TCAT_MAX_SERVICE_NAME_LENGTH 15

Panjang string maksimum nama layanan UDP atau TCP (tidak termasuk karakter null).

Referensi

Topik Referensi OpenThread API berasal dari kode sumber yang tersedia di GitHub. Untuk informasi selengkapnya, atau untuk berkontribusi pada dokumentasi kami, lihat Referensi.