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签名数据

原文地址:https://www.cnblogs.com/guanglun/p/10126727.html