华为IoT平台NB编解码插件开发详细教程【下篇】
上篇文章介紹了編解碼開發匯總的環境搭建、Profile說明和插件編寫,本篇教程就插件打包、插件質檢和插件簽名詳解。
目錄
四、插件打包
五、插件質檢
六、插件簽名
七、附件
四、插件打包
1、新建package文件,包含一個“preload”子文件夾,將上一章中生成的JAR包拷貝至preload文件夾下。
2、在package文件夾中新建“package-info.json”文件(文本格式)。打開該文件,以UTF-8無BOM格式編輯,將以下大括號內容拷入該文件中并保存。
{"specVersion": "1.0","fileName": "package.zip","version": "1.0.0","deviceType": "MyType","manufacturerName": "ThirdParty","model": "MyModel","description": "CIG codec plugin auto-generated by sps.","platform": "linux","packageType": "CIGPlugin","date": "Tue Nov 27 07:55:49 GMT 2018","ignoreList": [],"bundles": [{"bundleName": "MyType-ThirdParty-MyModel","bundleVersion": "1.0.0","priority": 5,"fileName": "MyType-ThirdParty-MyModel-1.0.0.jar","bundleDesc": "","versionDesc": ""}] }注: 在移植到別的項目中的時候,該文件需要修改的地方有:
- "deviceType",需根據實際的profile填寫設備類型
- "manufacturerName",需根據實際的profile填寫廠商名稱
- "model",需根據實際的profile填寫設備型號
- "bundleName",根據實際的profile填寫,設備型號-廠商ID-設備類型
- "fileName",jar包的名稱
3、選中"package"文件夾中的全部文件,打包成zip格式。(“package.zip”,該壓縮包內不能包含“package”目錄)
?說明:本章內容可參考 “華為IoT平臺NB-IoT設備集成開發指南.pdf” 6.5.4.2.3章節的“制作插件包”部分的內容。
package.zip 文件即為制作好的編解碼插件包。
五、插件質檢
插件質檢,是指插件開發完后之后,對插件的編解碼功能的一個驗證的過程,用于檢測編解碼插件中存在的問題。(當然,如果你對自己開發的插件足夠自信的話,也可以不用進行質檢咯,直接上傳平臺使用。本文強烈建議上傳插件前進行質檢工作。)插件質檢的過程比較簡單,本文不再贅述,可通過NBIoT 編解碼插件檢測工具使用說明進行 學習。
六、插件簽名
插件簽名,是指對生成的插件包進行數字簽名,防止別人惡意篡改你的插件包,保證文件的完整性。
插件簽名不屬于開發過程,僅在需要把插件發送給別人的時候(比如IoT平臺維護人員),一般要求要對插件進行簽名。
簽名過程如下:
1、解壓“signtool.zip”,運行“signtool.exe”,運行界面如下圖18所示。工具有三塊功能,最上邊用于生成公私密鑰對,中間用于對文件進行簽名,最下邊用于校驗。
2、生成公私密鑰對。點擊“簽名算法”選擇區域,選擇一個算法,在“私鑰加密口令”輸入框中輸入私密加密口令(由自己設定的一個密碼),然后點擊 “生成公私密鑰”按鈕,在彈出的窗口中選擇密鑰保存的位置。在該位置會生成兩個文件:
公鑰: public.pem
私鑰: private.pem
3、簽名。點擊 “導入私鑰文件”按鈕,在彈出窗口中選擇上一步中生成的私鑰文件(private.pem);點擊“需要數字簽名的軟件”右側的文件夾按鈕,在彈出窗口中選擇要簽名的插件包(插件包路徑不能有中文);點擊 “進行數字簽名”按鈕,會在插件包所在的路徑生成簽名后的文件,名稱為 “xxx-signed.xxx”。
4、驗簽。發送插件包給別人時,要將公鑰和簽名文件一并發送過去。
點擊 “導入公鑰文件”,在彈出窗口中選擇公鑰文件;點擊 “需要驗簽的軟件” 右側的文件夾按鈕,在彈出窗口中選擇收到的已簽名的插件包(插件包路徑不能有中文),點擊 “進行軟件包驗簽”按鈕。
驗證成功則彈出 “驗證簽名成功”。
驗證失敗則彈出 “驗簽異常”,說明收到的插件包可能被異常修改過。
七、附件
附件中給出本例中的profile和插件工程、插件包,以及質檢工具、簽名工具等。
本項目的資料可以在github下載[鏈接]。轉載請標明出處。
?
總結
以上是生活随笔為你收集整理的华为IoT平台NB编解码插件开发详细教程【下篇】的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java 多数据源处理_java – 用
- 下一篇: NUC980开源项目9-官方Kernel