Android Apk 签名机制
META-INF/CERT.RSA 是 apk 文件的证书
- 检查 apk 文件中 META-INF/CERT.RSA 证书的指纹信息
keytool -printcert -file xxxx
- 查看 CERT.RSA 信息(即 x.509 证书格式,其中包含了公钥等)
openssl pkcs7 -inform DER -in xxxx/META-INF/CERT.RSA -noout -print_certs -text
- 查看公钥
将 CERT.RSA 转为 pem ,在从 pem 中获取公钥
1 | openssl pkcs7 -in CERT.RSA -inform DER -print_certs -out cert.pem |
其中,最底下的签名是通过私钥计算对 CERT.SF 进行计算得出的.
在安装时候,需要通过公钥对该签名进行解密,将得到的信息和 CERT.SF 进行对比,如果相同,则证明是由改公钥的私钥拥有者签发的,如果不同,则视为验证失败
- 获取 Android Studio 默认签名信息
keytool -list -v -keystore ~/.android/debug.keystore -alias androiddebugkey -storepass android -keypass android
Android Apk 签名机制