假设我有两个.apk文件,据称它们来自同一位开发人员。 如何验证它们是否使用相同的密钥签名? 如何验证密钥是否属于开发人员?
正确的工具存在于哪个Android下载中? 我似乎没有找到它 commandlinetools-linux-6200805_latest.zip也不 android-studio-ide-192.6392135-linux.tar.gz
答案 0 :(得分:1)
您需要apksigner工具来验证apk。
您有两种选择:
1)下载 SdkManger在Android Studio中的最新构建工具。
-参见说明https://developer.android.com/studio/intro/update#sdk-manager
2)手动下载:
-转到https://developer.android.com/studio#downloads并选择命令行工具
适用于您的操作系统的软件包(例如,对于Mac OS,单击“ commandlinetools-mac-6200805_latest.zip”按钮)
同意上述条款和条件并下载命令行工具
解压命令行工具(您将收到名为“ tools”的文件夹)
转到tools / bin文件夹
执行cmd> ./sdkmanager --list --sdk_root=''
('sdk_root'参数可以是android sdk的路径,如果没有则可以为空)
查找最后一个构建工具版本。就我而言:
"build-tools;29.0.3 | 29.0.3 | Android SDK Build-Tools 29.0.3"
执行cmd> ./sdkmanager "build-tools;29.0.3" --sdk_root=''
(将构建工具下载到当前文件夹)
下一步:
./apksigner verify -v --print-certs /Users/you/Desktop/my_app.apk
(我从包含apksigner文件的文件夹中执行cmd)
-您将收到以下信息:
Verifies
Verified using v1 scheme (JAR signing): true
Verified using v2 scheme (APK Signature Scheme v2): true
Verified using v3 scheme (APK Signature Scheme v3): true
Number of signers: 1
Signer #1 certificate DN: CN=Android, OU=Android, O=Google Inc., L=Mountain View, ST=California, C=US
Signer #1 certificate SHA-256 digest: f0fd6c5b410f25cb25c3b53346c8972fae30f8ee7411df910480ad6b2d60db83
Signer #1 certificate SHA-1 digest: 38918a453d07199354f8b19af05ec6562ced5788
Signer #1 certificate MD5 digest: cde9f6208d672b54b1dacc0b7029f5eb
Signer #1 key algorithm: RSA
Signer #1 key size (bits): 2048
Signer #1 public key SHA-256 digest: 2b06490d2d24305c6a90dbf74cc42f50183d207d572f8079e5d92fb2c2a0cda1
Signer #1 public key SHA-1 digest: b2da9ef7ec0f4474117fb0cba4dca3b795c0eab7
Signer #1 public key MD5 digest: a90ce510a96aa09bee6bf8d9da9b258b