CoAP 安全
這個模組包含可控管 CoAP Secure (CoAP on DTLS) 通訊的函式。
摘要
啟用 CoAP Secure API 功能 (OPENTHREAD_CONFIG_COAP_SECURE_API_ENABLE
) 後,即可使用本單元中的函式。
Typedefs |
|
---|---|
otHandleCoapSecureClientConnect)(bool aConnected, void *aContext)
|
typedefvoid(*
當 DTLS 連線狀態變更時,系統會呼叫指標。 |
函式 |
|
---|---|
otCoapSecureAddBlockWiseResource(otInstance *aInstance, otCoapBlockwiseResource *aResource)
|
void
將區塊式資源新增至 CoAP Secure 伺服器。
|
otCoapSecureAddResource(otInstance *aInstance, otCoapResource *aResource)
|
void
將資源新增至 CoAP Secure 伺服器。
|
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)
|
透過安全的 DTLS 連線傳送 CoAP 要求。
|
otCoapSecureSendRequestBlockWise(otInstance *aInstance, otMessage *aMessage, otCoapResponseHandler aHandler, void *aContext, otCoapBlockwiseTransmitHook aTransmitHook, otCoapBlockwiseReceiveHook aReceiveHook)
|
透過安全的 DTLS 連線,以封鎖的方式傳送 CoAP 要求。
|
otCoapSecureSendResponse(otInstance *aInstance, otMessage *aMessage, const otMessageInfo *aMessageInfo)
|
從 CoAP Secure 伺服器傳送 CoAP 回應。
|
otCoapSecureSendResponseBlockWise(otInstance *aInstance, otMessage *aMessage, const otMessageInfo *aMessageInfo, void *aContext, otCoapBlockwiseTransmitHook aTransmitHook)
|
從 CoAP Secure 伺服器逐次傳送 CoAP 回應。
|
otCoapSecureSetCaCertificateChain(otInstance *aInstance, const uint8_t *aX509CaCertificateChain, uint32_t aX509CaCertChainLength)
|
void
設定信任的頂層 CA。
|
otCoapSecureSetCertificate(otInstance *aInstance, const uint8_t *aX509Cert, uint32_t aX509Length, const uint8_t *aPrivateKey, uint32_t aPrivateKeyLength)
|
void
使用 DTLS_ECDHE_ECDSA_WITH_AES_128_CCM_8,為本機裝置的 DTLS 工作階段設定對應的私密金鑰 X509 憑證。
|
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
設定用於安全連線的驗證模式。
|
otCoapSecureStart(otInstance *aInstance, uint16_t aPort)
|
啟動 CoAP Secure 服務。
|
otCoapSecureStop(otInstance *aInstance)
|
void
停止 CoAP Secure 伺服器。
|
Typedefs
otHandleCoapSecureClientConnect
void(* otHandleCoapSecureClientConnect)(bool aConnected, void *aContext)
當 DTLS 連線狀態變更時,系統會呼叫指標。
詳細說明 | |||||
---|---|---|---|---|---|
參數 |
|
函式
otCoapSecureAddBlockWiseResource
void otCoapSecureAddBlockWiseResource( otInstance *aInstance, otCoapBlockwiseResource *aResource )
將區塊式資源新增至 CoAP Secure 伺服器。
詳細說明 | |||||
---|---|---|---|---|---|
參數 |
|
otCoapSecureAddResource
void otCoapSecureAddResource( otInstance *aInstance, otCoapResource *aResource )
將資源新增至 CoAP Secure 伺服器。
詳細說明 | |||||
---|---|---|---|---|---|
參數 |
|
otCoapSecureConnect
otError otCoapSecureConnect( otInstance *aInstance, const otSockAddr *aSockAddr, otHandleCoapSecureClientConnect aHandler, void *aContext )
使用對等點初始化 DTLS 工作階段。
詳細說明 | |||||||||
---|---|---|---|---|---|---|---|---|---|
參數 |
|
||||||||
回傳值 |
|
otCoapSecure 中斷連線
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 )
透過安全的 DTLS 連線傳送 CoAP 要求。
如果預期要求是回應,您必須提供對應的函式和背景資訊。如果沒有任何回應,這些引數應為 NULL 指標。如未在標頭中設定郵件 ID (等於 0),這個函式會為訊息指派專屬的郵件 ID。
詳細說明 | |||||||||
---|---|---|---|---|---|---|---|---|---|
參數 |
|
||||||||
回傳值 |
|
otCoapSecureSendRequestBlockWise
otError otCoapSecureSendRequestBlockWise( otInstance *aInstance, otMessage *aMessage, otCoapResponseHandler aHandler, void *aContext, otCoapBlockwiseTransmitHook aTransmitHook, otCoapBlockwiseReceiveHook aReceiveHook )
透過安全的 DTLS 連線,以封鎖的方式傳送 CoAP 要求。
啟用 OPENTHREAD_CONFIG_COAP_BLOCKWISE_TRANSFER_ENABLE 設定時即可使用。
如果預期要求是回應,您必須提供對應的函式和背景資訊。如果沒有任何回應,這些引數應為 NULL 指標。如未在標頭中設定郵件 ID (等於 0),這個函式會為訊息指派專屬的郵件 ID。
詳細說明 | |||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
參數 |
|
||||||||||||
回傳值 |
|
otCoapSecureSendResponse
otError otCoapSecureSendResponse( otInstance *aInstance, otMessage *aMessage, const otMessageInfo *aMessageInfo )
從 CoAP Secure 伺服器傳送 CoAP 回應。
詳細說明 | |||||||
---|---|---|---|---|---|---|---|
參數 |
|
||||||
回傳值 |
|
otCoapSecureSendResponseBlockWise
otError otCoapSecureSendResponseBlockWise( otInstance *aInstance, otMessage *aMessage, const otMessageInfo *aMessageInfo, void *aContext, otCoapBlockwiseTransmitHook aTransmitHook )
從 CoAP Secure 伺服器逐次傳送 CoAP 回應。
啟用 OPENTHREAD_CONFIG_COAP_BLOCKWISE_TRANSFER_ENABLE 設定時即可使用。
詳細說明 | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
參數 |
|
||||||||||
回傳值 |
|
otCoapSecureSetCaCertificateChain
void otCoapSecureSetCaCertificateChain( otInstance *aInstance, const uint8_t *aX509CaCertificateChain, uint32_t aX509CaCertChainLength )
設定信任的頂層 CA。
系統需要憑證才能驗證對等互連憑證。
DTLS 模式「ECDHE ECDSA with AES 128 CCM 8」適用於應用程式 CoAPS。
詳細說明 | |||||||
---|---|---|---|---|---|---|---|
參數 |
|
otCoapSecureSetCertificate
void otCoapSecureSetCertificate( otInstance *aInstance, const uint8_t *aX509Cert, uint32_t aX509Length, const uint8_t *aPrivateKey, uint32_t aPrivateKeyLength )
使用 DTLS_ECDHE_ECDSA_WITH_AES_128_CCM_8,為本機裝置的 DTLS 工作階段設定對應的私密金鑰 X509 憑證。
詳細說明 | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
參數 |
|
otCoapSecureSetClientClientCallback
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 )
設定用於安全連線的驗證模式。
停用或啟用對等互連憑證的驗證程序。必須在呼叫開始前呼叫。
詳細說明 | |||||
---|---|---|---|---|---|
參數 |
|
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 中所述。
資源
OpenThread API 參考資料主題源自原始碼,可於 GitHub 取得。如需更多資訊或為說明文件貢獻心力,請參閱資源。