Android查看应用签名方法

我们在使用或发布应用到第三方平台时,会要求我们填写应用的相关信息,比如包名、md5值或者sha1值等等。如果是我们自己的应用,获取测试或者正式应用的相关信息都是比较方便的。如果需要第三方应用的相关信息,别人又没有提供相关信息,那么怎样去获取我们所需的信息呢?下面就介绍一下如何查看keystore文件和三方应用签名的方法。

查看应用签名的MD5、SHA1、SHA256值及签名算法。

1. 查看keystore文件签名

查看keystore文件签名信息,前提要有keystore文件和密钥,才能够获取keystore文件的签名信息。

方法一:(适用于 AS)
1)打开 AS工具窗口栏右边的 Gradle -> Project -> app -> Tasks -> android -> signingReport,双击运行 signingReport;


2)signingReport 运行完后,就可以看到debugrelease版签名的相关信息;

方法二:(适用于 ES 和 AS)
1)在系统命令面板(win R —— cmd)或者 AS底端工具类里的 Terminal 中输入命令:
keytool -list -v -keystore [签名文件路径]
2)输入密钥库口令(输入口令时隐藏不展示输入内容),点击回车键;

3)密钥口令校验正确后,就可以看到签名的相关信息。

2. 查看三方应用签名

在没有keystore文件和密钥的情况下,要想查看我们所需应用的签名信息,就需要借助keytool工具来完成。
首先解压要查看的apk包,通过数据证书管理工具keytool查看apk的签名信息。具体步骤如下:
1)将apk修改后缀为.rar文件后进行解压;
2)进入解压后的META-INF目录,找到该目录下的xxx.RSA文件;
3)通过命令cmd打开DOS窗口,输入命令 :keytool -printcert -file [RSA文件路径]

3. 解决应用签名问题

在查看应用签名信息过程中,可能会遇到以下几个问题:

  • Q1. keytool 命令运行失败

'keytool' 不是内部或外部命令,也不是可运行的程序或批处理文件。

定位keytool.exe工具所在的目录,使用相关操作命令查看签名信息;


具体步骤如下:
1)在jdk的安装文件夹的bin目录(例如:C:\Program Files\Java\jdk1.8.0_202\bin)下,使用快捷操作 shift + 右击,选择 在此处打开命令窗口 打开DOS窗口;
2)输入操作命令 :keytool -list -v -keystore [签名文件路径]或者keytool -printcert -file [RSA文件路径]查看签名信息;

  • Q2. 密钥库使用警告

Warning:
JKS 密钥库使用专用格式。建议使用 "keytool -importkeystore -srckeystore xxx.jks -destkeystore xxx.jks -deststoretype pkcs12" 迁移到行业标准格式 PKCS12。

JKS(Java KeyStore):是 Java 的 keytools 证书工具支持的证书私钥格式。jks 包含了公钥和私钥,可以通过 keytool 工具来将公钥和私钥导出。因为包含了私钥,所以 jks 文件通常通过一个密码来加以保护。一般用于 Java 或者 Tomcat 服务器。
PKCS #12:定义了一种存档文件格式,用于实现存储许多加密对象在一个单独的文件中。通常用它来打包一个私钥及有关的 X.509 证书,或者打包信任链的全部项目。
定位keytool.exe工具所在的目录,使用操作命令转换证书格式;


具体步骤如下:
1)在jdk的安装文件夹的bin目录(例如:C:\Program Files\Java\jdk1.8.0_202\bin)下,使用快捷操作 shift + 右击,选择 在此处打开命令窗口 打开DOS窗口;
2)输入命令 :keytool -importkeystore -srckeystore [签名文件路径] -destkeystore [签名文件路径] -deststoretype pkcs12命令把 JKS 格式证书转换成 PKCS12 格式证书;
3)转换成功后,就会在目标文件夹看到新的替换签名证书xxx.jks和旧的重命名签名证书xxx.jks.old

你可能感兴趣的:(Android查看应用签名方法)