CoAP のセキュリティ
このモジュールには、CoAP セキュア(DAP over CoAP)通信を制御する関数が含まれています。
まとめ
このモジュールの関数は、CoAP Secure API 機能(OPENTHREAD_CONFIG_COAP_SECURE_API_ENABLE
)が有効な場合に使用できます。
Typedef |
|
---|---|
otHandleCoapSecureClientConnect)(bool aConnected, void *aContext)
|
typedefvoid(*
DTLS 接続状態が変更されると、ポインタが呼び出されます。 |
関数 |
|
---|---|
otCoapSecureAddBlockWiseResource(otInstance *aInstance, otCoapBlockwiseResource *aResource)
|
void
CoAP セキュア サーバーにブロック単位のリソースを追加します。
|
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 セキュア サーバーからブロック単位のリソースを削除します。
|
otCoapSecureRemoveResource(otInstance *aInstance, otCoapResource *aResource)
|
void
CoAP セキュア サーバーからリソースを削除します。
|
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 セキュア サーバーから CoAP レスポンスを送信します。
|
otCoapSecureSendResponseBlockWise(otInstance *aInstance, otMessage *aMessage, const otMessageInfo *aMessageInfo, void *aContext, otCoapBlockwiseTransmitHook aTransmitHook)
|
CoAP セキュア サーバーからブロックごとに 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
ローカル デバイスの X509 証明書を、DTLS_ECDHE_ECDSA_WITH_AES_128_CCM_8 の DTLS セッションに対応する秘密鍵に設定します。
|
otCoapSecureSetClientConnectedCallback(otInstance *aInstance, otHandleCoapSecureClientConnect aHandler, void *aContext)
|
void
クライアントが CoAP セキュア サーバーに接続するときに示す接続コールバックを設定します。
|
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 Secure 接続の認証モードを設定します。
|
otCoapSecureStart(otInstance *aInstance, uint16_t aPort)
|
CoAP セキュア サービスを開始します。
|
otCoapSecureStop(otInstance *aInstance)
|
void
CoAP セキュア サーバーを停止します。
|
Typedef
otHandleCoapSecureClientConnect
void(* otHandleCoapSecureClientConnect)(bool aConnected, void *aContext)
DTLS 接続状態が変更されると、ポインタが呼び出されます。
詳細 | |||||
---|---|---|---|---|---|
パラメータ |
|
関数
otCoapSecureAddBlockWiseResource
void otCoapSecureAddBlockWiseResource( otInstance *aInstance, otCoapBlockwiseResource *aResource )
CoAP セキュア サーバーにブロック単位のリソースを追加します。
詳細 | |||||
---|---|---|---|---|---|
パラメータ |
|
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 セキュア サーバーからブロック単位のリソースを削除します。
詳細 | |||||
---|---|---|---|---|---|
パラメータ |
|
otCoapSecureRemoveResource
void otCoapSecureRemoveResource( otInstance *aInstance, otCoapResource *aResource )
CoAP セキュア サーバーからリソースを削除します。
詳細 | |||||
---|---|---|---|---|---|
パラメータ |
|
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 セキュア サーバーから CoAP レスポンスを送信します。
詳細 | |||||||
---|---|---|---|---|---|---|---|
パラメータ |
|
||||||
戻り値 |
|
otCoapSecureSendResponseBlockBlockWise
otError otCoapSecureSendResponseBlockWise( otInstance *aInstance, otMessage *aMessage, const otMessageInfo *aMessageInfo, void *aContext, otCoapBlockwiseTransmitHook aTransmitHook )
CoAP セキュア サーバーからブロックごとに CoAP レスポンスを送信します。
OPENTHREAD_CONFIG_COAP_BLOCKWISE_TRANSFER_ENABLE 構成が有効な場合に使用できます。
詳細 | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
パラメータ |
|
||||||||||
戻り値 |
|
otCoapSecureSetCaCertificateChain
void otCoapSecureSetCaCertificateChain( otInstance *aInstance, const uint8_t *aX509CaCertificateChain, uint32_t aX509CaCertChainLength )
信頼できるトップレベル CA を設定します。
ピアの証明書を検証するために必要です。
Application CoAPS 用の DTLS モード「ECDHE ECDSA with AES 128 CCM 8」。
詳細 | |||||||
---|---|---|---|---|---|---|---|
パラメータ |
|
otCoapSecureSetCertificate
void otCoapSecureSetCertificate( otInstance *aInstance, const uint8_t *aX509Cert, uint32_t aX509Length, const uint8_t *aPrivateKey, uint32_t aPrivateKeyLength )
ローカル デバイスの X509 証明書を、DTLS_ECDHE_ECDSA_WITH_AES_128_CCM_8 の DTLS セッションに対応する秘密鍵に設定します。
詳細 | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
パラメータ |
|
otCoapSecureSetClientConnectedCallback
void otCoapSecureSetClientConnectedCallback( otInstance *aInstance, otHandleCoapSecureClientConnect aHandler, void *aContext )
クライアントが CoAP セキュア サーバーに接続するときに示す接続コールバックを設定します。
詳細 | |||||||
---|---|---|---|---|---|---|---|
パラメータ |
|
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 Secure 接続の認証モードを設定します。
ピア証明書の確認を有効または無効にします。開始前に呼び出す必要があります。
詳細 | |||||
---|---|---|---|---|---|
パラメータ |
|
otCoapSecureStart
otError otCoapSecureStart( otInstance *aInstance, uint16_t aPort )
CoAP セキュア サービスを開始します。
詳細 | |||||
---|---|---|---|---|---|
パラメータ |
|
||||
戻り値 |
|
otCoapSecureStop
void otCoapSecureStop( otInstance *aInstance )
CoAP セキュア サーバーを停止します。
詳細 | |||
---|---|---|---|
パラメータ |
|
マクロ
OT_DEFAULT_COAP_SECURE_PORT
OT_DEFAULT_COAP_SECURE_PORT 5684
RFC 7252 で指定されているデフォルトの CoAP セキュアポート。
関連情報
OpenThread API リファレンスのトピックは、GitHub で入手可能なソースコードに基づいています。詳細やドキュメントの作成方法については、リソースをご覧ください。