1. 程式人生 > >Android USB ADB ATUH 驗證包驗證流程

Android USB ADB ATUH 驗證包驗證流程

#define ADB_AUTH_TOKEN 1 #define ADB_AUTH_SIGNATURE 2 #define ADB_AUTH_RSAPUBLICKEY 3  

1.  連線USB,手機發送認證訊息(20位元組隨機數字)AUTH給電腦 Android -> PC (ADB_AUTH_TOKEN)

2.  PC使用私鑰對這個訊息(20位元組隨機數字)SHA1withRSA 簽名然後傳送給手機 PC -> Android (ADB_AUTH_SIGNATURE )

3.  手機驗證簽名,如果成功,開始下一步通訊,否則再發送(20位元組隨機數字)AUTH給電腦 Android -> PC (ADB_AUTH_TOKEN)

4.  PC將公鑰傳送給手機 PC -> Android (ADB_AUTH_RSAPUBLICKEY )

 5.  手機彈出認證框,使用者選擇是否加入信任列表

 

第2步在進行RSA加密前需在20位元組的bytes前新增 30 21 30 09 06 05 2B 0E 03 02 1A 05 00 04 14

30(資料型別結構)21(總長度)30(資料型別)09(長度)06 05 2B 0E 03 02 1A 0500【資料具體型別不清楚-請專家指正】 04 (資料型別) 14 (長度) + SHA1簽名資料