如何查看adbkey RSA密钥指纹?
当您使用Android设备进行USB调试时,需要验证RSA秘钥指纹,以确保您不连接到恶意设备上。为了验证秘钥指纹是否匹配,您可以按照以下步骤在Linux系统中获取并检查该指纹。
步骤1:准备环境
确保您的adbkey.pub
文件存在于~/.android/
目录下:
ls ~/.android/
这个操作显示了所有的.android
目录中的文件和子目录,其中应该包括adbkey
和adbkey.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,可以手动执行每一步骤或寻找类似的命令行工具来完成相同任务。
正文完