【问题标题】:How to get the MD5 fingerprint for an RSA public key on Windows?如何在 Windows 上获取 RSA 公钥的 MD5 指纹?
【发布时间】:2018-08-06 03:26:55
【问题描述】:

序言:使用 Android Studio 并将我的“Hello World”应用程序推送到手机上,我看到了一个确认对话框,如下所示:

允许 USB 调试?

计算机的 RSA 密钥指纹是:

<some_md5_fingerprint>

[] 始终允许来自这台计算机

取消确定

虽然我很确定是我的机器在尝试连接,但我问自己如何确认。

这又引发了两个具体问题:

  • RSA 公钥在哪里?
  • 如何获取 RSA 公钥的 MD5 指纹?

此外,我想要一个广泛使用的答案,因此该解决方案应该可供每个 Windows(在我的情况下为 win7)用户使用,而无需安装软件。

【问题讨论】:

    标签: windows cmd rsa md5 public-key


    【解决方案1】:

    我正在使用cmd 及其for 循环以及certUtil,它们都应该预先安装。

    打开cmd

    • +R 并输入 cmd 然后确认,或
    • 打开Windows的开始菜单,搜索cmd.exe并执行。

    TLDR

    for /F "tokens=2" %a in (id_rsa.pub) DO (echo %a) > tmp.key_base64
    certUtil -decode tmp.key_base64 tmp.key_bytes
    certUtil -hashfile tmp.key_bytes MD5
    

    RSA 公钥在哪里?

    通常密钥保存在用户主目录下的.ssh目录中。

    (Android Studio 将不同的(!)密钥 adbkey.pub 存储在用户主目录下的目录 .android 和其安装目录中,这里是 C:\Android\.android - 这两个密钥都是在中提到的过程中向手机发出的上面的序言。)

    打开控制台后,您应该已经在您的主目录中,只需更改为.ssh

    C:\Users\%USERNAME%>cd .ssh
    

    如果你不在你的主目录类型中

    cd \Users\%USERNAME%\.ssh
    

    然后执行。

    (对于 Android Studio,将目录分别更改为 \Users\%USERNAME%\.android\Android\.android。)

    如何获取 RSA 公钥的 MD5 指纹?

    为此,我需要知道文件中的实际密钥是 base64 编码的部分,即long cryptic string of characters。在我的例子中,key field 后面总是跟着一个 user-host field,即像user@domain.com(也是unknown@unknown)这样的字符串,在某些情况下,前面还有一个包含ssh-rsa 的字段。

    在后一种情况下,我需要过滤第二个字段。显然,在 Windows 中,这是使用 for 循环完成的。我还将输出发送到一个文件以供certUtil 进行后续消化,它的输出再次被带入一个文件 - 包含不再使用 base64 编码而是以字节为单位的密钥 - 最后使用 MD5 进行哈希处理。

    将我的id_rsa.pub 的第二个字段中的密钥提取到一个名为tmp.key_base64 的文件中:

    for /F "tokens=2" %a in (id_rsa.pub) DO (echo %a) > tmp.key_base64
    

    (Android Studio 的adbkey.pub 的第一个字段:"tokens=1"

    Base64 解码以接收文件 tmp.key_bytes 中的实际公钥:

    certUtil -decode tmp.key_base64 tmp.key_bytes
    

    使用 MD5 散列密钥:

    certUtil -hashfile tmp.key_bytes MD5
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-02-20
      • 1970-01-01
      • 1970-01-01
      • 2020-01-18
      • 1970-01-01
      • 2018-12-06
      • 2012-01-02
      • 2020-02-12
      相关资源
      最近更新 更多