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{
|
enum Mewakili protokol aplikasi TCAT. |
otTcatCommandClass{
|
enum Mewakili class perintah TCAT. |
otTcatStatusCode{
|
enum Mewakili kode status TCAT. |
Typedef |
|
---|---|
otHandleBleSecureConnect)(otInstance *aInstance, bool aConnected, bool aBleConnectionOpen, void *aContext)
|
typedefvoid(*
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)
|
typedefvoid(*
Pointer yang akan dipanggil saat data aplikasi diterima melalui koneksi TLS TCAT. |
otHandleTcatJoin)(otError aError, void *aContext)
|
typedefvoid(*
Pointer panggilan untuk memberi tahu penyelesaian operasi gabungan. |
otTcatApplicationProtocol
|
typedef Mewakili protokol aplikasi TCAT. |
otTcatCommandClass
|
typedefenum otTcatCommandClass
Mewakili class perintah TCAT. |
otTcatStatusCode
|
typedefenum otTcatStatusCode
Mewakili kode status TCAT. |
otTcatVendorInfo
|
typedefstruct otTcatVendorInfo
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 |
|
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 |
|
otHandleTcatJoin
void(* otHandleTcatJoin)(otError aError, void *aContext)
Pointer panggilan untuk memberi tahu penyelesaian operasi gabungan.
Detail | |||||
---|---|---|---|---|---|
Parameter |
|
otTcatApplicationProtocol
enum otTcatApplicationProtocol otTcatApplicationProtocol
Mewakili protokol aplikasi 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 |
|
||
Nilai Pengembalian |
|
otBleSecureDisconnect
void otBleSecureDisconnect( otInstance *aInstance )
Menghentikan koneksi BLE dan TLS.
Detail | |||
---|---|---|---|
Parameter |
|
otBleSecureFlush
otError otBleSecureFlush( otInstance *aInstance )
Menghapus buffering pengiriman.
Detail | |||||||
---|---|---|---|---|---|---|---|
Parameter |
|
||||||
Nilai Pengembalian |
|
otBleSecureGetPeerCertificateBase64
otError otBleSecureGetPeerCertificateBase64( otInstance *aInstance, unsigned char *aPeerCert, size_t *aCertLength )
Menampilkan sertifikat peer x509 yang dienkode base64.
Detail | |||||||||
---|---|---|---|---|---|---|---|---|---|
Parameter |
|
||||||||
Nilai Pengembalian |
|
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 |
|
||||||||||||
Nilai Pengembalian |
|
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 |
|
||||||||||||||
Nilai Pengembalian |
|
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 |
|
||||||||||||||
Nilai Pengembalian |
|
otBleSecureIsCommandClassAuthorized
bool otBleSecureIsCommandClassAuthorized( otInstance *aInstance, otTcatCommandClass aCommandClass )
Menunjukkan apakah class perintah TCAT diberi otorisasi atau tidak.
Detail | |||||
---|---|---|---|---|---|
Parameter |
|
||||
Nilai Pengembalian |
|
otBleSecureIsConnected
bool otBleSecureIsConnected( otInstance *aInstance )
Menunjukkan apakah sesi TLS terhubung atau tidak.
Detail | |||||
---|---|---|---|---|---|
Parameter |
|
||||
Nilai Pengembalian |
|
otBleSecureIsConnectionActive
bool otBleSecureIsConnectionActive( otInstance *aInstance )
Menunjukkan apakah sesi TLS aktif (terhubung atau terhubung).
Detail | |||||
---|---|---|---|---|---|
Parameter |
|
||||
Nilai Pengembalian |
|
otBleSecureIsTcatEnabled
bool otBleSecureIsTcatEnabled( otInstance *aInstance )
Menunjukkan apakah agen TCAT diaktifkan atau tidak.
Detail | |||||
---|---|---|---|---|---|
Nilai Pengembalian |
|
otBleSecureSend
otError otBleSecureSend( otInstance *aInstance, uint8_t *aBuf, uint16_t aLength )
Mengirim paket data BLE yang aman.
Detail | |||||||
---|---|---|---|---|---|---|---|
Parameter |
|
||||||
Nilai Pengembalian |
|
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 |
|
||||||
Nilai Pengembalian |
|
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 |
|
Detail | |||||||
---|---|---|---|---|---|---|---|
Nilai Pengembalian |
|
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 |
|
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 |
|
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 |
|
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 |
|
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 |
|
||||||||||
Nilai Pengembalian |
|
otBleSecureStop
void otBleSecureStop( otInstance *aInstance )
Menghentikan server BLE Secure.
Detail | |||
---|---|---|---|
Parameter |
|
otBleSecureTcatStart
otError otBleSecureTcatStart( otInstance *aInstance, const otTcatVendorInfo *aVendorInfo, otHandleTcatJoin aHandler )
Mengaktifkan protokol TCAT melalui BLE Secure.
Detail | |||||||
---|---|---|---|---|---|---|---|
Parameter |
|
||||||
Nilai Pengembalian |
|
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.