Google is committed to advancing racial equity for Black communities. See how.
Cette page a été traduite par l'API Cloud Translation.
Switch to English

CoAP sécurisé

Ce module comprend des fonctions qui contrôlent la communication CoAP Secure (CoAP over DTLS).

Résumé

Les fonctions de ce module sont disponibles lorsque la fonctionnalité CoAP Secure API ( OPENTHREAD_CONFIG_COAP_SECURE_API_ENABLE ) est activée.

Typedefs

otHandleCoapSecureClientConnect )(bool aConnected, void *aContext) typedef
void(*
Ce pointeur de fonction est appelé lorsque l'état de la connexion DTLS change.

Les fonctions

otCoapSecureAddResource ( otInstance *aInstance, otCoapResource *aResource)
void
Cette fonction ajoute une ressource au serveur CoAP Secure.
otCoapSecureConnect ( otInstance *aInstance, const otSockAddr *aSockAddr, otHandleCoapSecureClientConnect aHandler, void *aContext)
Cette méthode initialise la session DTLS avec un homologue.
otCoapSecureDisconnect ( otInstance *aInstance)
void
Cette méthode arrête la connexion DTLS.
otCoapSecureGetPeerCertificateBase64 ( otInstance *aInstance, unsigned char *aPeerCert, size_t *aCertLength, size_t aCertBufferSize)
Cette méthode renvoie le certificat homologue x509 codé en base64.
otCoapSecureIsConnected ( otInstance *aInstance)
bool
Cette méthode indique si la session DTLS est connectée ou non.
otCoapSecureIsConnectionActive ( otInstance *aInstance)
bool
Cette méthode indique si la session DTLS est active ou non.
otCoapSecureRemoveResource ( otInstance *aInstance, otCoapResource *aResource)
void
Cette fonction supprime une ressource du serveur CoAP Secure.
otCoapSecureSendRequest ( otInstance *aInstance, otMessage *aMessage, otCoapResponseHandler aHandler, void *aContext)
Cette méthode envoie une demande CoAP via une connexion DTLS sécurisée.
otCoapSecureSendResponse ( otInstance *aInstance, otMessage *aMessage, const otMessageInfo *aMessageInfo)
Cette fonction envoie une réponse CoAP du serveur CoAP Secure.
otCoapSecureSetCaCertificateChain ( otInstance *aInstance, const uint8_t *aX509CaCertificateChain, uint32_t aX509CaCertChainLength)
void
Cette méthode définit les autorités de certification de niveau supérieur approuvées.
otCoapSecureSetCertificate ( otInstance *aInstance, const uint8_t *aX509Cert, uint32_t aX509Length, const uint8_t *aPrivateKey, uint32_t aPrivateKeyLength)
void
Cette méthode définit le certificat X509 du périphérique local avec la clé privée correspondante pour la session DTLS avec DTLS_ECDHE_ECDSA_WITH_AES_128_CCM_8.
otCoapSecureSetClientConnectedCallback ( otInstance *aInstance, otHandleCoapSecureClientConnect aHandler, void *aContext)
void
Cette méthode définit le rappel connecté pour indiquer, quand un client se connecte au serveur CoAP Secure.
otCoapSecureSetDefaultHandler ( otInstance *aInstance, otCoapRequestHandler aHandler, void *aContext)
void
Cette fonction définit le gestionnaire par défaut pour les demandes CoAP Secure non gérées.
otCoapSecureSetPsk ( otInstance *aInstance, const uint8_t *aPsk, uint16_t aPskLength, const uint8_t *aPskIdentity, uint16_t aPskIdLength)
void
Cette méthode définit la clé pré-partagée (PSK) et la suite de chiffrement DTLS_PSK_WITH_AES_128_CCM_8.
otCoapSecureSetSslAuthMode ( otInstance *aInstance, bool aVerifyPeerCertificate)
void
Cette méthode définit le mode d'authentification pour la connexion sécurisée coap.
otCoapSecureStart ( otInstance *aInstance, uint16_t aPort)
Cette fonction démarre le service CoAP Secure.
otCoapSecureStop ( otInstance *aInstance)
void
Cette fonction arrête le serveur CoAP Secure.

Typedefs

otHandleCoapSecureClientConnect

void(* otHandleCoapSecureClientConnect)(bool aConnected, void *aContext)

Ce pointeur de fonction est appelé lorsque l'état de la connexion DTLS change.

Détails
Paramètres
[in] aConnected
true, si une connexion a été établie, false dans le cas contraire.
[in] aContext
Un pointeur vers des informations contextuelles arbitraires.

Les fonctions

otCoapSecureAddResource

void otCoapSecureAddResource(
  otInstance *aInstance,
  otCoapResource *aResource
)

Cette fonction ajoute une ressource au serveur CoAP Secure.

Détails
Paramètres
[in] aInstance
Un pointeur vers une instance d'OpenThread.
[in] aResource
Un pointeur vers la ressource.

otCoapSecureConnect

 otError otCoapSecureConnect(
  otInstance *aInstance,
  const otSockAddr *aSockAddr,
  otHandleCoapSecureClientConnect aHandler,
  void *aContext
)

Cette méthode initialise la session DTLS avec un homologue.

Détails
Paramètres
[in] aInstance
Un pointeur vers une instance d'OpenThread.
[in] aSockAddr
Un pointeur vers le sockaddr distant.
[in] aHandler
Un pointeur vers une fonction qui sera appelée lorsque l'état de la connexion DTLS change.
[in] aContext
Un pointeur vers des informations contextuelles arbitraires.
Valeurs de retour
OT_ERROR_NONE
Connexion DTLS démarrée avec succès.

otCoapSecureDisconnect

void otCoapSecureDisconnect(
  otInstance *aInstance
)

Cette méthode arrête la connexion DTLS.

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

otCoapSecureGetPeerCertificateBase64

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

Cette méthode renvoie le certificat homologue x509 codé en base64.

Détails
Paramètres
[in] aInstance
Un pointeur vers une instance d'OpenThread.
[out] aPeerCert
Un pointeur vers le tampon de certificat encodé en base64.
[out] aCertLength
La longueur du certificat homologue codé en base64.
[in] aCertBufferSize
La taille de la mémoire tampon de aPeerCert.
Valeurs de retour
OT_ERROR_INVALID_STATE
Pas encore connecté.
OT_ERROR_NONE
Obtenez avec succès le certificat homologue.
OT_ERROR_NO_BUFS
Impossible d'allouer de la mémoire pour le certificat.

otCoapSecureIsConnected

bool otCoapSecureIsConnected(
  otInstance *aInstance
)

Cette méthode indique si la session DTLS est connectée ou non.

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

otCoapSecureIsConnectionActive

bool otCoapSecureIsConnectionActive(
  otInstance *aInstance
)

Cette méthode indique si la session DTLS est active ou non.

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

otCoapSecureRemoveResource

void otCoapSecureRemoveResource(
  otInstance *aInstance,
  otCoapResource *aResource
)

Cette fonction supprime une ressource du serveur CoAP Secure.

Détails
Paramètres
[in] aInstance
Un pointeur vers une instance d'OpenThread.
[in] aResource
Un pointeur vers la ressource.

otCoapSecureSendRequest

 otError otCoapSecureSendRequest(
  otInstance *aInstance,
  otMessage *aMessage,
  otCoapResponseHandler aHandler,
  void *aContext
)

Cette méthode envoie une demande CoAP via une connexion DTLS sécurisée.

Si une réponse à une demande est attendue, les informations de fonction et de contexte respectives doivent être fournies. Si aucune réponse n'est attendue, ces arguments doivent être des pointeurs NULL. Si l'ID de message n'a pas été défini dans l'en-tête (égal à 0), cette fonction attribuera un ID de message unique au message.

Détails
Paramètres
[in] aInstance
Un pointeur vers une instance d'OpenThread.
[in] aMessage
Une référence au message à envoyer.
[in] aHandler
Pointeur de fonction qui doit être appelé à la réception de la réponse ou à l'expiration du délai.
[in] aContext
Un pointeur vers des informations contextuelles arbitraires.
Valeurs de retour
OT_ERROR_NONE
Message CoAP envoyé avec succès.
OT_ERROR_NO_BUFS
Échec de l'attribution des données de retransmission.
OT_ERROR_INVALID_STATE
La connexion DTLS n'a pas été initialisée.

otCoapSecureSendResponse

 otError otCoapSecureSendResponse(
  otInstance *aInstance,
  otMessage *aMessage,
  const otMessageInfo *aMessageInfo
)

Cette fonction envoie une réponse CoAP du serveur CoAP Secure.

Détails
Paramètres
[in] aInstance
Un pointeur vers une instance d'OpenThread.
[in] aMessage
Un pointeur vers la réponse CoAP à envoyer.
[in] aMessageInfo
Un pointeur vers les informations de message associées à aMessage .
Valeurs de retour
OT_ERROR_NONE
Mise en file d'attente réussie du message de réponse CoAP.
OT_ERROR_NO_BUFS
Tampons disponibles insuffisants pour envoyer la réponse CoAP.

otCoapSecureSetCaCertificateChain

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

Cette méthode définit les autorités de certification de niveau supérieur approuvées.

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

Mode DTLS "ECDHE ECDSA avec AES 128 CCM 8" pour Application CoAPS.

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

otCoapSecureSetCertificate

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

Cette méthode définit le certificat X509 du périphérique local avec la clé privée correspondante pour la session DTLS avec DTLS_ECDHE_ECDSA_WITH_AES_128_CCM_8.

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

otCoapSecureSetClientConnectedCallback

void otCoapSecureSetClientConnectedCallback(
  otInstance *aInstance,
  otHandleCoapSecureClientConnect aHandler,
  void *aContext
)

Cette méthode définit le rappel connecté pour indiquer, quand un client se connecte au serveur CoAP Secure.

Détails
Paramètres
[in] aInstance
Un pointeur vers une instance d'OpenThread.
[in] aHandler
Un pointeur vers une fonction qui sera appelée une fois la connexion DTLS établie.
[in] aContext
Un pointeur vers des informations contextuelles arbitraires. Peut être NULL s'il n'est pas utilisé.

otCoapSecureSetDefaultHandler

void otCoapSecureSetDefaultHandler(
  otInstance *aInstance,
  otCoapRequestHandler aHandler,
  void *aContext
)

Cette fonction définit le gestionnaire par défaut pour les demandes CoAP Secure non gérées.

Détails
Paramètres
[in] aInstance
Un pointeur vers une instance d'OpenThread.
[in] aHandler
Un pointeur de fonction qui doit être appelé lorsqu'une demande non gérée arrive.
[in] aContext
Un pointeur vers des informations contextuelles arbitraires. Peut être NULL s'il n'est pas utilisé.

otCoapSecureSetPsk

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

Cette méthode définit la clé pré-partagée (PSK) et la suite de chiffrement DTLS_PSK_WITH_AES_128_CCM_8.

Détails
Paramètres
[in] aInstance
Un pointeur vers une instance d'OpenThread.
[in] aPsk
Un pointeur vers le PSK.
[in] aPskLength
La longueur PSK.
[in] aPskIdentity
Le nom d'identité du PSK.
[in] aPskIdLength
La longueur d'identité PSK.

otCoapSecureSetSslAuthMode

void otCoapSecureSetSslAuthMode(
  otInstance *aInstance,
  bool aVerifyPeerCertificate
)

Cette méthode définit le mode d'authentification pour la connexion sécurisée coap.

Désactivez ou activez la vérification du certificat homologue. Doit être appelé avant de commencer.

Détails
Paramètres
[in] aInstance
Un pointeur vers une instance d'OpenThread.
[in] aVerifyPeerCertificate
true, pour vérifier le certificat homologue.

otCoapSecureStart

 otError otCoapSecureStart(
  otInstance *aInstance,
  uint16_t aPort
)

Cette fonction démarre le service CoAP Secure.

Détails
Paramètres
[in] aInstance
Un pointeur vers une instance d'OpenThread.
[in] aPort
Le port UDP local auquel se connecter.
Valeurs de retour
OT_ERROR_NONE
Démarrage réussi du serveur CoAP Secure.

otCoapSecureStop

void otCoapSecureStop(
  otInstance *aInstance
)

Cette fonction arrête le serveur CoAP Secure.

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

Macros

OT_DEFAULT_COAP_SECURE_PORT

 OT_DEFAULT_COAP_SECURE_PORT 5684

Port sécurisé CoAP par défaut, comme spécifié dans la RFC 7252.