Безопасный 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 . Чтобы получить дополнительную информацию или внести свой вклад в нашу документацию, обратитесь к разделу Ресурсы .