从apk获取证书详细信息

我如何获取apk签名的证书的详细信息。 我有一堆apks用不同的证书签名,我试图根据他们的证书进行分组。

我可以使用jarsigner获取证书过期的详细信息,并完成我的任务,但我很好奇,如果我可以得到更多的细节或提取公钥(我相信它存储在META-INF / cert.RSA,但它不可读)

尝试以下操作:

openssl pkcs7 -inform DER -in CERT.RSA -noout -print_certs -text 

unzip -p Name-of-apk.apk META-INF/CERT.RSA | keytool -printcert unzip -p Name-of-apk.apk META-INF/CERT.RSA | keytool -printcert是我用过的。

它产生的信息,如所有者,发行人,序列号,有效通过,证书指纹,签名algorithm和版本。

基于现有的答案,这里是openssl的实时使用命令行(解压缩pipe道证书,而不是定义-infile选项)

 unzip -p App.apk META-INF/CERT.RSA |openssl pkcs7 -inform DER -noout -print_certs -text 

没有解包,你可以使用Android SDK中的ApkSigner和以下内容:

 apksigner.jar verify --print-certs myApplication.apk