如何在Linux中查看adbkey RSA密钥指纹?

7次阅读
没有评论

如何查看adbkey RSA密钥指纹?

当您使用Android设备进行USB调试时,需要验证RSA秘钥指纹,以确保您不连接到恶意设备上。为了验证秘钥指纹是否匹配,您可以按照以下步骤在Linux系统中获取并检查该指纹。

步骤1:准备环境

确保您的adbkey.pub文件存在于~/.android/目录下:

ls ~/.android/

这个操作显示了所有的.android目录中的文件和子目录,其中应该包括adbkeyadbkey.pub

步骤2:计算RSA密钥的指纹

使用下面提供的命令序列来获取并验证其MD5或SHA-256摘要值:

awk '{print $1}' < ~/.android/adbkey.pub | openssl base64 -A -d -a | openssl md5 -c

对于Android 5及更高版本,使用SHA-256指纹替代命令如下:

awk '{print $1}' < ~/.android/adbkey.pub | openssl base64 -A -d -a | openssl sha256 -c | awk '{print $2}'|tr '[:lower:]' '[:upper:]'

这里awk '{print $1}' < ~/.android/adbkey.pub部分用于从公钥文件中剥离出密钥的一部分,之后通过openssl base64 -A -d -a解码这些密文。根据设备操作系统使用的哈希函数(MD5或SHA-256),使用md5 -c指令或将md5 -c | awk '{print $2}'|tr '[:lower:]' '[:upper:]'以确保指纹信息的大写形式输出来进行对比。

步骤3:实际示例

假设公钥内容如下:

-----BEGIN RSA PUBLIC KEY-----
MIGJAoGBALzJUZ75sDgQfF41W0iJtKZ8x3Y8qBdX4vLpC2S1wTbO/0H86R8kIa9
...
N8g== 
-----END RSA PUBLIC KEY-----

我们需要获取上述密钥的前128位或256位(根据哈希函数类型)。

使用提供的awk '{print $1}' < ~/.android/adbkey.pub | openssl base64 -A -d -a | openssl md5命令,将得到以下结果:

MD5 (-----BEGIN RSA PUBLIC KEY-----MIGJAoGBALzJUZ75sDg................==-----END RSA PUBLIC KEY-----)= 02:1b:c8:d9:a1:36:4c:a4:67:e4:f4:e8:b0:f9:8d:ec:

小贴士

  • 如果公钥由adbkey.pub文件生成,而没有单独的adbkey私钥文件,请确保使用正确的方法来提取公钥部分。
  • 比较提取出的结果与设备上显示的指纹以确认匹配。

通过遵循以上步骤,您可以在Linux系统中轻松验证与Android设备进行USB调试时所用RSA秘钥指纹。对于不同的操作系统,如Windows,可以手动执行每一步骤或寻找类似的命令行工具来完成相同任务。

正文完