翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
ネットワークトランスポートインターフェースの移植
TLS ライブラリの統合
トランスポート層セキュリティ (TLS) 認証するには、お好みの TLS スタックを使用してください。使用することをお勧めしますTLS を埋め込む
デバイスで使用されている TLS 実装にかかわらず、TLS スタックの基礎となるトランスポートフックを TCP/IP スタックで実装する必要があります。彼らはサポートする必要がありますがサポートする TLS 暗号スイートAWS IoT。
ネットワーク・トランスポート・インターフェース・ライブラリーの移植
使用するにはネットワークトランスポートインターフェースを実装する必要があります。CoreMQTT
前提条件
このテストを移植するには、以下が必要です。
検証済みの FreeRTOS カーネルポートで FreeRTOS をビルドできるビルドシステムを備えたプロジェクト。
ネットワークドライバーの実用的な実装。
移植
追加FreeRTOSライブラリ-統合テスト
プロジェクトのサブモジュールとして。ビルドできる限り、サブモジュールをプロジェクトのどこに配置してもかまいません。 [コピー]
config_template/test_execution_config_template.h
そしてconfig_template/test_param_config_template.h
ビルドパス内のプロジェクトの場所に移動し、名前を次のように変更しますtest_execution_config.h
そしてtest_param_config.h
。関連ファイルをビルドシステムに含める。使用する場合
CMake
、qualification_test.cmake
そしてsrc/transport_interface_tests.cmake
関連ファイルを含めるために使用されます。以下の機能を適切なプロジェクトの場所に実装してください。
-
ある
network connect function
: シグネチャは次のように定義されます。NetworkConnectFunc
にsrc/common/network_connection.h
。この関数は、ネットワークコンテキストへのポインタ、ホスト情報へのポインタ、およびネットワーク認証情報へのポインタを受け取ります。提供されたネットワーク認証情報を使用して、ホスト情報で指定されたサーバーとの接続を確立します。ある
network disconnect function
: シグネチャは次のように定義されます。NetworkDisconnectFunc
にsrc/common/network_connection.h
。この関数はネットワークコンテキストへのポインタを受け取ります。ネットワークコンテキストに保存されている以前に確立された接続を切断します。setupTransportInterfaceTestParam()
: これはで定義されていますsrc/transport_interface/transport_interface_tests.h
。実装には、で定義されているものとまったく同じ名前とシグネチャが必要です。transport_interface_tests.h
。この関数は a へのポインタを受け取ります。TransportInterfaceTestParam構造体。のフィールドに入力されますTransportInterfaceTestParamトランスポートインターフェースのテストで使用される構造体。
実装します。UNITY_OUTPUT_CHARテスト出力ログがデバイスログとインターリーブしないように。
コール
runQualificationTest()
アプリケーションから。電話をかける前に、デバイスのハードウェアを適切に初期化し、ネットワークに接続する必要があります。
認証情報管理 (デバイス上で生成されたキー)
いつ新しいキーペアを強制的に生成にtest_param_config.h
が 1 に設定されている場合、デバイスアプリケーションは新しいデバイス上のkey pair を生成し、公開キーを出力します。デバイスアプリケーションは以下を使用します。ECHO_SERVER_ROOT_CAそしてトランスポート_クライアント_証明書エコーサーバーとの TLS 接続を確立する際のエコーサーバーのルート CA およびクライアント証明書として使用します。IDT はこれらのパラメータを認定試験中に設定します。
認証情報管理 (キーのインポート)
デバイスアプリケーションは以下を使用します。ECHO_SERVER_ROOT_CA,トランスポート_クライアント_証明書そしてトランスポート・クライアント・プライベート・キーにtest_param_config.h
エコーサーバとの TLS 接続を確立する際のエコーサーバのルート CA、クライアント証明書、クライアント秘密鍵として使用されます。IDT はこれらのパラメータを認定試験中に設定します。
テスト
このセクションでは、認定テストでトランスポートインターフェースをローカルでテストする方法について説明します。その他の詳細は、に記載されている README.md ファイルに記載されています。トランスポートインターフェース
または、IDT で自動化することもできます。を参照してください。AWS IoT Device Tester無料 RTOS 向けに資格認定するにはでFreeRTOS ユーザーガイド詳細については。
テストを有効にします。
開くtest_execution_config.h
と定義トランスポート・インターフェース・テスト対応1 に。
テスト用にエコーサーバーをセットアップします。
ローカルテストには、テストを実行するデバイスからアクセスできるエコーサーバーが必要です。トランスポートインターフェースの実装がTLSをサポートしている場合、エコーサーバーはTLSをサポートしている必要があります。まだ持っていない場合は、FreeRTOSライブラリ-統合テスト
テスト用にプロジェクトを設定する。
でtest_param_config.h
、更新エコー・サーバー・エンドポイントそしてエコー・サーバー・ポート前のステップでエンドポイントとサーバーの設定に移動します。
認証情報 (デバイス上で生成されたキー) を設定します。
設定ECHO_SERVER_ROOT_CAエコーサーバーのサーバー証明書へ。
設定新しいキーペアを強制生成を 1 に設定すると、key pair が生成され、パブリックキーが取得されます。
に設定します。新しいキーペアを強制生成キー生成後に 0 に戻る。
公開鍵とサーバー鍵と証明書を使用してクライアント証明書を生成します。
設定トランスポート_クライアント_証明書生成されたクライアント証明書へ。
認証情報のセットアップ (キーのインポート)
設定ECHO_SERVER_ROOT_CAエコーサーバーのサーバー証明書へ。
設定トランスポート_クライアント_証明書事前に生成されたクライアント証明書へ。
設定する。トランスポート_クライアント_プライベート_キー事前に生成されたクライアント秘密鍵へ。
アプリケーションをビルドしてフラッシュする
任意のツールチェーンを使用してアプリケーションをビルドおよびフラッシュします。いつrunQualificationTest()
が呼び出されると、トランスポートインターフェースのテストが実行されます。テスト結果はシリアルポートに出力されます。
注記
デバイスを正式に FreeRTOS 向けに資格認定するには、OTA PAL および OTA E2E テストグループに資格認定するには、AWS IoT Device Tester。の指示に従ってください。使用するAWS IoT Device Tester無料 RTOS 向けに資格認定するにはでFreeRTOS ユーザーガイドセットアップするにはAWS IoT Device Testerポート検証用。特定のライブラリのポートをテストするには、そのライブラリで正しいテストグループを有効にする必要があります。device.json
内のファイルAWS IoT Device Tester configs
フォルダー。