COAP-sicher
Dieses Modul enthält Funktionen, die die Kommunikation über CoAP Secure (CoAP über DTLS) steuern.
Zusammenfassung
Die Funktionen in diesem Modul sind verfügbar, wenn die Funktion „CoAP Secure API“ (OPENTHREAD_CONFIG_COAP_SECURE_API_ENABLE
) aktiviert ist.
Typdef1 |
|
---|---|
otHandleCoapSecureClientConnect)(bool aConnected, void *aContext)
|
Typdefvoid(*
Der Zeiger wird aufgerufen, wenn sich der DTLS-Verbindungsstatus ändert. |
Functions |
|
---|---|
otCoapSecureAddBlockWiseResource(otInstance *aInstance, otCoapBlockwiseResource *aResource)
|
void
Fügt dem CoAP Secure-Server eine blockweise Ressource hinzu.
|
otCoapSecureAddResource(otInstance *aInstance, otCoapResource *aResource)
|
void
Fügt dem CoAP Secure-Server eine Ressource hinzu.
|
otCoapSecureConnect(otInstance *aInstance, const otSockAddr *aSockAddr, otHandleCoapSecureClientConnect aHandler, void *aContext)
|
Initialisiert eine DTLS-Sitzung mit einem Peer.
|
otCoapSecureDisconnect(otInstance *aInstance)
|
void
Stoppt die DTLS-Verbindung.
|
otCoapSecureGetPeerCertificateBase64(otInstance *aInstance, unsigned char *aPeerCert, size_t *aCertLength, size_t aCertBufferSize)
|
Gibt das Peer-x509-Zertifikat mit Base64-Codierung zurück.
|
otCoapSecureIsConnected(otInstance *aInstance)
|
bool
Gibt an, ob die DTLS-Sitzung verbunden ist.
|
otCoapSecureIsConnectionActive(otInstance *aInstance)
|
bool
Gibt an, ob die DTLS-Sitzung aktiv ist.
|
otCoapSecureRemoveBlockWiseResource(otInstance *aInstance, otCoapBlockwiseResource *aResource)
|
void
Entfernt eine blockweise Ressource vom CoAP Secure-Server.
|
otCoapSecureRemoveResource(otInstance *aInstance, otCoapResource *aResource)
|
void
Entfernt eine Ressource vom CoAP Secure-Server.
|
otCoapSecureSendRequest(otInstance *aInstance, otMessage *aMessage, otCoapResponseHandler aHandler, void *aContext)
|
Sendet eine CoAP-Anfrage über eine sichere DTLS-Verbindung.
|
otCoapSecureSendRequestBlockWise(otInstance *aInstance, otMessage *aMessage, otCoapResponseHandler aHandler, void *aContext, otCoapBlockwiseTransmitHook aTransmitHook, otCoapBlockwiseReceiveHook aReceiveHook)
|
Sendet eine CoAP-Anfrage blockweise über eine sichere DTLS-Verbindung.
|
otCoapSecureSendResponse(otInstance *aInstance, otMessage *aMessage, const otMessageInfo *aMessageInfo)
|
Sendet eine CoAP-Antwort vom CoAP Secure-Server.
|
otCoapSecureSendResponseBlockWise(otInstance *aInstance, otMessage *aMessage, const otMessageInfo *aMessageInfo, void *aContext, otCoapBlockwiseTransmitHook aTransmitHook)
|
Sendet eine CoAP-Antwort blockweise vom CoAP Secure-Server.
|
otCoapSecureSetCaCertificateChain(otInstance *aInstance, const uint8_t *aX509CaCertificateChain, uint32_t aX509CaCertChainLength)
|
void
Legt die vertrauenswürdigen CAs der obersten Ebene fest.
|
otCoapSecureSetCertificate(otInstance *aInstance, const uint8_t *aX509Cert, uint32_t aX509Length, const uint8_t *aPrivateKey, uint32_t aPrivateKeyLength)
|
void
Legt das X509-Zertifikat des lokalen Geräts mit dem entsprechenden privaten Schlüssel für die DTLS-Sitzung mit DTLS_ECDHE_ECDSA_WITH_AES_128_CCM_8 fest.
|
otCoapSecureSetClientConnectedCallback(otInstance *aInstance, otHandleCoapSecureClientConnect aHandler, void *aContext)
|
void
Legt den verbundenen Callback fest, der angibt, wann ein Client eine Verbindung zum CoAP Secure-Server herstellt.
|
otCoapSecureSetDefaultHandler(otInstance *aInstance, otCoapRequestHandler aHandler, void *aContext)
|
void
Legt den Standard-Handler für nicht verarbeitete sichere CoAP-Anfragen fest.
|
otCoapSecureSetPsk(otInstance *aInstance, const uint8_t *aPsk, uint16_t aPskLength, const uint8_t *aPskIdentity, uint16_t aPskIdLength)
|
void
Legt den vorinstallierten Schlüssel (Pre-Shared Key, PSK) und die Cipher Suite DTLS_PSK_WITH_AES_128_CCM_8 fest.
|
otCoapSecureSetSslAuthMode(otInstance *aInstance, bool aVerifyPeerCertificate)
|
void
Legt den Authentifizierungsmodus für die sichere Koap-Verbindung fest.
|
otCoapSecureStart(otInstance *aInstance, uint16_t aPort)
|
Startet den CoAP Secure-Dienst.
|
otCoapSecureStop(otInstance *aInstance)
|
void
Stoppt den CoAP Secure-Server.
|
Typdef1
otHandleCoapSecureClientConnect
void(* otHandleCoapSecureClientConnect)(bool aConnected, void *aContext)
Der Zeiger wird aufgerufen, wenn sich der DTLS-Verbindungsstatus ändert.
Details | |||||
---|---|---|---|---|---|
Parameter |
|
Functions
OTCoapSecureAddBlockWiseResource
void otCoapSecureAddBlockWiseResource( otInstance *aInstance, otCoapBlockwiseResource *aResource )
Fügt dem CoAP Secure-Server eine blockweise Ressource hinzu.
Details | |||||
---|---|---|---|---|---|
Parameter |
|
OTCoapSecureAddResource
void otCoapSecureAddResource( otInstance *aInstance, otCoapResource *aResource )
Fügt dem CoAP Secure-Server eine Ressource hinzu.
Details | |||||
---|---|---|---|---|---|
Parameter |
|
OTCoapSecureConnect
otError otCoapSecureConnect( otInstance *aInstance, const otSockAddr *aSockAddr, otHandleCoapSecureClientConnect aHandler, void *aContext )
Initialisiert eine DTLS-Sitzung mit einem Peer.
Details | |||||||||
---|---|---|---|---|---|---|---|---|---|
Parameter |
|
||||||||
Rückgabewerte |
|
oder sichere Verbindung trennen
void otCoapSecureDisconnect( otInstance *aInstance )
Stoppt die DTLS-Verbindung.
Details | |||
---|---|---|---|
Parameter |
|
otCoapSecureGetPeerCertificateBase64
otError otCoapSecureGetPeerCertificateBase64( otInstance *aInstance, unsigned char *aPeerCert, size_t *aCertLength, size_t aCertBufferSize )
Gibt das Peer-x509-Zertifikat mit Base64-Codierung zurück.
Details | |||||||||
---|---|---|---|---|---|---|---|---|---|
Parameter |
|
||||||||
Rückgabewerte |
|
Nicht sicher
bool otCoapSecureIsConnected( otInstance *aInstance )
Gibt an, ob die DTLS-Sitzung verbunden ist.
Details | |||||
---|---|---|---|---|---|
Parameter |
|
||||
Rückgabewerte |
|
OTCoapSecureIsConnectionActive
bool otCoapSecureIsConnectionActive( otInstance *aInstance )
Gibt an, ob die DTLS-Sitzung aktiv ist.
Details | |||||
---|---|---|---|---|---|
Parameter |
|
||||
Rückgabewerte |
|
OTCoapSecureRemoveBlockWiseResource
void otCoapSecureRemoveBlockWiseResource( otInstance *aInstance, otCoapBlockwiseResource *aResource )
Entfernt eine blockweise Ressource vom CoAP Secure-Server.
Details | |||||
---|---|---|---|---|---|
Parameter |
|
Entfernte sichere sichere Ressource
void otCoapSecureRemoveResource( otInstance *aInstance, otCoapResource *aResource )
Entfernt eine Ressource vom CoAP Secure-Server.
Details | |||||
---|---|---|---|---|---|
Parameter |
|
SichererSenden
otError otCoapSecureSendRequest( otInstance *aInstance, otMessage *aMessage, otCoapResponseHandler aHandler, void *aContext )
Sendet eine CoAP-Anfrage über eine sichere DTLS-Verbindung.
Wenn eine Antwort für eine Anfrage erwartet wird, sollten entsprechende Funktions- und Kontextinformationen angegeben werden. Wenn keine Antwort erwartet wird, sollten diese Argumente NULL-Zeiger sein. Wenn die Nachrichten-ID nicht im Header festgelegt wurde (gleich 0), weist diese Funktion der Nachricht eine eindeutige Nachrichten-ID zu.
Details | |||||||||
---|---|---|---|---|---|---|---|---|---|
Parameter |
|
||||||||
Rückgabewerte |
|
otCoapSecureSendRequestBlockWise
otError otCoapSecureSendRequestBlockWise( otInstance *aInstance, otMessage *aMessage, otCoapResponseHandler aHandler, void *aContext, otCoapBlockwiseTransmitHook aTransmitHook, otCoapBlockwiseReceiveHook aReceiveHook )
Sendet eine CoAP-Anfrage blockweise über eine sichere DTLS-Verbindung.
Ist verfügbar, wenn die Konfiguration OPENHOUR_CONFIG_COAP_BLOCKWISE_TRANSFER_ENABLE aktiviert ist.
Wenn eine Antwort für eine Anfrage erwartet wird, sollten entsprechende Funktions- und Kontextinformationen angegeben werden. Wenn keine Antwort erwartet wird, sollten diese Argumente NULL-Zeiger sein. Wenn die Nachrichten-ID nicht im Header festgelegt wurde (gleich 0), weist diese Funktion der Nachricht eine eindeutige Nachrichten-ID zu.
Details | |||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Parameter |
|
||||||||||||
Rückgabewerte |
|
BeyondCorpCoapSecureSendResponse
otError otCoapSecureSendResponse( otInstance *aInstance, otMessage *aMessage, const otMessageInfo *aMessageInfo )
Sendet eine CoAP-Antwort vom CoAP Secure-Server.
Details | |||||||
---|---|---|---|---|---|---|---|
Parameter |
|
||||||
Rückgabewerte |
|
otCoapSecureSendResponseBlockWise
otError otCoapSecureSendResponseBlockWise( otInstance *aInstance, otMessage *aMessage, const otMessageInfo *aMessageInfo, void *aContext, otCoapBlockwiseTransmitHook aTransmitHook )
Sendet eine CoAP-Antwort blockweise vom CoAP Secure-Server.
Ist verfügbar, wenn die Konfiguration OPENHOUR_CONFIG_COAP_BLOCKWISE_TRANSFER_ENABLE aktiviert ist.
Details | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Parameter |
|
||||||||||
Rückgabewerte |
|
otCoapSecureSetCaCertificateChain
void otCoapSecureSetCaCertificateChain( otInstance *aInstance, const uint8_t *aX509CaCertificateChain, uint32_t aX509CaCertChainLength )
Legt die vertrauenswürdigen CAs der obersten Ebene fest.
Sie ist erforderlich, um das Zertifikat des Peers zu validieren.
DTLS-Modus „ECDHE ECDSA mit AES 128 CCM 8“ für Application CoAPS
Details | |||||||
---|---|---|---|---|---|---|---|
Parameter |
|
OTCoapSecureSetCertificate
void otCoapSecureSetCertificate( otInstance *aInstance, const uint8_t *aX509Cert, uint32_t aX509Length, const uint8_t *aPrivateKey, uint32_t aPrivateKeyLength )
Legt das X509-Zertifikat des lokalen Geräts mit dem entsprechenden privaten Schlüssel für die DTLS-Sitzung mit DTLS_ECDHE_ECDSA_WITH_AES_128_CCM_8 fest.
Details | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Parameter |
|
otCoapSecureSetClientConnectedCallback
void otCoapSecureSetClientConnectedCallback( otInstance *aInstance, otHandleCoapSecureClientConnect aHandler, void *aContext )
Legt den verbundenen Callback fest, der angibt, wann ein Client eine Verbindung zum CoAP Secure-Server herstellt.
Details | |||||||
---|---|---|---|---|---|---|---|
Parameter |
|
otCoapSecureSetDefaultHandler
void otCoapSecureSetDefaultHandler( otInstance *aInstance, otCoapRequestHandler aHandler, void *aContext )
Legt den Standard-Handler für nicht verarbeitete sichere CoAP-Anfragen fest.
Details | |||||||
---|---|---|---|---|---|---|---|
Parameter |
|
OTCoapSecureSetPsk
void otCoapSecureSetPsk( otInstance *aInstance, const uint8_t *aPsk, uint16_t aPskLength, const uint8_t *aPskIdentity, uint16_t aPskIdLength )
Legt den vorinstallierten Schlüssel (Pre-Shared Key, PSK) und die Cipher Suite DTLS_PSK_WITH_AES_128_CCM_8 fest.
Details | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Parameter |
|
otCoapSecureSetSslAuthMode
void otCoapSecureSetSslAuthMode( otInstance *aInstance, bool aVerifyPeerCertificate )
Legt den Authentifizierungsmodus für die sichere Koap-Verbindung fest.
Deaktivieren oder aktivieren der Überprüfung eines Peer-Zertifikats. Muss vor dem Start aufgerufen werden
Details | |||||
---|---|---|---|---|---|
Parameter |
|
Sicherer Start
otError otCoapSecureStart( otInstance *aInstance, uint16_t aPort )
Startet den CoAP Secure-Dienst.
Details | |||||
---|---|---|---|---|---|
Parameter |
|
||||
Rückgabewerte |
|
OTCoapSecureStop
void otCoapSecureStop( otInstance *aInstance )
Stoppt den CoAP Secure-Server.
Details | |||
---|---|---|---|
Parameter |
|
Makros
OT_DEFAULT_COAP_SECURE_PORT
OT_DEFAULT_COAP_SECURE_PORT 5684
Standardmäßiger CoAP-Sicherheitsport, wie in RFC 7252 angegeben.
Ressourcen
Die Themen der OpenThread API-Referenz stammen aus dem Quellcode, der auf GitHub verfügbar ist. Weitere Informationen oder als Ergänzung zu unserer Dokumentation finden Sie unter Ressourcen.