Google is committed to advancing racial equity for Black communities. See how.
Questa pagina è stata tradotta dall'API Cloud Translation.
Switch to English

CoAP Secure

Questo modulo include funzioni che controllano la comunicazione CoAP Secure (CoAP over DTLS).

Sommario

Le funzioni in questo modulo sono disponibili quando la funzione CoAP Secure API ( OPENTHREAD_CONFIG_COAP_SECURE_API_ENABLE ) è abilitata.

Typedef

otHandleCoapSecureClientConnect )(bool aConnected, void *aContext) typedef
void(*
Questo puntatore a funzione viene chiamato quando cambia lo stato della connessione DTLS.

Funzioni

otCoapSecureAddBlockWiseResource ( otInstance *aInstance, otCoapBlockwiseResource *aResource)
void
Questa funzione aggiunge una risorsa block-wise al server CoAP Secure.
otCoapSecureAddResource ( otInstance *aInstance, otCoapResource *aResource)
void
Questa funzione aggiunge una risorsa al server CoAP Secure.
otCoapSecureConnect ( otInstance *aInstance, const otSockAddr *aSockAddr, otHandleCoapSecureClientConnect aHandler, void *aContext)
Questo metodo inizializza la sessione DTLS con un peer.
otCoapSecureDisconnect ( otInstance *aInstance)
void
Questo metodo interrompe la connessione DTLS.
otCoapSecureGetPeerCertificateBase64 ( otInstance *aInstance, unsigned char *aPeerCert, size_t *aCertLength, size_t aCertBufferSize)
Questo metodo restituisce il certificato peer x509 con codifica base64.
otCoapSecureIsConnected ( otInstance *aInstance)
bool
Questo metodo indica se la sessione DTLS è connessa o meno.
otCoapSecureIsConnectionActive ( otInstance *aInstance)
bool
Questo metodo indica se la sessione DTLS è attiva o meno.
otCoapSecureRemoveBlockWiseResource ( otInstance *aInstance, otCoapBlockwiseResource *aResource)
void
Questa funzione rimuove una risorsa block-wise dal server CoAP Secure.
otCoapSecureRemoveResource ( otInstance *aInstance, otCoapResource *aResource)
void
Questa funzione rimuove una risorsa dal server CoAP Secure.
otCoapSecureSendRequest ( otInstance *aInstance, otMessage *aMessage, otCoapResponseHandler aHandler, void *aContext)
Questo metodo invia una richiesta CoAP su una connessione DTLS sicura.
otCoapSecureSendRequestBlockWise ( otInstance *aInstance, otMessage *aMessage, otCoapResponseHandler aHandler, void *aContext, otCoapBlockwiseTransmitHook aTransmitHook, otCoapBlockwiseReceiveHook aReceiveHook)
Questo metodo invia una richiesta CoAP a livello di blocco su una connessione DTLS sicura.
otCoapSecureSendResponse ( otInstance *aInstance, otMessage *aMessage, const otMessageInfo *aMessageInfo)
Questa funzione invia una risposta CoAP dal server CoAP Secure.
otCoapSecureSendResponseBlockWise ( otInstance *aInstance, otMessage *aMessage, const otMessageInfo *aMessageInfo, void *aContext, otCoapBlockwiseTransmitHook aTransmitHook)
Questa funzione invia una risposta CoAP per blocco dal server CoAP Secure.
otCoapSecureSetCaCertificateChain ( otInstance *aInstance, const uint8_t *aX509CaCertificateChain, uint32_t aX509CaCertChainLength)
void
Questo metodo imposta le CA affidabili di primo livello.
otCoapSecureSetCertificate ( otInstance *aInstance, const uint8_t *aX509Cert, uint32_t aX509Length, const uint8_t *aPrivateKey, uint32_t aPrivateKeyLength)
void
Questo metodo imposta il certificato X509 del dispositivo locale con la chiave privata corrispondente per la sessione DTLS con DTLS_ECDHE_ECDSA_WITH_AES_128_CCM_8.
otCoapSecureSetClientConnectedCallback ( otInstance *aInstance, otHandleCoapSecureClientConnect aHandler, void *aContext)
void
Questo metodo imposta il callback connesso per indicare quando un client si connette al server CoAP Secure.
otCoapSecureSetDefaultHandler ( otInstance *aInstance, otCoapRequestHandler aHandler, void *aContext)
void
Questa funzione imposta il gestore predefinito per le richieste CoAP Secure non gestite.
otCoapSecureSetPsk ( otInstance *aInstance, const uint8_t *aPsk, uint16_t aPskLength, const uint8_t *aPskIdentity, uint16_t aPskIdLength)
void
Questo metodo imposta la chiave pre-condivisa (PSK) e la suite di crittografia DTLS_PSK_WITH_AES_128_CCM_8.
otCoapSecureSetSslAuthMode ( otInstance *aInstance, bool aVerifyPeerCertificate)
void
Questo metodo imposta la modalità di autenticazione per la connessione sicura coap.
otCoapSecureStart ( otInstance *aInstance, uint16_t aPort)
Questa funzione avvia il servizio CoAP Secure.
otCoapSecureStop ( otInstance *aInstance)
void
Questa funzione arresta il server CoAP Secure.

Typedef

otHandleCoapSecureClientConnect

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

Questo puntatore a funzione viene chiamato quando lo stato della connessione DTLS cambia.

Dettagli
Parametri
[in] aConnected
true, se è stata stabilita una connessione, false in caso contrario.
[in] aContext
Un puntatore a informazioni di contesto arbitrarie.

Funzioni

otCoapSecureAddBlockWiseResource

void otCoapSecureAddBlockWiseResource(
  otInstance *aInstance,
  otCoapBlockwiseResource *aResource
)

Questa funzione aggiunge una risorsa block-wise al server CoAP Secure.

Dettagli
Parametri
[in] aInstance
Puntatore a un'istanza di OpenThread.
[in] aResource
Un puntatore alla risorsa.

otCoapSecureAddResource

void otCoapSecureAddResource(
  otInstance *aInstance,
  otCoapResource *aResource
)

Questa funzione aggiunge una risorsa al server CoAP Secure.

Dettagli
Parametri
[in] aInstance
Puntatore a un'istanza di OpenThread.
[in] aResource
Un puntatore alla risorsa.

otCoapSecureConnect

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

Questo metodo inizializza la sessione DTLS con un peer.

Dettagli
Parametri
[in] aInstance
Puntatore a un'istanza di OpenThread.
[in] aSockAddr
Un puntatore al file sockaddr remoto.
[in] aHandler
Puntatore a una funzione che verrà chiamata quando lo stato della connessione DTLS cambia.
[in] aContext
Un puntatore a informazioni di contesto arbitrarie.
Valori restituiti
OT_ERROR_NONE
Connessione DTLS avviata con successo.

otCoapSecureDisconnect

void otCoapSecureDisconnect(
  otInstance *aInstance
)

Questo metodo interrompe la connessione DTLS.

Dettagli
Parametri
[in] aInstance
Puntatore a un'istanza di OpenThread.

otCoapSecureGetPeerCertificateBase64

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

Questo metodo restituisce il certificato peer x509 con codifica base64.

Dettagli
Parametri
[in] aInstance
Puntatore a un'istanza di OpenThread.
[out] aPeerCert
Un puntatore al buffer del certificato con codifica base64.
[out] aCertLength
La lunghezza del certificato peer con codifica base64.
[in] aCertBufferSize
La dimensione del buffer di aPeerCert.
Valori restituiti
OT_ERROR_INVALID_STATE
Non ancora connesso.
OT_ERROR_NONE
Ottieni con successo il certificato del peer.
OT_ERROR_NO_BUFS
Impossibile allocare memoria per il certificato.

otCoapSecureIsConnected

bool otCoapSecureIsConnected(
  otInstance *aInstance
)

Questo metodo indica se la sessione DTLS è connessa o meno.

Dettagli
Parametri
[in] aInstance
Puntatore a un'istanza di OpenThread.
Valori restituiti
TRUE
La sessione DTLS è connessa.
FALSE
La sessione DTLS non è connessa.

otCoapSecureIsConnectionActive

bool otCoapSecureIsConnectionActive(
  otInstance *aInstance
)

Questo metodo indica se la sessione DTLS è attiva o meno.

Dettagli
Parametri
[in] aInstance
Puntatore a un'istanza di OpenThread.
Valori restituiti
TRUE
Se la sessione DTLS è attiva.
FALSE
Se la sessione DTLS non è attiva.

otCoapSecureRemoveBlockWiseResource

void otCoapSecureRemoveBlockWiseResource(
  otInstance *aInstance,
  otCoapBlockwiseResource *aResource
)

Questa funzione rimuove una risorsa a livello di blocco dal server CoAP Secure.

Dettagli
Parametri
[in] aInstance
Puntatore a un'istanza di OpenThread.
[in] aResource
Un puntatore alla risorsa.

otCoapSecureRemoveResource

void otCoapSecureRemoveResource(
  otInstance *aInstance,
  otCoapResource *aResource
)

Questa funzione rimuove una risorsa dal server CoAP Secure.

Dettagli
Parametri
[in] aInstance
Puntatore a un'istanza di OpenThread.
[in] aResource
Un puntatore alla risorsa.

otCoapSecureSendRequest

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

Questo metodo invia una richiesta CoAP su una connessione DTLS sicura.

Se è prevista una risposta a una richiesta, devono essere fornite le rispettive funzioni e le informazioni sul contesto. Se non è prevista alcuna risposta, questi argomenti dovrebbero essere puntatori NULL. Se l'ID messaggio non è stato impostato nell'intestazione (uguale a 0), questa funzione assegnerà un ID messaggio univoco al messaggio.

Dettagli
Parametri
[in] aInstance
Puntatore a un'istanza di OpenThread.
[in] aMessage
Un riferimento al messaggio da inviare.
[in] aHandler
Un puntatore a funzione che deve essere chiamato alla ricezione della risposta o al timeout.
[in] aContext
Un puntatore a informazioni di contesto arbitrarie.
Valori restituiti
OT_ERROR_NONE
Messaggio CoAP inviato con successo.
OT_ERROR_NO_BUFS
Impossibile allocare i dati di ritrasmissione.
OT_ERROR_INVALID_STATE
La connessione DTLS non è stata inizializzata.

otCoapSecureSendRequestBlockWise

otError otCoapSecureSendRequestBlockWise(
  otInstance *aInstance,
  otMessage *aMessage,
  otCoapResponseHandler aHandler,
  void *aContext,
  otCoapBlockwiseTransmitHook aTransmitHook,
  otCoapBlockwiseReceiveHook aReceiveHook
)

Questo metodo invia una richiesta CoAP a livello di blocco su una connessione DTLS sicura.

Questa funzione è disponibile quando la configurazione OPENTHREAD_CONFIG_COAP_BLOCKWISE_TRANSFER_ENABLE è abilitata.

Se è prevista una risposta a una richiesta, devono essere fornite le rispettive funzioni e informazioni sul contesto. Se non è prevista alcuna risposta, questi argomenti dovrebbero essere puntatori NULL. Se l'ID messaggio non è stato impostato nell'intestazione (uguale a 0), questa funzione assegnerà un ID messaggio univoco al messaggio.

Dettagli
Parametri
[in] aInstance
Puntatore a un'istanza di OpenThread.
[in] aMessage
Un riferimento al messaggio da inviare.
[in] aHandler
Un puntatore a funzione che deve essere chiamato alla ricezione della risposta o al timeout.
[in] aContext
Un puntatore a informazioni di contesto arbitrarie.
[in] aTransmitHook
Un puntatore a funzione che viene chiamato alla ricezione della risposta Block1.
[in] aReceiveHook
Un puntatore a funzione che viene chiamato alla ricezione della risposta Block2.
Valori restituiti
OT_ERROR_NONE
Messaggio CoAP inviato con successo.
OT_ERROR_NO_BUFS
Impossibile allocare i dati di ritrasmissione.
OT_ERROR_INVALID_STATE
La connessione DTLS non è stata inizializzata.

otCoapSecureSendResponse

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

Questa funzione invia una risposta CoAP dal server CoAP Secure.

Dettagli
Parametri
[in] aInstance
Puntatore a un'istanza di OpenThread.
[in] aMessage
Un puntatore alla risposta CoAP da inviare.
[in] aMessageInfo
Un puntatore alle informazioni sul messaggio associate a aMessage .
Valori restituiti
OT_ERROR_NONE
Accodato con successo il messaggio di risposta CoAP.
OT_ERROR_NO_BUFS
Buffer disponibili insufficienti per inviare la risposta CoAP.

otCoapSecureSendResponseBlockWise

otError otCoapSecureSendResponseBlockWise(
  otInstance *aInstance,
  otMessage *aMessage,
  const otMessageInfo *aMessageInfo,
  void *aContext,
  otCoapBlockwiseTransmitHook aTransmitHook
)

Questa funzione invia una risposta CoAP per blocco dal server CoAP Secure.

Questa funzione è disponibile quando la configurazione OPENTHREAD_CONFIG_COAP_BLOCKWISE_TRANSFER_ENABLE è abilitata.

Dettagli
Parametri
[in] aInstance
Puntatore a un'istanza di OpenThread.
[in] aMessage
Un puntatore alla risposta CoAP da inviare.
[in] aMessageInfo
Un puntatore alle informazioni sul messaggio associate a aMessage .
[in] aContext
Un puntatore a informazioni di contesto arbitrarie. Può essere NULL se non utilizzato.
[in] aTransmitHook
Puntatore a funzione che viene chiamato alla ricezione della richiesta Block1.
Valori restituiti
OT_ERROR_NONE
Accodato con successo il messaggio di risposta CoAP.
OT_ERROR_NO_BUFS
Buffer disponibili insufficienti per inviare la risposta CoAP.

otCoapSecureSetCaCertificateChain

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

Questo metodo imposta le CA affidabili di primo livello.

È necessario per convalidare il certificato del peer.

Modalità DTLS "ECDHE ECDSA con AES 128 CCM 8" per applicazione CoAPS.

Dettagli
Parametri
[in] aInstance
Puntatore a un'istanza di OpenThread.
[in] aX509CaCertificateChain
Un puntatore alla catena X509 CA formattata PEM.
[in] aX509CaCertChainLength
La lunghezza della catena.

otCoapSecureSetCertificate

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

Questo metodo imposta il certificato X509 del dispositivo locale con la chiave privata corrispondente per la sessione DTLS con DTLS_ECDHE_ECDSA_WITH_AES_128_CCM_8.

Dettagli
Parametri
[in] aInstance
Puntatore a un'istanza di OpenThread.
[in] aX509Cert
Un puntatore al certificato X509 formattato PEM.
[in] aX509Length
La lunghezza del certificato.
[in] aPrivateKey
Un puntatore alla chiave privata formattata PEM.
[in] aPrivateKeyLength
La lunghezza della chiave privata.

otCoapSecureSetClientConnectedCallback

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

Questo metodo imposta la richiamata connessa per indicare quando un client si connette al server CoAP Secure.

Dettagli
Parametri
[in] aInstance
Puntatore a un'istanza di OpenThread.
[in] aHandler
Puntatore a una funzione che verrà chiamata una volta stabilita la connessione DTLS.
[in] aContext
Un puntatore a informazioni di contesto arbitrarie. Può essere NULL se non utilizzato.

otCoapSecureSetDefaultHandler

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

Questa funzione imposta il gestore predefinito per le richieste CoAP Secure non gestite.

Dettagli
Parametri
[in] aInstance
Puntatore a un'istanza di OpenThread.
[in] aHandler
Un puntatore a funzione che deve essere chiamato quando arriva una richiesta non gestita.
[in] aContext
Un puntatore a informazioni di contesto arbitrarie. Può essere NULL se non utilizzato.

otCoapSecureSetPsk

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

Questo metodo imposta la chiave pre-condivisa (PSK) e la suite di crittografia DTLS_PSK_WITH_AES_128_CCM_8.

Dettagli
Parametri
[in] aInstance
Puntatore a un'istanza di OpenThread.
[in] aPsk
Un puntatore al PSK.
[in] aPskLength
La lunghezza del PSK.
[in] aPskIdentity
Il nome identità per il PSK.
[in] aPskIdLength
La lunghezza dell'identità PSK.

otCoapSecureSetSslAuthMode

void otCoapSecureSetSslAuthMode(
  otInstance *aInstance,
  bool aVerifyPeerCertificate
)

Questo metodo imposta la modalità di autenticazione per la connessione sicura coap.

Disabilita o abilita la verifica del certificato peer. Deve essere chiamato prima dell'inizio.

Dettagli
Parametri
[in] aInstance
Puntatore a un'istanza di OpenThread.
[in] aVerifyPeerCertificate
true, per verificare il certificato del peer.

otCoapSecureStart

otError otCoapSecureStart(
  otInstance *aInstance,
  uint16_t aPort
)

Questa funzione avvia il servizio CoAP Secure.

Dettagli
Parametri
[in] aInstance
Puntatore a un'istanza di OpenThread.
[in] aPort
La porta UDP locale a cui collegarsi.
Valori restituiti
OT_ERROR_NONE
Avviato con successo il server CoAP Secure.

otCoapSecureStop

void otCoapSecureStop(
  otInstance *aInstance
)

Questa funzione arresta il server CoAP Secure.

Dettagli
Parametri
[in] aInstance
Puntatore a un'istanza di OpenThread.

Macro

OT_DEFAULT_COAP_SECURE_PORT

 OT_DEFAULT_COAP_SECURE_PORT 5684

Porta protetta CoAP predefinita, come specificato in RFC 7252.