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{
  OT_TCAT_APPLICATION_PROTOCOL_NONE = 0,
  OT_TCAT_APPLICATION_PROTOCOL_STATUS = 1,
  OT_TCAT_APPLICATION_PROTOCOL_TCP = 2
}
enum
TCAT uygulama protokolünü temsil eder.
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 komut sınıfını temsil eder.
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 durum kodunu temsil eder.

Türdefler

otHandleBleSecureConnect)(otInstance *aInstance, bool aConnected, bool aBleConnectionOpen, void *aContext) typedef
void(*
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) typedef
void(*
TCAT TLS bağlantısı üzerinden uygulama verileri alındığında çağrılacak işaretçi.
otHandleTcatJoin)(otError aError, void *aContext) typedef
void(*
Bir birleştirme işleminin tamamlandığını bildirmek için aranacak işaretçi.
otTcatApplicationProtocol typedef
TCAT uygulama protokolünü temsil eder.
otTcatCommandClass typedef
TCAT komut sınıfını temsil eder.
otTcatStatusCode typedef
TCAT durum kodunu temsil eder.
otTcatVendorInfo typedef
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
[in] aInstance
OpenThread örneğinin işaretçisi.
[in] aConnected
Güvenli bağlantı kurulduysa DOĞRU, aksi takdirde YANLIŞ olur.
[in] aBleConnectionOpen
TLS veri akışı taşımak için bir BDE bağlantısı oluşturulduysa TRUE, aksi takdirde FALSE.
[in] aContext
Rastgele bağlam bilgilerine yönlendiren bir işaretçi.

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
[in] aInstance
OpenThread örneğinin işaretçisi.
[in] aMessage
İletinin işaretçisi.
[in] aOffset
Uygulama verilerinin başladığı ofset.
[in] aTcatApplicationProtocol
Alınan iletinin protokol türü.
[in] aServiceName
İletinin gönderildiği hizmetin adı.
[in] aContext
Rastgele bağlam bilgilerine yönlendiren bir işaretçi.

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
[in] aError
Birleştirme işlemi başarılıysa OT_ERROR_NONE. Güvenlik kimlik bilgileri nedeniyle birleştirme işlemi başarısız olduysa OT_ERROR_SECURITY.
[in] aContext
Rastgele bağlam bilgilerine yönlendiren bir işaretçi.

otTcatApplicationProtocol

enum otTcatApplicationProtocol otTcatApplicationProtocol

TCAT uygulama protokolünü temsil eder.

otTcatCommandClass

enum otTcatCommandClass otTcatCommandClass

TCAT komut sınıfını temsil eder.

otTcatStatusCode

enum otTcatStatusCode otTcatStatusCode

TCAT durum kodunu 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
[in] aInstance
OpenThread örneğinin işaretçisi.
Döndürülen Değerler
OT_ERROR_NONE
TLS bağlantısı başarıyla başlatıldı.

otBleSecureDisconnect

void otBleSecureDisconnect(
  otInstance *aInstance
)

BDE ve TLS bağlantısını durdurur.

Ayrıntılar
Parametreler
[in] aInstance
OpenThread örneğinin işaretçisi.

otBleSecureFlush

otError otBleSecureFlush(
  otInstance *aInstance
)

Gönderme arabelleğini boşaltır.

Ayrıntılar
Parametreler
[in] aInstance
OpenThread örneğinin işaretçisi.
Döndürülen Değerler
OT_ERROR_NONE
Çıkış arabelleği başarıyla boşaltıldı.
OT_ERROR_NO_BUFS
Ara bellek tahsis edilemedi.
OT_ERROR_INVALID_STATE
TLS bağlantısı başlatılamadı.

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
[in] aInstance
OpenThread örneğinin işaretçisi.
[out] aPeerCert
Base64 olarak kodlanmış sertifika arabelleğine işaret eden bir işaretçi.
[in,out] aCertLength
Girişte, maksimum boyut aPeerCert olmalıdır. Çıkışta, base64 olarak kodlanmış eş sertifikanın uzunluğu.
Döndürülen Değerler
OT_ERROR_NONE
Eş sertifikası başarıyla alındı.
OT_ERROR_INVALID_ARGS
aInstance veya aCertLength geçersiz.
OT_ERROR_INVALID_STATE
Henüz bağlanmadı.
OT_ERROR_NO_BUFS
Sertifika için bellek tahsis edilemiyor.

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
[in] aInstance
OpenThread örneğinin işaretçisi.
[in] aOid
Bulunacak bir OID işaretçisi.
[in] aOidLength
OID'nin uzunluğu.
[out] aAttributeBuffer
Özellik arabelleğine işaret eden bir işaret.
[in,out] aAttributeLength
Girişte, maksimum boyut aAttributeBuffer olmalıdır. Çıkışta, arabelleğe yazılan özelliğin uzunluğu.
[out] aAsn1Type
Arabelleğe yazılan özelliğin ASN.1 türünü gösteren işaretçi.
Döndürülen Değerler
OT_ERROR_INVALID_STATE
Henüz bağlanmadı.
OT_ERROR_INVALID_ARGS
Özellik uzunluğu geçersiz.
OT_ERROR_NONE
Özellik başarıyla okundu.
OT_ERROR_NO_BUFS
Özellik değerini depolamak için yetersiz bellek.

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
[in] aInstance
OpenThread örneğinin işaretçisi.
[in] aThreadOidDescriptor
İş parçacığı özelliğinin OID'sinin son basamağı.
[out] aAttributeBuffer
Özellik arabelleğine işaret eden bir işaret.
[in,out] aAttributeLength
Girişte, maksimum boyut aAttributeBuffer olmalıdır. Çıkışta, arabelleğe yazılan özelliğin uzunluğu.
Döndürülen Değerler
OT_ERROR_NONE
Özellik başarıyla okundu.
OT_ERROR_INVALID_ARGS
Özellik uzunluğu geçersiz.
OT_NOT_FOUND
İstenen özellik bulunamadı.
OT_ERROR_NO_BUFS
Özellik değerini depolamak için yetersiz bellek.
OT_ERROR_INVALID_STATE
Henüz bağlanmadı.
OT_ERROR_NOT_IMPLEMENTED
aThreadOidDescriptor değeri >127'dir.
OT_ERROR_PARSE
Sertifika uzantıları ayrıştırılamadı.

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
[in] aInstance
OpenThread örneğinin işaretçisi.
[in] aThreadOidDescriptor
İş parçacığı özelliğinin OID'sinin son basamağı.
[out] aAttributeBuffer
Özellik arabelleğine işaret eden bir işaret.
[in,out] aAttributeLength
Girişte, maksimum boyut aAttributeBuffer olmalıdır. Çıkışta, arabelleğe yazılan özelliğin uzunluğu.
Döndürülen Değerler
OT_ERROR_NONE
Özellik başarıyla okundu.
OT_ERROR_INVALID_ARGS
Özellik uzunluğu geçersiz.
OT_NOT_FOUND
İstenen özellik bulunamadı.
OT_ERROR_NO_BUFS
Özellik değerini depolamak için yetersiz bellek.
OT_ERROR_INVALID_STATE
Henüz bağlanmadı.
OT_ERROR_NOT_IMPLEMENTED
aThreadOidDescriptor değeri >127'dir.
OT_ERROR_PARSE
Sertifika uzantıları ayrıştırılamadı.

otBleSecureIsCommandClassAuthorized

bool otBleSecureIsCommandClassAuthorized(
  otInstance *aInstance,
  otTcatCommandClass aCommandClass
)

TCAT komut sınıfının yetkilendirilip yetkilendirilmediğini belirtir.

Ayrıntılar
Parametreler
[in] aInstance
OpenThread örneğinin işaretçisi.
[in] aCommandClass
Kontrol edilecek komut sınıfıdır.
Döndürülen Değerler
TRUE
Komut sınıfı yetkilendirildi.
FALSE
Komut sınıfı yetkilendirilmemiş.

otBleSecureIsConnected

bool otBleSecureIsConnected(
  otInstance *aInstance
)

TLS oturumunun bağlı olup olmadığını belirtir.

Ayrıntılar
Parametreler
[in] aInstance
OpenThread örneğinin işaretçisi.
Döndürülen Değerler
TRUE
TLS oturumu bağlandı.
FALSE
TLS oturumu bağlı değil.

otBleSecureIsConnectionActive

bool otBleSecureIsConnectionActive(
  otInstance *aInstance
)

TLS oturumunun etkin (bağlı veya bağlı) olup olmadığını belirtir.

Ayrıntılar
Parametreler
[in] aInstance
OpenThread örneğinin işaretçisi.
Döndürülen Değerler
TRUE
TLS oturumu etkinse.
FALSE
TLS oturumu etkin değilse.

otBleSecureIsTcatEnabled

bool otBleSecureIsTcatEnabled(
  otInstance *aInstance
)

TCAT aracısının etkin olup olmadığını belirtir.

Ayrıntılar
Döndürülen Değerler
TRUE
TCAT aracısı etkinleştirildi.
FALSE
TCAT aracısı etkin değil.

otBleSecureSend

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

Güvenli bir BLE veri paketi gönderir.

Ayrıntılar
Parametreler
[in] aInstance
OpenThread örneğinin işaretçisi.
[in] aBuf
TCAT Uygulama Verileri TLV'sinin Değeri olarak gönderilecek verilere işaretçi.
[in] aLength
Veri arabelleğinin uzunluğunu gösteren bir sayı.
Döndürülen Değerler
OT_ERROR_NONE
Veriler başarıyla gönderildi.
OT_ERROR_NO_BUFS
Ara bellek tahsis edilemedi.
OT_ERROR_INVALID_STATE
TLS bağlantısı başlatılamadı.

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
[in] aInstance
OpenThread örneğinin işaretçisi.
[in] aBuf
TCAT Uygulama Verileri TLV'sinin Değeri olarak gönderilecek verilere işaretçi.
[in] aLength
Veri arabelleğinin uzunluğunu gösteren bir sayı.
Döndürülen Değerler
OT_ERROR_NONE
Veriler başarıyla gönderildi.
OT_ERROR_NO_BUFS
Ara bellek tahsis edilemedi.
OT_ERROR_INVALID_STATE
TLS bağlantısı başlatılamadı.

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
[in] aInstance
OpenThread örneğinin işaretçisi.
[in] aMessage
Gönderilecek iletinin işaretçisi.

Ayrıntılar
Döndürülen Değerler
OT_ERROR_NONE
Mesaj başarıyla gönderildi.
OT_ERROR_NO_BUFS
Ara bellek tahsis edilemedi.
OT_ERROR_INVALID_STATE
TLS bağlantısı başlatılamadı.

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
[in] aInstance
OpenThread örneğinin işaretçisi.
[in] aX509CaCertificateChain
PEM biçimlendirilmiş X509 CA zincirinin işaretçisi.
[in] aX509CaCertChainLength
Zincirin uzunluğu.

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
[in] aInstance
OpenThread örneğinin işaretçisi.
[in] aX509Cert
PEM biçimlendirilmiş X509 sertifikasının işaretçisi.
[in] aX509Length
Sertifikanın uzunluğu.
[in] aPrivateKey
PEM biçimli özel anahtarın işaretçisi.
[in] aPrivateKeyLength
Özel anahtarın uzunluğu.

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
[in] aInstance
OpenThread örneğinin işaretçisi.
[in] aPsk
PSK işaretçisi.
[in] aPskLength
PSK uzunluğu.
[in] aPskIdentity
PSK için Kimlik Adı.
[in] aPskIdLength
PSK Kimlik Uzunluğu.

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
[in] aInstance
OpenThread örneğinin işaretçisi.
[in] aVerifyPeerCertificate
true (doğru) değerine sahiptir.

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
[in] aInstance
OpenThread örneğinin işaretçisi.
[in] aConnectHandler
Bağlantı durumu değiştiğinde çağrılacak bir işlevin işaretçisi.
[in] aReceiveHandler
TLS bağlantısı üzerinden veri alındıktan sonra çağrılacak bir işlevin işaretçisi.
[in] aTlvMode
Çizgi modunun etkinleştirilip etkinleştirilmeyeceğini gösteren bir boole değeri.
[in] aContext
Rastgele bağlam bilgilerine yönlendiren bir işaretçi. Kullanılmazsa NULL olabilir.
Döndürülen Değerler
OT_ERROR_NONE
BLE Secure sunucusu başarıyla başlatıldı.
OT_ERROR_ALREADY
Hizmet zaten belirtildi.

otBleSecureStop

void otBleSecureStop(
  otInstance *aInstance
)

BLE Secure sunucusunu durdurur.

Ayrıntılar
Parametreler
[in] aInstance
OpenThread örneğinin işaretçisi.

otBleSecureTcatStart

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

BLE Secure üzerinden TCAT protokolünü etkinleştirir.

Ayrıntılar
Parametreler
[in] aInstance
OpenThread örneğinin işaretçisi.
[in] aVendorInfo
Tedarikçi Firma Bilgileri'nin işaretçisi (yöntem çağrısından sonra geçerli olarak kalmalıdır, NULL olabilir).
[in] aHandler
Birleştirme işlemi tamamlandığında çağrılan bir işlevin işaretçisi.
Döndürülen Değerler
OT_ERROR_NONE
BDE Güvenli Birleştirici rolü başarıyla başlatıldı.
OT_ERROR_INVALID_ARGS
aElevationPsk veya aVendorInfo geçersiz.
OT_ERROR_INVALID_STATE
BDE işlevi başlatılmadı veya hat modu seçilmedi.

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.