本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
移植網路傳輸介面
整合 TLS 程式庫
如需 Transport Layer Security (TLS) 驗證,請使用您偏好的 TLS 堆疊。我們建議使用姆貝德 TLS
無論您的裝置所使用的 TLS 實作為何,您都必須針對具有 TCP/IP 堆疊的 TLS 堆疊實作基礎傳輸勾點。他們必須支持支援的 TLS 加密套件AWS IoT。
移植網路傳輸介面程式庫
您必須實作網路傳輸介面才能使用中央电台
先決條件
若要移植此測試,您需要下列項目:
具有建置系統的專案,可以使用經過驗證的 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
。這個函數接受一個指向TransportInterfaceTestParam結構。它將填充中的字段TransportInterfaceTestParam傳輸介面測試所使用的結構。
實施單位 _ 輸出字符以便測試輸出日誌不會與設備日誌交錯。
呼叫
runQualificationTest()
從應用程式。設備硬件必須正確初始化,並且必須在呼叫之前連接網絡。
憑證管理 (裝置上產生的金鑰)
何時強制 _ 生成 _ 新的密鑰 _ 對在test_param_config.h
設置為 1,設備應用程序生成一個新的設備上的 key pair 並輸出公鑰。裝置應用程式使用回聲伺服器和運輸 _ 客戶 _ 證書作為回顯服務器根 CA 和客戶端證書,當建立與 echo 服務器的 TLS 連接時。IDT 會在限定執行期間設定這些參數。
認證管理 (匯入金鑰)
裝置應用程式使用回聲伺服器,運輸 _ 客戶 _ 證書和運輸 _ 用戶端 _ 私人密鑰在test_param_config.h
作為 echo 服務器根 CA,客戶端證書和客戶端私鑰時建立與 echo 服務器的 TLS 連接。IDT 會在限定執行期間設定這些參數。
測試
本節說明如何透過資格測試在本機測試傳輸介面。如需詳細資訊,請參閱傳輸層詳細資訊,請參閱傳輸資訊。傳輸界面
或者,您也可以使用 IDT 來自動執行。請參閱AWS IoT Device Tester對於 FreeRTOS在FreeRTOS 用者指南詳細資訊。
啟用測試
打開test_execution_config.h
並定義傳輸 _ 介面 _ 測試啟用到 1.
設置迴聲服務器進行測試
本地測試需要可從運行測試的設備訪問的 echo 服務器。如果傳輸介面實作支援 TLS,回應伺服器必須支援 TLS。如果你還沒有,自由圖書館集成測試
設定要測試的專案
在test_param_config.h
,更新迴聲伺服器端點和迴聲伺服器連接埠前一步的端點和伺服器設定。
設置憑據(設備上生成的密鑰)
設置回聲伺服器到 echo 服務器的服務器證書。
設置強制 _ 生成 _ 新的密鑰 _ 對到 1 生成一個 key pair 並獲取公鑰。
設置強制 _ 生成 _ 新的密鑰 _ 對密鑰生成後返回 0。
使用公開金鑰、伺服器金鑰與憑證來產生用戶端憑證。
設置運輸 _ 客戶 _ 證書到生成的客戶端證書。
設定認證 (匯入金鑰)
設置回聲伺服器到 echo 服務器的服務器證書。
設置運輸 _ 客戶 _ 證書至預先產生的用戶端憑證。
設置運輸 _ 用戶端 _ 私人密鑰到預先生成的客戶端私鑰。
構建並刷新應用程序
使用您選擇的工具鏈來構建和刷新應用程序。何時runQualificationTest()
被調用,傳輸接口測試將運行。測試結果會輸出至序列埠。
注意
要正式使用 FreeRTOS 的設備資格,您必須根據 OTA PAL 和 OTA E2E 測試組驗證設備的移植源代碼AWS IoT Device Tester。按照說明進行操作使用AWS IoT Device Tester對於 FreeRTOS在FreeRTOS 用者指南若要設定AWS IoT Device Tester用於連接埠驗證。若要測試特定程式庫的連接埠,必須在device.json
檔案中的AWS IoT Device Tester configs
資料夾。