Sécurité BLE

Ce module inclut des fonctions qui contrôlent les communications BLE Secure (TLS sur BLE).

Résumé

Ce module comprend des fonctions qui implémentent la communication TCAT.

Les fonctions de ce module sont disponibles lorsque la fonctionnalité d'API sécurisée BLE (OPENTHREAD_CONFIG_BLE_TCAT_ENABLE) est activée.

Les fonctions de ce module sont disponibles lorsque la fonctionnalité TCAT (OPENTHREAD_CONFIG_BLE_TCAT_ENABLE) est activée.

Énumérations

otTcatApplicationProtocol{
  OT_TCAT_APPLICATION_PROTOCOL_NONE = 0,
  OT_TCAT_APPLICATION_PROTOCOL_STATUS = 1,
  OT_TCAT_APPLICATION_PROTOCOL_TCP = 2
}
enum
Représente le protocole d'application 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
Représente une classe de commande 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
Représente le code d'état TCAT.

Typedefs

otHandleBleSecureConnect)(otInstance *aInstance, bool aConnected, bool aBleConnectionOpen, void *aContext) typedef
void(*
Pointeur à appeler lorsque l'état d'une connexion sécurisée change.
otHandleBleSecureReceive typedef
Pointeur à appeler lorsque des données ont été reçues via une connexion TLS sécurisée BLE.
otHandleTcatApplicationDataReceive)(otInstance *aInstance, const otMessage *aMessage, int32_t aOffset, otTcatApplicationProtocol aTcatApplicationProtocol, const char *aServiceName, void *aContext) typedef
void(*
Pointeur à appeler lorsque les données d'application ont été reçues via une connexion TCAT/TLS.
otHandleTcatJoin)(otError aError, void *aContext) typedef
void(*
Pointeur à appeler pour avertir la fin d'une opération de jointure.
otTcatApplicationProtocol typedef
Représente le protocole d'application TCAT.
otTcatCommandClass typedef
Représente une classe de commande TCAT.
otTcatStatusCode typedef
Représente le code d'état TCAT.
otTcatVendorInfo typedef
Cette structure représente les informations sur un fournisseur TCAT.

distantes

otBleSecureConnect(otInstance *aInstance)
Initialise la session TLS avec un pair à l'aide d'une connexion BLE déjà ouverte.
otBleSecureDisconnect(otInstance *aInstance)
void
Arrête la connexion BLE et TLS.
otBleSecureFlush(otInstance *aInstance)
Vide le tampon d'envoi.
otBleSecureGetPeerCertificateBase64(otInstance *aInstance, unsigned char *aPeerCert, size_t *aCertLength)
Renvoie le certificat x509 pair encodé en base64.
otBleSecureGetPeerSubjectAttributeByOid(otInstance *aInstance, const char *aOid, size_t aOidLength, uint8_t *aAttributeBuffer, size_t *aAttributeLength, int *aAsn1Type)
Renvoie une valeur d'attribut identifiée par son OID provenant de l'objet du certificat x509 pair.
otBleSecureGetThreadAttributeFromOwnCertificate(otInstance *aInstance, int aThreadOidDescriptor, uint8_t *aAttributeBuffer, size_t *aAttributeLength)
Renvoie une valeur d'attribut pour l'OID 1.3.6.1.4.1.44970.x à partir des extensions v3 du certificat x509, où le dernier chiffre x est défini sur aThreadOidDescriptor.
otBleSecureGetThreadAttributeFromPeerCertificate(otInstance *aInstance, int aThreadOidDescriptor, uint8_t *aAttributeBuffer, size_t *aAttributeLength)
Renvoie une valeur d'attribut pour l'OID 1.3.6.1.4.1.44970.x à partir des extensions v3 du certificat x509 pair, où le dernier chiffre x est défini sur "aThreadOidDescriptor".
otBleSecureIsCommandClassAuthorized(otInstance *aInstance, otTcatCommandClass aCommandClass)
bool
Indique si une classe de commande TCAT est autorisée ou non.
otBleSecureIsConnected(otInstance *aInstance)
bool
Indique si la session TLS est connectée ou non.
otBleSecureIsConnectionActive(otInstance *aInstance)
bool
Indique si la session TLS est active (connectée ou en cours de connexion).
otBleSecureIsTcatEnabled(otInstance *aInstance)
bool
Indique si l'agent TCAT est activé ou non.
otBleSecureSend(otInstance *aInstance, uint8_t *aBuf, uint16_t aLength)
Envoie un paquet de données BLE sécurisé.
otBleSecureSendApplicationTlv(otInstance *aInstance, uint8_t *aBuf, uint16_t aLength)
Envoie un paquet de données BLE sécurisé contenant un TLV de données d'application d'envoi TCAT.
otBleSecureSendMessage(otInstance *aInstance, otMessage *aMessage)
Envoie un message BLE sécurisé.
otBleSecureSetCaCertificateChain(otInstance *aInstance, const uint8_t *aX509CaCertificateChain, uint32_t aX509CaCertChainLength)
void
Définit les autorités de certification de premier niveau approuvées.
otBleSecureSetCertificate(otInstance *aInstance, const uint8_t *aX509Cert, uint32_t aX509Length, const uint8_t *aPrivateKey, uint32_t aPrivateKeyLength)
void
Définit le certificat X509 de l'appareil local avec la clé privée correspondante pour la session TLS avec 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
Définit la clé pré-partagée (PSK) et la suite de chiffrement TLS_PSK_WITH_AES_128_CCM_8.
otBleSecureSetSslAuthMode(otInstance *aInstance, bool aVerifyPeerCertificate)
void
Définit le mode d'authentification de la connexion sécurisée BLE.
otBleSecureStart(otInstance *aInstance, otHandleBleSecureConnect aConnectHandler, otHandleBleSecureReceive aReceiveHandler, bool aTlvMode, void *aContext)
Démarre le service sécurisé BLE.
otBleSecureStop(otInstance *aInstance)
void
Arrête le serveur sécurisé BLE.
otBleSecureTcatStart(otInstance *aInstance, const otTcatVendorInfo *aVendorInfo, otHandleTcatJoin aHandler)
Active le protocole TCAT via BLE Secure.

Structs

otTcatVendorInfo

Cette structure représente les informations sur un fournisseur TCAT.

Énumérations

otTcatApplicationProtocol

 otTcatApplicationProtocol

Représente le protocole d'application TCAT.

Propriétés
OT_TCAT_APPLICATION_PROTOCOL_NONE

Message qui a été envoyé sans activer l'agent TCAT.

OT_TCAT_APPLICATION_PROTOCOL_STATUS

Message dirigé vers un service UDP.

OT_TCAT_APPLICATION_PROTOCOL_TCP

Message dirigé vers un service TCP.

otTcatCommandClass

 otTcatCommandClass

Représente une classe de commande TCAT.

Propriétés
OT_TCAT_COMMAND_CLASS_APPLICATION

les commandes TCAT liées à la couche application ;

OT_TCAT_COMMAND_CLASS_COMMISSIONING

les commandes TCAT liées à la mise en service ;

OT_TCAT_COMMAND_CLASS_DECOMMISSIONING

Commandes TCAT liées à la mise hors service.

OT_TCAT_COMMAND_CLASS_EXTRACTION

Commandes TCAT liées à l'extraction de clés.

OT_TCAT_COMMAND_CLASS_GENERAL

les commandes TCAT liées aux opérations générales.

otTcatStatusCode

 otTcatStatusCode

Représente le code d'état TCAT.

Propriétés
OT_TCAT_STATUS_BUSY

Impossible d'exécuter la commande, car la ressource est occupée.

OT_TCAT_STATUS_GENERAL_ERROR

Une erreur ne correspond à aucune autre catégorie.

OT_TCAT_STATUS_HASH_ERROR

La valeur de hachage présentée par le commissaire était incorrecte.

OT_TCAT_STATUS_PARSE_ERROR

Impossible d'analyser la requête ou la commande correctement.

OT_TCAT_STATUS_SUCCESS

La commande ou la requête a bien été traitée.

OT_TCAT_STATUS_UNAUTHORIZED

L'expéditeur ne dispose pas d'une autorisation suffisante pour la commande donnée.

OT_TCAT_STATUS_UNDEFINED

La valeur, les données ou le service demandés ne sont pas définis (actuellement) ou ne sont pas présents.

OT_TCAT_STATUS_UNSUPPORTED

La commande demandée ou le TLV reçu n'est pas pris en charge.

OT_TCAT_STATUS_VALUE_ERROR

La valeur du TLV transmis contient une erreur.

Typedefs

otHandleBleSecureConnect

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

Pointeur à appeler lorsque l'état d'une connexion sécurisée change.

Détails
Paramètres
[in] aInstance
Un pointeur vers une instance OpenThread.
[in] aConnected
TRUE, si une connexion sécurisée a été établie, FALSE dans le cas contraire.
[in] aBleConnectionOpen
TRUE si une connexion BLE a été établie pour acheminer un flux de données TLS, FALSE dans le cas contraire.
[in] aContext
Pointeur vers des informations de contexte arbitraires.

otHandleBleSecureReceive

otHandleTcatApplicationDataReceive otHandleBleSecureReceive

Pointeur à appeler lorsque des données ont été reçues via une connexion TLS sécurisée BLE.

otHandleTcatApplicationDataReceive

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

Pointeur à appeler lorsque les données d'application ont été reçues via une connexion TCAT/TLS.

Détails
Paramètres
[in] aInstance
Un pointeur vers une instance OpenThread.
[in] aMessage
Pointeur vers le message.
[in] aOffset
Décalage à partir duquel les données d'application commencent.
[in] aTcatApplicationProtocol
Type de protocole du message reçu.
[in] aServiceName
Nom du service auquel le message est adressé.
[in] aContext
Pointeur vers des informations de contexte arbitraires.

otHandleTcatJoin

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

Pointeur à appeler pour avertir la fin d'une opération de jointure.

Détails
Paramètres
[in] aError
OT_ERROR_NONE si le processus de jointure a réussi. OT_ERROR_Security si le processus de connexion a échoué en raison d'identifiants de sécurité.
[in] aContext
Pointeur vers des informations de contexte arbitraires.

otTcatApplicationProtocol

enum otTcatApplicationProtocol otTcatApplicationProtocol

Représente le protocole d'application TCAT.

otTcatCommandClass

enum otTcatCommandClass otTcatCommandClass

Représente une classe de commande TCAT.

otTcatStatusCode

enum otTcatStatusCode otTcatStatusCode

Représente le code d'état TCAT.

otTcatVendorInfo

struct otTcatVendorInfo otTcatVendorInfo

Cette structure représente les informations sur un fournisseur TCAT.

Le contenu de cette structure DOIT être conservé et rester inchangé pendant l'exécution d'une session TCAT.

distantes

otBleSecureConnect

otError otBleSecureConnect(
  otInstance *aInstance
)

Initialise la session TLS avec un pair à l'aide d'une connexion BLE déjà ouverte.

Détails
Paramètres
[in] aInstance
Un pointeur vers une instance OpenThread.
Valeurs de retour
OT_ERROR_NONE
La connexion TLS a bien été démarrée.

otBleSecureDisconnect

void otBleSecureDisconnect(
  otInstance *aInstance
)

Arrête la connexion BLE et TLS.

Détails
Paramètres
[in] aInstance
Un pointeur vers une instance OpenThread.

otBleSecureFlush

otError otBleSecureFlush(
  otInstance *aInstance
)

Vide le tampon d'envoi.

Détails
Paramètres
[in] aInstance
Un pointeur vers une instance OpenThread.
Valeurs de retour
OT_ERROR_NONE
Le tampon de sortie a bien été vidé.
OT_ERROR_NO_BUFS
Échec de l'allocation de mémoire tampon.
OT_ERROR_INVALID_STATE
La connexion TLS n'a pas été initialisée.

otBleSecureGetPeerCertificateBase64

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

Renvoie le certificat x509 pair encodé en base64.

Détails
Paramètres
[in] aInstance
Un pointeur vers une instance OpenThread.
[out] aPeerCert
Pointeur vers le tampon de certificat encodé en base64.
[in,out] aCertLength
À l'entrée, la taille maximale est de aPeerCert. En sortie, il s'agit de la longueur du certificat pair encodé en base64.
Valeurs de retour
OT_ERROR_NONE
Le certificat de pairs a bien été obtenu.
OT_ERROR_INVALID_ARGS
aInstance ou aCertLength n'est pas valide.
OT_ERROR_INVALID_STATE
Pas encore connecté.
OT_ERROR_NO_BUFS
Impossible d'allouer de la mémoire pour le certificat.

otBleSecureGetPeerSubjectAttributeByOid

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

Renvoie une valeur d'attribut identifiée par son OID provenant de l'objet du certificat x509 pair.

L'OID du pair est fourni au format binaire. La longueur de l'attribut est définie si la lecture de l'attribut a abouti ou zéro en cas d'échec. Type ASN.1 tel que défini dans la norme ITU-T X.690 si l'attribut a été lu avec succès.

Détails
Paramètres
[in] aInstance
Un pointeur vers une instance OpenThread.
[in] aOid
Pointeur vers l'OID à trouver.
[in] aOidLength
Longueur de l'OID.
[out] aAttributeBuffer
Pointeur vers le tampon d'attribut.
[in,out] aAttributeLength
À l'entrée, la taille maximale est de aAttributeBuffer. En sortie, longueur de l'attribut écrite dans le tampon.
[out] aAsn1Type
Pointeur vers le type ASN.1 de l'attribut écrit dans le tampon.
Valeurs de retour
OT_ERROR_INVALID_STATE
Pas encore connecté.
OT_ERROR_INVALID_ARGS
Longueur d'attribut incorrecte.
OT_ERROR_NONE
L'attribut a bien été lu.
OT_ERROR_NO_BUFS
Mémoire insuffisante pour stocker la valeur de l'attribut.

otBleSecureGetThreadAttributeFromOwnCertificate

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

Renvoie une valeur d'attribut pour l'OID 1.3.6.1.4.1.44970.x à partir des extensions v3 du certificat x509, où le dernier chiffre x est défini sur aThreadOidDescriptor.

La longueur de l'attribut est définie si la lecture de l'attribut a abouti ou zéro en cas d'échec. Une connexion est requise pour être actif.

Détails
Paramètres
[in] aInstance
Un pointeur vers une instance OpenThread.
[in] aThreadOidDescriptor
Dernier chiffre de l'OID de l'attribut Thread.
[out] aAttributeBuffer
Pointeur vers le tampon d'attribut.
[in,out] aAttributeLength
À l'entrée, la taille maximale est de aAttributeBuffer. En sortie, longueur de l'attribut écrite dans le tampon.
Valeurs de retour
OT_ERROR_NONE
L'attribut a bien été lu.
OT_ERROR_INVALID_ARGS
Longueur d'attribut incorrecte.
OT_NOT_FOUND
L'attribut demandé est introuvable.
OT_ERROR_NO_BUFS
Mémoire insuffisante pour stocker la valeur de l'attribut.
OT_ERROR_INVALID_STATE
Pas encore connecté.
OT_ERROR_NOT_IMPLEMENTED
La valeur de aThreadOidDescriptor est supérieure à 127.
OT_ERROR_PARSE
Impossible d'analyser les extensions de certificat.

otBleSecureGetThreadAttributeFromPeerCertificate

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

Renvoie une valeur d'attribut pour l'OID 1.3.6.1.4.1.44970.x à partir des extensions v3 du certificat x509 pair, où le dernier chiffre x est défini sur "aThreadOidDescriptor".

La longueur de l'attribut est définie si la lecture de l'attribut a abouti ou zéro en cas d'échec. Une connexion est requise pour être actif.

Détails
Paramètres
[in] aInstance
Un pointeur vers une instance OpenThread.
[in] aThreadOidDescriptor
Dernier chiffre de l'OID de l'attribut Thread.
[out] aAttributeBuffer
Pointeur vers le tampon d'attribut.
[in,out] aAttributeLength
À l'entrée, la taille maximale est de aAttributeBuffer. En sortie, longueur de l'attribut écrite dans le tampon.
Valeurs de retour
OT_ERROR_NONE
L'attribut a bien été lu.
OT_ERROR_INVALID_ARGS
Longueur d'attribut incorrecte.
OT_NOT_FOUND
L'attribut demandé est introuvable.
OT_ERROR_NO_BUFS
Mémoire insuffisante pour stocker la valeur de l'attribut.
OT_ERROR_INVALID_STATE
Pas encore connecté.
OT_ERROR_NOT_IMPLEMENTED
La valeur de aThreadOidDescriptor est supérieure à 127.
OT_ERROR_PARSE
Impossible d'analyser les extensions de certificat.

otBleSecureIsCommandClassAuthorized

bool otBleSecureIsCommandClassAuthorized(
  otInstance *aInstance,
  otTcatCommandClass aCommandClass
)

Indique si une classe de commande TCAT est autorisée ou non.

Détails
Paramètres
[in] aInstance
Un pointeur vers une instance OpenThread.
[in] aCommandClass
Une classe de commande à vérifier.
Valeurs de retour
TRUE
La classe de commande est autorisée.
FALSE
La classe de commande n'est pas autorisée.

otBleSecureIsConnected

bool otBleSecureIsConnected(
  otInstance *aInstance
)

Indique si la session TLS est connectée ou non.

Détails
Paramètres
[in] aInstance
Un pointeur vers une instance OpenThread.
Valeurs de retour
TRUE
La session TLS est connectée.
FALSE
La session TLS n'est pas connectée.

otBleSecureIsConnectionActive

bool otBleSecureIsConnectionActive(
  otInstance *aInstance
)

Indique si la session TLS est active (connectée ou en cours de connexion).

Détails
Paramètres
[in] aInstance
Un pointeur vers une instance OpenThread.
Valeurs de retour
TRUE
Si la session TLS est active.
FALSE
Si la session TLS n'est pas active.

otBleSecureIsTcatEnabled

bool otBleSecureIsTcatEnabled(
  otInstance *aInstance
)

Indique si l'agent TCAT est activé ou non.

Détails
Valeurs de retour
TRUE
L'agent TCAT est activé.
FALSE
L'agent TCAT n'est pas activé.

otBleSecureSend

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

Envoie un paquet de données BLE sécurisé.

Détails
Paramètres
[in] aInstance
Un pointeur vers une instance OpenThread.
[in] aBuf
Pointeur vers les données à envoyer en tant que valeur du TLV du service TCAT Send Application Data TLV.
[in] aLength
Nombre indiquant la longueur du tampon de données.
Valeurs de retour
OT_ERROR_NONE
Les données ont bien été envoyées.
OT_ERROR_NO_BUFS
Échec de l'allocation de mémoire tampon.
OT_ERROR_INVALID_STATE
La connexion TLS n'a pas été initialisée.

otBleSecureSendApplicationTlv

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

Envoie un paquet de données BLE sécurisé contenant un TLV de données d'application d'envoi TCAT.

Détails
Paramètres
[in] aInstance
Un pointeur vers une instance OpenThread.
[in] aBuf
Pointeur vers les données à envoyer en tant que valeur du TLV du service TCAT Send Application Data TLV.
[in] aLength
Nombre indiquant la longueur du tampon de données.
Valeurs de retour
OT_ERROR_NONE
Les données ont bien été envoyées.
OT_ERROR_NO_BUFS
Échec de l'allocation de mémoire tampon.
OT_ERROR_INVALID_STATE
La connexion TLS n'a pas été initialisée.

otBleSecureSendMessage

otError otBleSecureSendMessage(
  otInstance *aInstance,
  otMessage *aMessage
)

Envoie un message BLE sécurisé.

Si la valeur renvoyée est OT_ERROR_NONE, OpenThread devient propriétaire de aMessage, et l'appelant ne doit plus référencer aMessage. Si la valeur renvoyée n'est pas OT_ERROR_NONE, l'appelant conserve la propriété de aMessage, y compris en libérant aMessage si la mémoire tampon du message n'est plus nécessaire.

Détails
Paramètres
[in] aInstance
Un pointeur vers une instance OpenThread.
[in] aMessage
Pointeur vers le message à envoyer.

Détails
Valeurs de retour
OT_ERROR_NONE
Le message a bien été envoyé.
OT_ERROR_NO_BUFS
Échec de l'allocation de mémoire tampon.
OT_ERROR_INVALID_STATE
La connexion TLS n'a pas été initialisée.

otBleSecureSetCaCertificateChain

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

Définit les autorités de certification de premier niveau approuvées.

Il est nécessaire pour valider le certificat du pair.

Mode TLS "ECDHE ECDSA avec AES 128 CCM 8" pour une connexion BLE sécurisée

Détails
Paramètres
[in] aInstance
Un pointeur vers une instance OpenThread.
[in] aX509CaCertificateChain
Pointeur vers la chaîne d'autorité de certification X509 au format PEM.
[in] aX509CaCertChainLength
Longueur de la chaîne.

otBleSecureSetCertificate

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

Définit le certificat X509 de l'appareil local avec la clé privée correspondante pour la session TLS avec TLS_ECDHE_ECDSA_WITH_AES_128_CCM_8.

Détails
Paramètres
[in] aInstance
Un pointeur vers une instance OpenThread.
[in] aX509Cert
Pointeur vers le certificat X509 au format PEM.
[in] aX509Length
Longueur du certificat.
[in] aPrivateKey
Pointeur vers la clé privée au format PEM.
[in] aPrivateKeyLength
Longueur de la clé privée.

otBleSecureSetPsk

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

Définit la clé pré-partagée (PSK) et la suite de chiffrement TLS_PSK_WITH_AES_128_CCM_8.

Détails
Paramètres
[in] aInstance
Un pointeur vers une instance OpenThread.
[in] aPsk
Un pointeur vers la clé PSK.
[in] aPskLength
Longueur de la clé pré-partagée.
[in] aPskIdentity
Nom d'identité de la clé PSK.
[in] aPskIdLength
Longueur d'identité PSK.

otBleSecureSetSslAuthMode

void otBleSecureSetSslAuthMode(
  otInstance *aInstance,
  bool aVerifyPeerCertificate
)

Définit le mode d'authentification de la connexion sécurisée BLE.

Désactivez ou activez la vérification des certificats de pairs. Doit être appelé avant le début.

Détails
Paramètres
[in] aInstance
Un pointeur vers une instance OpenThread.
[in] aVerifyPeerCertificate
pour vérifier le certificat de pairs.

otBleSecureStart

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

Démarre le service sécurisé BLE.

Lorsque le mode TLV est actif, la fonction aReceiveHandler est appelée une fois qu'un TLV complet a été reçu et que le décalage du message pointe vers la valeur TLV.

Détails
Paramètres
[in] aInstance
Un pointeur vers une instance OpenThread.
[in] aConnectHandler
Pointeur vers une fonction qui sera appelée lorsque l'état de la connexion change.
[in] aReceiveHandler
Pointeur vers une fonction qui sera appelée une fois les données reçues via la connexion TLS.
[in] aTlvMode
Valeur booléenne indiquant si le mode ligne doit être activé.
[in] aContext
Pointeur vers des informations de contexte arbitraires. Peut être NULL s'il n'est pas utilisé.
Valeurs de retour
OT_ERROR_NONE
Le serveur sécurisé BLE a bien été démarré.
OT_ERROR_ALREADY
Le service a déjà été indiqué.

otBleSecureStop

void otBleSecureStop(
  otInstance *aInstance
)

Arrête le serveur sécurisé BLE.

Détails
Paramètres
[in] aInstance
Un pointeur vers une instance OpenThread.

otBleSecureTcatStart

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

Active le protocole TCAT via BLE Secure.

Détails
Paramètres
[in] aInstance
Un pointeur vers une instance OpenThread.
[in] aVendorInfo
Pointeur vers les informations sur le fournisseur (il doit rester valide après l'appel de la méthode, peut être NULL).
[in] aHandler
Pointeur vers une fonction appelée à la fin de l'opération de jointure.
Valeurs de retour
OT_ERROR_NONE
Le rôle "Jointeur sécurisé BLE" a bien été démarré.
OT_ERROR_INVALID_ARGS
aElevationPsk ou aVendorInfo n'est pas valide.
OT_ERROR_INVALID_STATE
La fonction BLE n’a pas été lancée ou le mode ligne n’est pas sélectionné.

Macros

OT_TCAT_MAX_SERVICE_NAME_LENGTH

 OT_TCAT_MAX_SERVICE_NAME_LENGTH 15

Longueur maximale de la chaîne d'un nom de service UDP ou TCP (n'inclut pas le caractère nul).

Ressources

Les sujets de référence de l'API OpenThread proviennent du code source, disponible sur GitHub. Pour en savoir plus ou pour contribuer à notre documentation, consultez la section Ressources.