Безопасный CoAP
Этот модуль включает в себя функции, которые управляют связью CoAP Secure (CoAP через DTLS).
Краткое содержание
 Функции в этом модуле доступны, когда функция CoAP Secure API ( OPENTHREAD_CONFIG_COAP_SECURE_API_ENABLE ) включена. 
| Определения типов | |
|---|---|
| otHandleCoapSecureClientConnect )(bool aConnected, void *aContext) | определение типа void(* Указатель вызывается при изменении состояния соединения DTLS.  | 
| Функции | |
|---|---|
| otCoapSecureAddBlockWiseResource ( otInstance *aInstance, otCoapBlockwiseResource *aResource) | void Добавляет блочный ресурс на сервер CoAP Secure. | 
| otCoapSecureAddResource ( otInstance *aInstance, otCoapResource *aResource) | void Добавляет ресурс на защищенный сервер CoAP. | 
| otCoapSecureConnect ( otInstance *aInstance, const otSockAddr *aSockAddr, otHandleCoapSecureClientConnect aHandler, void *aContext) |  Инициализирует сеанс DTLS с узлом. | 
| otCoapSecureDisconnect ( otInstance *aInstance) | void Останавливает соединение DTLS. | 
| otCoapSecureGetPeerCertificateBase64 ( otInstance *aInstance, unsigned char *aPeerCert, size_t *aCertLength, size_t aCertBufferSize) |  Возвращает одноранговый сертификат x509 в кодировке base64. | 
| otCoapSecureIsConnected ( otInstance *aInstance) | bool Указывает, подключен ли сеанс DTLS. | 
| otCoapSecureIsConnectionActive ( otInstance *aInstance) | bool Указывает, активен ли сеанс DTLS. | 
| otCoapSecureRemoveBlockWiseResource ( otInstance *aInstance, otCoapBlockwiseResource *aResource) | void Удаляет блочный ресурс с сервера CoAP Secure. | 
| otCoapSecureRemoveResource ( otInstance *aInstance, otCoapResource *aResource) | void Удаляет ресурс с сервера CoAP Secure. | 
| otCoapSecureSendRequest ( otInstance *aInstance, otMessage *aMessage, otCoapResponseHandler aHandler, void *aContext) |  Отправляет запрос CoAP через безопасное соединение DTLS. | 
| otCoapSecureSendRequestBlockWise ( otInstance *aInstance, otMessage *aMessage, otCoapResponseHandler aHandler, void *aContext, otCoapBlockwiseTransmitHook aTransmitHook, otCoapBlockwiseReceiveHook aReceiveHook) |  Отправляет запрос CoAP по блокам через безопасное соединение DTLS. | 
| otCoapSecureSendResponse ( otInstance *aInstance, otMessage *aMessage, const otMessageInfo *aMessageInfo) |  Отправляет ответ CoAP с сервера CoAP Secure. | 
| otCoapSecureSendResponseBlockWise ( otInstance *aInstance, otMessage *aMessage, const otMessageInfo *aMessageInfo, void *aContext, otCoapBlockwiseTransmitHook aTransmitHook) |  Отправляет ответ CoAP поблочно с сервера CoAP Secure. | 
| otCoapSecureSetCaCertificateChain ( otInstance *aInstance, const uint8_t *aX509CaCertificateChain, uint32_t aX509CaCertChainLength) | void Устанавливает доверенные центры сертификации верхнего уровня. | 
| otCoapSecureSetCertificate ( otInstance *aInstance, const uint8_t *aX509Cert, uint32_t aX509Length, const uint8_t *aPrivateKey, uint32_t aPrivateKeyLength) | void Задает сертификат X509 локального устройства с соответствующим закрытым ключом для сеанса DTLS с DTLS_ECDHE_ECDSA_WITH_AES_128_CCM_8. | 
| otCoapSecureSetClientConnectedCallback ( otInstance *aInstance, otHandleCoapSecureClientConnect aHandler, void *aContext) | void Устанавливает подключенный обратный вызов, чтобы указать, когда клиент подключается к серверу CoAP Secure. | 
| otCoapSecureSetDefaultHandler ( otInstance *aInstance, otCoapRequestHandler aHandler, void *aContext) | void Задает обработчик по умолчанию для необработанных запросов CoAP Secure. | 
| otCoapSecureSetPsk ( otInstance *aInstance, const uint8_t *aPsk, uint16_t aPskLength, const uint8_t *aPskIdentity, uint16_t aPskIdLength) | void Задает предварительный общий ключ (PSK) и набор шифров DTLS_PSK_WITH_AES_128_CCM_8. | 
| otCoapSecureSetSslAuthMode ( otInstance *aInstance, bool aVerifyPeerCertificate) | void Устанавливает режим аутентификации для защищенного соединения coap. | 
| otCoapSecureStart ( otInstance *aInstance, uint16_t aPort) |  Запускает службу CoAP Secure. | 
| otCoapSecureStop ( otInstance *aInstance) | void Останавливает сервер CoAP Secure. | 
Определения типов
отхандлекоапсекуреклиентконнект
void(* otHandleCoapSecureClientConnect)(bool aConnected, void *aContext)
Указатель вызывается при изменении состояния соединения DTLS.
| Подробности | |||||
|---|---|---|---|---|---|
| Параметры | 
 | 
Функции
otCoapSecureAddBlockWiseResource
void otCoapSecureAddBlockWiseResource( otInstance *aInstance, otCoapBlockwiseResource *aResource )
Добавляет блочный ресурс на сервер CoAP Secure.
| Подробности | |||||
|---|---|---|---|---|---|
| Параметры | 
 | 
otCoapSecureAddResource
void otCoapSecureAddResource( otInstance *aInstance, otCoapResource *aResource )
Добавляет ресурс на защищенный сервер CoAP.
| Подробности | |||||
|---|---|---|---|---|---|
| Параметры | 
 | 
otCoapSecureConnect
otError otCoapSecureConnect( otInstance *aInstance, const otSockAddr *aSockAddr, otHandleCoapSecureClientConnect aHandler, void *aContext )
Инициализирует сеанс DTLS с узлом.
| Подробности | |||||||||
|---|---|---|---|---|---|---|---|---|---|
| Параметры | 
 | ||||||||
| Возвращаемые значения | 
 | 
otCoapSecureDisconnect
void otCoapSecureDisconnect( otInstance *aInstance )
Останавливает соединение DTLS.
| Подробности | |||
|---|---|---|---|
| Параметры | 
 | 
otCoapSecureGetPeerCertificateBase64
otError otCoapSecureGetPeerCertificateBase64( otInstance *aInstance, unsigned char *aPeerCert, size_t *aCertLength, size_t aCertBufferSize )
Возвращает одноранговый сертификат x509 в кодировке base64.
| Подробности | |||||||||
|---|---|---|---|---|---|---|---|---|---|
| Параметры | 
 | ||||||||
| Возвращаемые значения | 
 | 
otCoapSecureIsConnected
bool otCoapSecureIsConnected( otInstance *aInstance )
Указывает, подключен ли сеанс DTLS.
| Подробности | |||||
|---|---|---|---|---|---|
| Параметры | 
 | ||||
| Возвращаемые значения | 
 | 
otCoapSecureIsConnectionActive
bool otCoapSecureIsConnectionActive( otInstance *aInstance )
Указывает, активен ли сеанс DTLS.
| Подробности | |||||
|---|---|---|---|---|---|
| Параметры | 
 | ||||
| Возвращаемые значения | 
 | 
otCoapSecureRemoveBlockWiseResource
void otCoapSecureRemoveBlockWiseResource( otInstance *aInstance, otCoapBlockwiseResource *aResource )
Удаляет блочный ресурс с сервера CoAP Secure.
| Подробности | |||||
|---|---|---|---|---|---|
| Параметры | 
 | 
otCoapSecureRemoveResource
void otCoapSecureRemoveResource( otInstance *aInstance, otCoapResource *aResource )
Удаляет ресурс с сервера CoAP Secure.
| Подробности | |||||
|---|---|---|---|---|---|
| Параметры | 
 | 
otCoapSecureSendRequest
otError otCoapSecureSendRequest( otInstance *aInstance, otMessage *aMessage, otCoapResponseHandler aHandler, void *aContext )
Отправляет запрос CoAP через безопасное соединение DTLS.
Если ожидается ответ на запрос, должна быть предоставлена соответствующая информация о функции и контексте. Если ответа не ожидается, эти аргументы должны быть указателями NULL. Если идентификатор сообщения не был установлен в заголовке (равен 0), эта функция присвоит сообщению уникальный идентификатор сообщения.
| Подробности | |||||||||
|---|---|---|---|---|---|---|---|---|---|
| Параметры | 
 | ||||||||
| Возвращаемые значения | 
 | 
otCoapSecureSendRequestBlockWise
otError otCoapSecureSendRequestBlockWise( otInstance *aInstance, otMessage *aMessage, otCoapResponseHandler aHandler, void *aContext, otCoapBlockwiseTransmitHook aTransmitHook, otCoapBlockwiseReceiveHook aReceiveHook )
Отправляет запрос CoAP по блокам через безопасное соединение DTLS.
Доступно, когда включена конфигурация OPENTHREAD_CONFIG_COAP_BLOCKWISE_TRANSFER_ENABLE.
Если ожидается ответ на запрос, должна быть предоставлена соответствующая информация о функции и контексте. Если ответа не ожидается, эти аргументы должны быть указателями NULL. Если идентификатор сообщения не был установлен в заголовке (равен 0), эта функция присвоит сообщению уникальный идентификатор сообщения.
| Подробности | |||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Параметры | 
 | ||||||||||||
| Возвращаемые значения | 
 | 
otCoapSecureSendResponse
otError otCoapSecureSendResponse( otInstance *aInstance, otMessage *aMessage, const otMessageInfo *aMessageInfo )
Отправляет ответ CoAP с сервера CoAP Secure.
| Подробности | |||||||
|---|---|---|---|---|---|---|---|
| Параметры | 
 | ||||||
| Возвращаемые значения | 
 | 
otCoapSecureSendResponseBlockWise
otError otCoapSecureSendResponseBlockWise( otInstance *aInstance, otMessage *aMessage, const otMessageInfo *aMessageInfo, void *aContext, otCoapBlockwiseTransmitHook aTransmitHook )
Отправляет ответ CoAP поблочно с сервера CoAP Secure.
Доступно, когда включена конфигурация OPENTHREAD_CONFIG_COAP_BLOCKWISE_TRANSFER_ENABLE.
| Подробности | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Параметры | 
 | ||||||||||
| Возвращаемые значения | 
 | 
otCoapSecureSetCaCertificateChain
void otCoapSecureSetCaCertificateChain( otInstance *aInstance, const uint8_t *aX509CaCertificateChain, uint32_t aX509CaCertChainLength )
Устанавливает доверенные центры сертификации верхнего уровня.
Это необходимо для проверки сертификата узла.
Режим DTLS «ECDHE ECDSA с AES 128 CCM 8» для приложения CoAPS.
| Подробности | |||||||
|---|---|---|---|---|---|---|---|
| Параметры | 
 | 
otCoapSecureSetCertificate
void otCoapSecureSetCertificate( otInstance *aInstance, const uint8_t *aX509Cert, uint32_t aX509Length, const uint8_t *aPrivateKey, uint32_t aPrivateKeyLength )
Задает сертификат X509 локального устройства с соответствующим закрытым ключом для сеанса DTLS с DTLS_ECDHE_ECDSA_WITH_AES_128_CCM_8.
| Подробности | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Параметры | 
 | 
otCoapSecureSetClientConnectedCallback
void otCoapSecureSetClientConnectedCallback( otInstance *aInstance, otHandleCoapSecureClientConnect aHandler, void *aContext )
Устанавливает подключенный обратный вызов, чтобы указать, когда клиент подключается к серверу CoAP Secure.
| Подробности | |||||||
|---|---|---|---|---|---|---|---|
| Параметры | 
 | 
otCoapSecureSetDefaultHandler
void otCoapSecureSetDefaultHandler( otInstance *aInstance, otCoapRequestHandler aHandler, void *aContext )
Задает обработчик по умолчанию для необработанных запросов CoAP Secure.
| Подробности | |||||||
|---|---|---|---|---|---|---|---|
| Параметры | 
 | 
otCoapSecureSetPsk
void otCoapSecureSetPsk( otInstance *aInstance, const uint8_t *aPsk, uint16_t aPskLength, const uint8_t *aPskIdentity, uint16_t aPskIdLength )
Задает предварительный общий ключ (PSK) и набор шифров DTLS_PSK_WITH_AES_128_CCM_8.
| Подробности | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Параметры | 
 | 
otCoapSecureSetSslAuthMode
void otCoapSecureSetSslAuthMode( otInstance *aInstance, bool aVerifyPeerCertificate )
Устанавливает режим аутентификации для защищенного соединения coap.
Отключите или включите проверку однорангового сертификата. Должен вызываться перед стартом.
| Подробности | |||||
|---|---|---|---|---|---|
| Параметры | 
 | 
otCoapSecureStart
otError otCoapSecureStart( otInstance *aInstance, uint16_t aPort )
Запускает службу CoAP Secure.
| Подробности | |||||
|---|---|---|---|---|---|
| Параметры | 
 | ||||
| Возвращаемые значения | 
 | 
otCoapSecureStop
void otCoapSecureStop( otInstance *aInstance )
Останавливает сервер CoAP Secure.
| Подробности | |||
|---|---|---|---|
| Параметры | 
 | 
Макросы
OT_DEFAULT_COAP_SECURE_PORT
OT_DEFAULT_COAP_SECURE_PORT 5684
Безопасный порт CoAP по умолчанию, как указано в RFC 7252.
Ресурсы
Разделы справочника по API OpenThread взяты из исходного кода, доступного на GitHub . Чтобы получить дополнительную информацию или внести свой вклад в нашу документацию, обратитесь к разделу Ресурсы .