OpenThread は、Secure CoAP サーバーとクライアントの両方の機能を提供します。これにより、デバイスは Secure CoAP サーバー上のリソースに接続し、各リソースの現在の状態の変化を監視できます。
Secure CoAP は、Datagram Transport Layer Security(DTLS)を使用して、安全なエンドツーエンドの接続を確立します。
CLI で提供される Secure CoAP エージェントは、Secure CoAP クライアントまたは Secure CoAP サーバーのいずれかとして機能できます。
このガイドでは、いくつかの一般的な Secure CoAP(coaps
)コマンドを使用する基本的なタスクについて説明します。
セキュアな CoAP コマンド
Secure CoAP コマンドの一覧を表示するには、「help
」と入力します。
coaps help
connect
delete
disconnect
get
isclosed
isconnactive
isconnected
post
psk
put
resource
set
start
stop
x509
Done
CLI コマンド リファレンス
すべてのコマンドの説明と構文については、CLI コマンド リファレンスをご覧ください。Secure CoAP コマンドは、アルファベット順に coaps connect で始まります。
Secure CoAP サーバーとクライアント コマンドの使用例
この例では、基本的な CLI コマンドを使用して Secure CoAP サーバーとクライアントを起動し、Secure CoAP サーバーにテストリソースを作成し、Secure CoAP クライアントがそのリソースとやり取りします。サンプルデータは説明のみを目的としています。
DTLS 暗号スイートを構成する
coaps
CLI には、PSK 鍵と X.509 証明書で使用できる psk
コマンドと x509
コマンドが用意されています。コマンド構文と例については、coaps psk と coaps x509 をご覧ください。
Secure CoAP サーバーを設定する
Secure CoAP サーバーノードで、次の操作を行います。
Secure CoAP エージェントを起動します。
coaps start
Doneテストリソースを作成します。
coaps resource test-resource
Done
Secure CoAP クライアントを設定する
Secure CoAP クライアント ノードで、次の操作を行います。
Secure CoAP エージェントを起動します。
coaps start
Doneconnect
コマンドを実行して、ピアとの DTLS セッションを初期化します。coaps connect fdde:ad00:beef:0:9903:14b:27e0:5744
Done coaps connectedget
コマンドを実行して、リソースに関する情報を取得します。coaps get test-resource
Done coaps response from fdde:ad00:beef:0:9903:14b:27e0:5744 with payload: 68656c6c6f576f726c6400サーバー レスポンスの最後の部分は
with payload:
で、その後に 16 進数形式のすべてのペイロード バイトが続きます。この例では、with payload: 68656c6c6f576f726c6400
は、リソースの現在のペイロードが 16 進数値68656c6c6f576f726c6400
で、文字列helloWorld
に変換されることを示しています。payload
オプションの使用方法については、coaps の投稿をご覧ください。このリソースを変更するには、
put
コマンドを使用します。coaps put test-resource con hellothere
Done coaps response from fdde:ad00:beef:0:9903:14b:27e0:5744この例では、
con
は、確認可能なメッセージ(con
)を使用して取得した信頼性の高いメッセージを Secure CoAP サーバーに送信することを意味します。デフォルトでは、確認不可能なメッセージ(non-con
)が送信されます。文字列
hellothere
は、type
がcon
またはnon-con
の場合に、オプションのpayload
パラメータを使用する例です。詳細については、coaps put をご覧ください。サーバーが IPv6 アドレスで応答し、リクエストが処理されたことを示します。
Secure CoAP サーバーに送信されるレスポンス
サーバーでは、この例の出力は次のようになります。
coaps request from fdde:ad00:beef:0:9e68:576f:714c:f395 GET coaps response sent coaps request from fdde:ad00:beef:0:9e68:576f:714c:f395 PUT with payload: 68656c6c6f7468657265 coaps response sent
68656c6c6f7468657265
の payload
値は、ASCII コードバイト シーケンスに変換された文字列 hellothere
です。