BDE Güvenli
Bu modül, BLE Secure (BLE üzerinden TLS) iletişimini kontrol eden işlevler içerir.
Özet
Bu modül, TCAT iletişimini uygulayan işlevler içerir.
Bu modüldeki işlevler, BLE Secure API özelliği (OPENTHREAD_CONFIG_BLE_TCAT_ENABLE
) etkinleştirildiğinde kullanılabilir.
Bu modüldeki işlevler, TCAT özelliği (OPENTHREAD_CONFIG_BLE_TCAT_ENABLE
) etkinleştirildiğinde kullanılabilir.
Sıralamalar |
|
---|---|
otTcatApplicationProtocol{
|
enum TCAT uygulama protokolünü temsil eder. |
otTcatCommandClass{
|
enum TCAT komut sınıfını temsil eder. |
otTcatStatusCode{
|
enum TCAT durum kodunu temsil eder. |
Türdefler |
|
---|---|
otHandleBleSecureConnect)(otInstance *aInstance, bool aConnected, bool aBleConnectionOpen, void *aContext)
|
typedefvoid(*
Güvenli bağlantı durumu değiştiğinde çağrılacak işaretçi. |
otHandleBleSecureReceive
|
typedef BLE Güvenli TLS bağlantısı üzerinden veri alındığında çağrı yapılacak işaretçi. |
otHandleTcatApplicationDataReceive)(otInstance *aInstance, const otMessage *aMessage, int32_t aOffset, otTcatApplicationProtocol aTcatApplicationProtocol, const char *aServiceName, void *aContext)
|
typedefvoid(*
TCAT TLS bağlantısı üzerinden uygulama verileri alındığında çağrılacak işaretçi. |
otHandleTcatJoin)(otError aError, void *aContext)
|
typedefvoid(*
Bir birleştirme işleminin tamamlandığını bildirmek için aranacak işaretçi. |
otTcatApplicationProtocol
|
typedef TCAT uygulama protokolünü temsil eder. |
otTcatCommandClass
|
typedefenum otTcatCommandClass
TCAT komut sınıfını temsil eder. |
otTcatStatusCode
|
typedefenum otTcatStatusCode
TCAT durum kodunu temsil eder. |
otTcatVendorInfo
|
typedefstruct otTcatVendorInfo
Bu yapı, TCAT tedarikçi bilgilerini temsil eder. |
İşlevler |
|
---|---|
otBleSecureConnect(otInstance *aInstance)
|
Zaten açık bir BDE bağlantısı kullanan bir eşle TLS oturumunu başlatır.
|
otBleSecureDisconnect(otInstance *aInstance)
|
void
BDE ve TLS bağlantısını durdurur.
|
otBleSecureFlush(otInstance *aInstance)
|
Gönderme arabelleğini boşaltır.
|
otBleSecureGetPeerCertificateBase64(otInstance *aInstance, unsigned char *aPeerCert, size_t *aCertLength)
|
Kodlanmış olarak base64 eş x509 sertifikasını döndürür.
|
otBleSecureGetPeerSubjectAttributeByOid(otInstance *aInstance, const char *aOid, size_t aOidLength, uint8_t *aAttributeBuffer, size_t *aAttributeLength, int *aAsn1Type)
|
Eş x509 sertifikasının konusundan OID'si ile tanımlanan bir özellik değeri döndürür.
|
otBleSecureGetThreadAttributeFromOwnCertificate(otInstance *aInstance, int aThreadOidDescriptor, uint8_t *aAttributeBuffer, size_t *aAttributeLength)
|
Kendi x509 sertifikasının v3 uzantılarından OID 1.3.6.1.4.1.44970.x için bir özellik değeri döndürür (son x rakamı aThreadOidDescriptor olarak ayarlanır).
|
otBleSecureGetThreadAttributeFromPeerCertificate(otInstance *aInstance, int aThreadOidDescriptor, uint8_t *aAttributeBuffer, size_t *aAttributeLength)
|
Eş x509 sertifikasının v3 uzantılarından OID 1.3.6.1.4.1.44970.x için bir özellik değeri döndürür (son x rakamı aThreadOidDescriptor olarak ayarlanır).
|
otBleSecureIsCommandClassAuthorized(otInstance *aInstance, otTcatCommandClass aCommandClass)
|
bool
TCAT komut sınıfının yetkilendirilip yetkilendirilmediğini belirtir.
|
otBleSecureIsConnected(otInstance *aInstance)
|
bool
TLS oturumunun bağlı olup olmadığını belirtir.
|
otBleSecureIsConnectionActive(otInstance *aInstance)
|
bool
TLS oturumunun etkin (bağlı veya bağlı) olup olmadığını belirtir.
|
otBleSecureIsTcatEnabled(otInstance *aInstance)
|
bool
TCAT aracısının etkin olup olmadığını belirtir.
|
otBleSecureSend(otInstance *aInstance, uint8_t *aBuf, uint16_t aLength)
|
Güvenli bir BLE veri paketi gönderir.
|
otBleSecureSendApplicationTlv(otInstance *aInstance, uint8_t *aBuf, uint16_t aLength)
|
TCAT Gönderme Uygulama Verileri TLV'si içeren güvenli bir BLE veri paketi gönderir.
|
otBleSecureSendMessage(otInstance *aInstance, otMessage *aMessage)
|
Güvenli bir BDE mesajı gönderir.
|
otBleSecureSetCaCertificateChain(otInstance *aInstance, const uint8_t *aX509CaCertificateChain, uint32_t aX509CaCertChainLength)
|
void
Güvenilen üst düzey CA'ları belirler.
|
otBleSecureSetCertificate(otInstance *aInstance, const uint8_t *aX509Cert, uint32_t aX509Length, const uint8_t *aPrivateKey, uint32_t aPrivateKeyLength)
|
void
Yerel cihazın X509 sertifikasını TLS_ECDHE_ECDSA_WITH_AES_128_CCM_8 ile TLS oturumu için karşılık gelen özel anahtarla ayarlar.
|
otBleSecureSetPsk(otInstance *aInstance, const uint8_t *aPsk, uint16_t aPskLength, const uint8_t *aPskIdentity, uint16_t aPskIdLength)
|
void
Önceden Paylaşılan Anahtarı (PSK) ve şifre paketini TLS_PSK_WITH_AES_128_CCM_8'i ayarlar.
|
otBleSecureSetSslAuthMode(otInstance *aInstance, bool aVerifyPeerCertificate)
|
void
BDE güvenli bağlantısı için kimlik doğrulama modunu ayarlar.
|
otBleSecureStart(otInstance *aInstance, otHandleBleSecureConnect aConnectHandler, otHandleBleSecureReceive aReceiveHandler, bool aTlvMode, void *aContext)
|
BLE Secure hizmetini başlatır.
|
otBleSecureStop(otInstance *aInstance)
|
void
BLE Secure sunucusunu durdurur.
|
otBleSecureTcatStart(otInstance *aInstance, const otTcatVendorInfo *aVendorInfo, otHandleTcatJoin aHandler)
|
BLE Secure üzerinden TCAT protokolünü etkinleştirir.
|
Yapılar |
|
---|---|
otTcatVendorInfo |
Bu yapı, TCAT tedarikçi bilgilerini temsil eder. |
Sıralamalar
otTcatApplicationProtocol
otTcatApplicationProtocol
TCAT uygulama protokolünü temsil eder.
Özellikler | |
---|---|
OT_TCAT_APPLICATION_PROTOCOL_NONE
|
TCAT aracısı etkinleştirilmeden gönderilen mesaj. |
OT_TCAT_APPLICATION_PROTOCOL_STATUS
|
Mesaj bir UDP hizmetine yönlendirildi. |
OT_TCAT_APPLICATION_PROTOCOL_TCP
|
TCP hizmetine yönlendirilen mesaj. |
otTcatCommandClass
otTcatCommandClass
TCAT komut sınıfını temsil eder.
Özellikler | |
---|---|
OT_TCAT_COMMAND_CLASS_APPLICATION
|
Uygulama katmanıyla ilgili TCAT komutları. |
OT_TCAT_COMMAND_CLASS_COMMISSIONING
|
Devreye almayla ilgili TCAT komutları. |
OT_TCAT_COMMAND_CLASS_DECOMMISSIONING
|
Devre dışı bırakma ile ilgili TCAT komutları. |
OT_TCAT_COMMAND_CLASS_EXTRACTION
|
Anahtar çıkarmayla ilgili TCAT komutları. |
OT_TCAT_COMMAND_CLASS_GENERAL
|
Genel işlemlerle ilgili TCAT komutları. |
otTcatStatusCode
otTcatStatusCode
TCAT durum kodunu temsil eder.
Özellikler | |
---|---|
OT_TCAT_STATUS_BUSY
|
Kaynak meşgul olduğundan komut yürütülemiyor. |
OT_TCAT_STATUS_GENERAL_ERROR
|
Başka hiçbir kategoriyle eşleşmeyen bir hata oluştu. |
OT_TCAT_STATUS_HASH_ERROR
|
Yetkilinin sunduğu karma değeri yanlıştı. |
OT_TCAT_STATUS_PARSE_ERROR
|
İstek / komut doğru şekilde ayrıştırılamadı. |
OT_TCAT_STATUS_SUCCESS
|
Komut veya istek başarıyla işlendi. |
OT_TCAT_STATUS_UNAUTHORIZED
|
Gönderen, belirtilen komut için yeterli yetkilendirmeye sahip değil. |
OT_TCAT_STATUS_UNDEFINED
|
İstenen değer, veri veya hizmet tanımlı değil (şu anda) ya da mevcut değil. |
OT_TCAT_STATUS_UNSUPPORTED
|
İstenen komut veya alınan TLV desteklenmiyor. |
OT_TCAT_STATUS_VALUE_ERROR
|
İletilen TLV'nin değerinde bir hata var. |
Türdefler
otHandleBleSecureConnect
void(* otHandleBleSecureConnect)(otInstance *aInstance, bool aConnected, bool aBleConnectionOpen, void *aContext)
Güvenli bağlantı durumu değiştiğinde çağrılacak işaretçi.
Ayrıntılar | |||||||||
---|---|---|---|---|---|---|---|---|---|
Parametreler |
|
otHandleBleSecureReceive
otHandleTcatApplicationDataReceive otHandleBleSecureReceive
BLE Güvenli TLS bağlantısı üzerinden veri alındığında çağrı yapılacak işaretçi.
otHandleTcatApplicationDataReceive
void(* otHandleTcatApplicationDataReceive)(otInstance *aInstance, const otMessage *aMessage, int32_t aOffset, otTcatApplicationProtocol aTcatApplicationProtocol, const char *aServiceName, void *aContext)
TCAT TLS bağlantısı üzerinden uygulama verileri alındığında çağrılacak işaretçi.
Ayrıntılar | |||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Parametreler |
|
otHandleTcatJoin
void(* otHandleTcatJoin)(otError aError, void *aContext)
Bir birleştirme işleminin tamamlandığını bildirmek için aranacak işaretçi.
Ayrıntılar | |||||
---|---|---|---|---|---|
Parametreler |
|
otTcatApplicationProtocol
enum otTcatApplicationProtocol otTcatApplicationProtocol
TCAT uygulama protokolünü temsil eder.
otTcatVendorInfo
struct otTcatVendorInfo otTcatVendorInfo
Bu yapı, TCAT tedarikçi bilgilerini temsil eder.
Bir TCAT oturumu devam ederken bu yapının içeriği değişmeden kalmalıdır.
İşlevler
otBleSecureConnect
otError otBleSecureConnect( otInstance *aInstance )
Zaten açık bir BDE bağlantısı kullanan bir eşle TLS oturumunu başlatır.
Ayrıntılar | |||
---|---|---|---|
Parametreler |
|
||
Döndürülen Değerler |
|
otBleSecureDisconnect
void otBleSecureDisconnect( otInstance *aInstance )
BDE ve TLS bağlantısını durdurur.
Ayrıntılar | |||
---|---|---|---|
Parametreler |
|
otBleSecureFlush
otError otBleSecureFlush( otInstance *aInstance )
Gönderme arabelleğini boşaltır.
Ayrıntılar | |||||||
---|---|---|---|---|---|---|---|
Parametreler |
|
||||||
Döndürülen Değerler |
|
otBleSecureGetPeerCertificateBase64
otError otBleSecureGetPeerCertificateBase64( otInstance *aInstance, unsigned char *aPeerCert, size_t *aCertLength )
Kodlanmış olarak base64 eş x509 sertifikasını döndürür.
Ayrıntılar | |||||||||
---|---|---|---|---|---|---|---|---|---|
Parametreler |
|
||||||||
Döndürülen Değerler |
|
otBleSecureGetPeerSubjectAttributeByOid
otError otBleSecureGetPeerSubjectAttributeByOid( otInstance *aInstance, const char *aOid, size_t aOidLength, uint8_t *aAttributeBuffer, size_t *aAttributeLength, int *aAsn1Type )
Eş x509 sertifikasının konusundan OID'si ile tanımlanan bir özellik değeri döndürür.
Eş OID, ikili biçimde sağlanır. Öznitelik başarıyla okunduysa özellik uzunluğu ayarlanır; başarısız olursa özellik sıfır olur. Özellik başarıyla okunduğunda, ITU-T X.690 standardında tanımlandığı şekilde ASN.1 türü.
Ayrıntılar | |||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Parametreler |
|
||||||||||||
Döndürülen Değerler |
|
otBleSecureGetThreadAttributeFromOwnCertificate
otError otBleSecureGetThreadAttributeFromOwnCertificate( otInstance *aInstance, int aThreadOidDescriptor, uint8_t *aAttributeBuffer, size_t *aAttributeLength )
Kendi x509 sertifikasının v3 uzantılarından OID 1.3.6.1.4.1.44970.x için bir özellik değeri döndürür (son x rakamı aThreadOidDescriptor olarak ayarlanır).
Öznitelik başarıyla okunduysa özellik uzunluğu ayarlanır; başarısız olursa özellik sıfır olur. Bağlantının etkin olması gerekir.
Ayrıntılar | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Parametreler |
|
||||||||||||||
Döndürülen Değerler |
|
otBleSecureGetThreadAttributeFromPeerCertificate
otError otBleSecureGetThreadAttributeFromPeerCertificate( otInstance *aInstance, int aThreadOidDescriptor, uint8_t *aAttributeBuffer, size_t *aAttributeLength )
Eş x509 sertifikasının v3 uzantılarından OID 1.3.6.1.4.1.44970.x için bir özellik değeri döndürür (son x rakamı aThreadOidDescriptor olarak ayarlanır).
Öznitelik başarıyla okunduysa özellik uzunluğu ayarlanır; başarısız olursa özellik sıfır olur. Bağlantının etkin olması gerekir.
Ayrıntılar | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Parametreler |
|
||||||||||||||
Döndürülen Değerler |
|
otBleSecureIsCommandClassAuthorized
bool otBleSecureIsCommandClassAuthorized( otInstance *aInstance, otTcatCommandClass aCommandClass )
TCAT komut sınıfının yetkilendirilip yetkilendirilmediğini belirtir.
Ayrıntılar | |||||
---|---|---|---|---|---|
Parametreler |
|
||||
Döndürülen Değerler |
|
otBleSecureIsConnected
bool otBleSecureIsConnected( otInstance *aInstance )
TLS oturumunun bağlı olup olmadığını belirtir.
Ayrıntılar | |||||
---|---|---|---|---|---|
Parametreler |
|
||||
Döndürülen Değerler |
|
otBleSecureIsConnectionActive
bool otBleSecureIsConnectionActive( otInstance *aInstance )
TLS oturumunun etkin (bağlı veya bağlı) olup olmadığını belirtir.
Ayrıntılar | |||||
---|---|---|---|---|---|
Parametreler |
|
||||
Döndürülen Değerler |
|
otBleSecureIsTcatEnabled
bool otBleSecureIsTcatEnabled( otInstance *aInstance )
TCAT aracısının etkin olup olmadığını belirtir.
Ayrıntılar | |||||
---|---|---|---|---|---|
Döndürülen Değerler |
|
otBleSecureSend
otError otBleSecureSend( otInstance *aInstance, uint8_t *aBuf, uint16_t aLength )
Güvenli bir BLE veri paketi gönderir.
Ayrıntılar | |||||||
---|---|---|---|---|---|---|---|
Parametreler |
|
||||||
Döndürülen Değerler |
|
otBleSecureSendApplicationTlv
otError otBleSecureSendApplicationTlv( otInstance *aInstance, uint8_t *aBuf, uint16_t aLength )
TCAT Gönderme Uygulama Verileri TLV'si içeren güvenli bir BLE veri paketi gönderir.
Ayrıntılar | |||||||
---|---|---|---|---|---|---|---|
Parametreler |
|
||||||
Döndürülen Değerler |
|
otBleSecureSendMessage
otError otBleSecureSendMessage( otInstance *aInstance, otMessage *aMessage )
Güvenli bir BDE mesajı gönderir.
Döndürülen değer OT_ERROR_NONE ise OpenThread aMessage
öğesinin sahipliğini alır ve arayan artık aMessage
öğesine başvuruda bulunmamalıdır. Döndürülen değer OT_ERROR_NONE değilse çağrıyı yapan kişi aMessage
sahipliğini korur. Ayrıca, mesaj arabelleğine artık ihtiyaç duyulmuyorsa aMessage
boşaltılır.
Ayrıntılar | |||||
---|---|---|---|---|---|
Parametreler |
|
Ayrıntılar | |||||||
---|---|---|---|---|---|---|---|
Döndürülen Değerler |
|
otBleSecureSetCaCertificateChain
void otBleSecureSetCaCertificateChain( otInstance *aInstance, const uint8_t *aX509CaCertificateChain, uint32_t aX509CaCertChainLength )
Güvenilen üst düzey CA'ları belirler.
Eşin sertifikasını doğrulamak için gereklidir.
Güvenli BDE için "ECDHE ECDSA with AES 128 CCM 8" TLS modu.
Ayrıntılar | |||||||
---|---|---|---|---|---|---|---|
Parametreler |
|
otBleSecureSetCertificate
void otBleSecureSetCertificate( otInstance *aInstance, const uint8_t *aX509Cert, uint32_t aX509Length, const uint8_t *aPrivateKey, uint32_t aPrivateKeyLength )
Yerel cihazın X509 sertifikasını TLS_ECDHE_ECDSA_WITH_AES_128_CCM_8 ile TLS oturumu için karşılık gelen özel anahtarla ayarlar.
Ayrıntılar | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Parametreler |
|
otBleSecureSetPsk
void otBleSecureSetPsk( otInstance *aInstance, const uint8_t *aPsk, uint16_t aPskLength, const uint8_t *aPskIdentity, uint16_t aPskIdLength )
Önceden Paylaşılan Anahtarı (PSK) ve şifre paketini TLS_PSK_WITH_AES_128_CCM_8'i ayarlar.
Ayrıntılar | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Parametreler |
|
otBleSecureSetSslAuthMode
void otBleSecureSetSslAuthMode( otInstance *aInstance, bool aVerifyPeerCertificate )
BDE güvenli bağlantısı için kimlik doğrulama modunu ayarlar.
Eş sertifikasının doğrulamasını devre dışı bırakın veya etkinleştirin. Başlamadan önce çağrılmalıdır.
Ayrıntılar | |||||
---|---|---|---|---|---|
Parametreler |
|
otBleSecureStart
otError otBleSecureStart( otInstance *aInstance, otHandleBleSecureConnect aConnectHandler, otHandleBleSecureReceive aReceiveHandler, bool aTlvMode, void *aContext )
BLE Secure hizmetini başlatır.
TLV modu etkin olduğunda, tam bir TLV alındığında aReceiveHandler
işlevi çağrılır ve mesaj uzaklığı, TLV değerine işaret eder.
Ayrıntılar | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Parametreler |
|
||||||||||
Döndürülen Değerler |
|
otBleSecureStop
void otBleSecureStop( otInstance *aInstance )
BLE Secure sunucusunu durdurur.
Ayrıntılar | |||
---|---|---|---|
Parametreler |
|
otBleSecureTcatStart
otError otBleSecureTcatStart( otInstance *aInstance, const otTcatVendorInfo *aVendorInfo, otHandleTcatJoin aHandler )
BLE Secure üzerinden TCAT protokolünü etkinleştirir.
Ayrıntılar | |||||||
---|---|---|---|---|---|---|---|
Parametreler |
|
||||||
Döndürülen Değerler |
|
Makrolar
OT_TCAT_MAX_SERVICE_NAME_LENGTH
OT_TCAT_MAX_SERVICE_NAME_LENGTH 15
UDP veya TCP hizmeti adının maksimum dize uzunluğu (boş karakter içermez).
Kaynaklar
OpenThread API Referans konuları, GitHub'da bulunan kaynak koddan gelir. Daha fazla bilgi edinmek veya dokümanlarımıza katkıda bulunmak için Kaynaklar bölümüne bakın.