這兩天徹底的體驗了一把 Onenet 裏的固件升級, 女馬白勺!第一關就被攔截了,我們看看官方的《OTA-SDK說明文檔.docx》
官方有鑑權這塊的介紹,請移步至這個鏈接
- 將access key進行base64解碼這步驟簡單。
- hmac簽名是啥? 原來就是 HMAC_SHA1 算法,我就說 SHA1 算法還有密鑰啊!!!
- 有關 hmac_sha1 請參考這個鏈接。
- 算完之後是 20 字節的摘要信息,再經過Base64編碼就是鑑權裏的 sign 了。
這裏說下官方的 demo
version=2018-10-31&res=products/123123&et=1537255523&method=sha1&sign=ZjA1NzZlMmMxYzIOTg3MjBzNjYTI2MjA4Yw=
這個sign是錯誤的,我算出來的是epBEZ9yMD6fuemNBiWYIJpySb4E=
算出來 sign 後就可以構造請求參數了。
準備:在正式升級之前我們先來看看Onenet雲平臺上OTA升級位置
ou
第一步:在請求之前先放個bin文件上去
第二步是獲取token: 就是下圖的"ota_"的字符串
這個代碼是可以多次執行的,每次執行token都不一樣
第三步: 校驗token有效性
這步跳過也行的~
第四步:就是獲取bin文件的數據了
上圖就是獲取0~63字節,一共獲取64字節由於是二進制文件,所以顯示不出來
以十六進制顯示就可以看出來了.