如何从私钥获取adbkey.pub?

Itz*_*llo 5 rsa adb

我正在尝试制作一个脚本,通过OpenSTFadb connect建立连接来控制农场中的 Android 设备。设备接受客户端连接的要求之一是在 OpenSTF 中提供 adbkey.pub 的内容。

然而,似乎较新版本的 ADB 不再生成此文件,只生成私钥。从我从 AOSP 存储库收集的信息来看,这是故意的https://github.com/aosp-mirror/platform_system_core/commit/2dc4cabe0639c71014d729dd92eff19289429c89

在查看了 AOSP 提交后,我意识到 ADB 密钥对是使用 RSA 协议制作的,并且我在这个 Stack Exchange 问题中找到了如何从私有密钥获取公钥的示例。但是,OpenSSL 输出和 adbkey.pub 的公钥格式不同。起初我以为它只是以 base64 编码,但即使如此,输出也不匹配。

adb keygen这是使用旧版本 ADB 的ADB 公钥示例。

QAAAAFNrmDYl72IeYbMQiOlKulhv2lH3CKyeK6EgwyUxptsdPmvCCRmxtvecilLzE74OzoRVQKZeCBI/qMnWj1hBU8t6YE0FQ1CUKAFO5UYp/S7GH/+tlHKunl/mmm/Izjs4L6ajl+kp3XBBrYryIJtRH5iJRi9T96gRq2ya+h9v/v/ITNvdCKLNVObBCLCj+4fmkoxVEXnSLyQtyPAl/AiMAiK/WXryatNkuBdAr6m9M/ay693Oj07I3UFxLqzwHhoeb2CZzC0//AwUDgRHtyxDyrAKaoxirhoaJ4Q8Tbn6jRtOaV0uvtCBfs4kIUoM/DLPfjZq8Al8PHPuEwvOMaAGF+JSXHywjWfstcxT3c7xjn2Zq19R4kuf63dfEqtv+NA/PhH94oMQtiZsp92JpT0h22tWAoQAF9jr2puwVzMj8i/k0iDLMRnp/5E6UVsziP8PG9DgIpeTjL2NMjE0Kheq+CufIozhcvGudg+MJaJED4XHK7hQrU0QCvu1kOqO+/VtW4zmTCfg8nY556A73vtllrMLsG2OgZTyQT0SrBOBd2AaYOB90l7//hlfpqAA8XANG0MHkyPsi/xtKga6Zsu+a2L9Hl2rUWNB6T9AEmyzmapCMUBilAuNtZ+Pt9esqzD9+/aKSIHdUu1gPKZtKTgh+pqYNgyipq0UMWpexkZfpMsLTddGIgEAAQA= carolinadp@carolinadp-GL62M-7RD
Run Code Online (Sandbox Code Playgroud)

这是使用 OpenSSL 从同一私钥创建的公钥

-----BEGIN PUBLIC KEY-----
MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAsHxcUuIXBqAxzgsT7nM8
fAnwajZ+zzL8DEohJM5+gdC+Ll1pThuN+rlNPIQnGhquYoxqCrDKQyy3RwQOFAz8
Py3MmWBvHhoe8KwucUHdyE6Pzt3rsvYzvamvQBe4ZNNq8npZvyICjAj8JfDILSQv
0nkRVYyS5of7o7AIweZUzaII3dtMyP/+bx/6mmyrEaj3Uy9GiZgfUZsg8oqtQXDd
KemXo6YvODvOyG+a5l+ernKUrf8fxi79KUblTgEolFBDBU1gestTQViP1smoPxII
XqZAVYTODr4T81KKnPe2sRkJwms+HdumMSXDIKErnqwI91Hab1i6SumIELNhHmLv
JQIDAQAB
-----END PUBLIC KEY-----
Run Code Online (Sandbox Code Playgroud)

如何获取ADB公钥?

小智 1

当我的 adb 版本升级到版本 28.0.2-5303910\xef\xbc\x88 时,我在 OpenSTF 上遇到“连接被拒绝”问题,因此 adbkey.pub 消失了\xef\xbc\x89

\n\n
Android Debug Bridge version 1.0.40\nVersion 28.0.2-5303910\n
Run Code Online (Sandbox Code Playgroud)\n\n

现在我终于通过将 adb 升级到最新版本解决了这个问题

\n\n
Android Debug Bridge version 1.0.41\nVersion 29.0.6-6198805\n
Run Code Online (Sandbox Code Playgroud)\n\n

希望这可以帮助。

\n