当前位置:首页 » 安卓系统 » android查看签名工具

android查看签名工具

发布时间: 2023-04-04 03:36:51

⑴ Android中APK签名工具之jarsigner和apksigner详解

转自 https://www.cnblogs.com/slysky/p/9780015.html

一.工具介绍

jarsigner是JDK提供的针对jar包签名的通用工具,

位于JDK/bin/jarsigner.exe

apksigner是Google官方提供的针对Android apk签名及验证的专用工具,

位于Android SDK/build-tools/SDK版本/apksigner.bat

不管是apk包,还是jar包,本质都是zip格式的压缩包,所以它们的签名过程都差不多(仅限V1签名),

以上两个工具都可以对Android apk包进行签名.

1.V1和V2签名的区别

在Android Studio中点击菜单 Build->Generate signed apk... 打包签名有两种签名选项 V1(Jar Signature) V2(Full APK Signature),

从Android 7.0开始, 谷歌增加新签名方案 V2 Scheme (APK Signature);

但Android 7.0以下版本, 只能用旧签名方案 V1 scheme (JAR signing)

V1签名:

V2签名:

V2签名优点很明显:

注意: apksigner工具默认同时使用V1和V2签名,以兼容Android 7.0以下版本

2.zipalign和V2签名

位于Android SDK/build-tools/SDK版本/zipalign.exe

zipalign 是对zip包对齐的工具,使APK包内未压缩的数据有序排列对齐,从而减少APP运行时内存消耗

zipalign -v 4 in.apk out.apk //4字节对齐优化

zipalign -c -v 4 in.apk //检查APK是否对齐

zipalign可以在V1签名后执行

但zipalign不能在V2签名后执行,只能在V2签名之前执行!!!

二.签名步骤

1.生成密钥对(已有密钥库,可忽略)

Android Studio在Debug时,对App签名都会使用一个默认的密钥库:

1.生成密钥对

进入JDK/bin, 输入命令

参数:

提示: 可重复使用此条命令,在同一密钥库中创建多条密钥对
例如: 在debug.keystore中新增一对密钥,别名是release

keytool -genkeypair -keystore debug.keystore -alias release -validity 30000

2.查看密钥库

进入JDK/bin, 输入命令

keytool -list -v -keystore 密钥库名

参数:

例如:
keytool -list -v -keystore debug.keystore

现在debug.keystore密钥库中有两对密钥, 别名分别是androiddebugkey release

2.签名

1.方法一(jarsigner,只支持V1签名)

进入JDK/bin, 输入命令

从JDK7开始, jarsigner默认算法是SHA256, 但Android 4.2以下不支持该算法,

所以需要修改算法, 添加参数 -digestalg SHA1 -sigalg SHA1withRSA

参数:

例如:

用JDK7及以上jarsigner签名,不支持Android 4.2 以下

jarsigner -keystore debug.keystore MyApp.apk androiddebugkey

用JDK7及以上jarsigner签名,兼容Android 4.2 以下

jarsigner -keystore debug.keystore -digestalg SHA1 -sigalg SHA1withRSA MyApp.apk androiddebugkey

2.方法二(apksigner,默认同时使用V1和V2签名)

进入Android SDK/build-tools/SDK版本, 输入命令

若密钥库中有多个密钥对,则必须指定密钥别名

禁用V2签名

apksigner sign --v2-signing-enabled false --ks 密钥库名 xxx.apk

参数:

例如:

在debug.keystore密钥库只有一个密钥对

apksigner sign --ks debug.keystore MyApp.apk

在debug.keystore密钥库中有多个密钥对,所以必须指定密钥别名

apksigner sign --ks debug.keystore --ks-key-alias androiddebugkey MyApp.apk

3.签名验证

1.方法一(keytool,只支持V1签名校验)

进入JDK/bin, 输入命令

keytool -printcert -jarfile MyApp.apk (显示签名证书信息)

参数:

2.方法二(apksigner,支持V1和V2签名校验)

进入Android SDK/build-tools/SDK版本, 输入命令

apksigner verify -v --print-certs xxx.apk

参数:

例如:

apksigner verify -v MyApp.apk

⑵ 通过AndroidStudio获取签名文件信息

1、查看apk安姿闭乎装文件的签名信息
右键解压apk,态源打开其中的META-INF文件,得到其中的CERT.RSA文件。
在AndroidStudio中打开 Terminal 执行命令keytool -printcert -file XXX(XXX为CERT.RSA文件路迹悉径)可以查看签名的MD5、SHA1、SHA256值。
2、直接查看签名文件的信息
在AndroidStudio中打开 Terminal 执行命令keytool -list -v -keystore XXX(XXX为签名文件路径)
再输入密码可以查看签名的MD5、SHA1、SHA256值。

效果图:

⑶ 如何查看android 应用签名

1、查看自己的应用签名可以通过两种方式查看(1) debug的apk通过Eclipse查看,:

(2) 某个keystore签名的应用,通过
Java
keytool -list -keystore E:\Trinea\keystore\appsearch.keystore
查看,会要求输入签名密码,默认为android,:

2、查看三方应用或是系统应用签名用winrar打开待查看的apk,将其中META-INF文件夹解压出来,得到其中的CERT.RSA文件,通过
Java
keytool -printcert -file META-INF/CERT.RSA
命令打印证书信息,如微信证书信息:
可以查看签名的MD5、SHA1、SHA256值及签名算法

⑷ android 微信开放平台,如何获取应用签名

在微信开放平台申请app应用的时候,遇到要填写 应用签名 一栏。

找到签名文件
keytool -list -v -keystore xxx.keystore
证书指纹节点下岩卜弯的MD5值转成小写,去掉冒号。

首先跟随 生成keystore和应用签名 ,生成 .jks 签名文件,
然后跟随 微信开放平台Android应用签名的本质及如何获取 的第三、四步,生成带签名的apk,并用专门的工具查看应用签名。

最后用工具查看到应用签名后,我们发现,其实它就是keystore文件的MD5值。
这样,我们就能够 查看应用签名了

如果你在 修改签名 后,进入微信授权页面失败,且提粗闷示"应用签名与微信开放平台上的签名不一致",有可能是 微信缓存 的缘故。
根据 android之微信开放平台修改签名 ,只要清理微信缓存,或重装微信即可。

接下来还有一个问题没解决:

解决方法参考 Android Studio直接运行调试签名包
但这样的做法会显示暴露keystore信息,所以跟随 Android Studio的两种模式及签名配置 的后半部分,可以让弊蚂项目间接引入keystore信息。

⑸ android怎样获取应用签名信息

android 应用签名获取方法如下:

1、选择程序,右键--->android tools --->签名发布,按步骤生成一个签名keystore和毕冲一个经过签名的apk,安装该APK到手机;

2、选择自己的程序,右键运行到手机

3、下载签名应用,在手机中运行,根据提示输入程序的包名羡培获得一个apk签名字符串,最后将这个字符串填到第一步的应用签名栏处。保存即可正常调试应用了。

android 应用签名查看方法如下:

(1) debug的apk通过Eclipse查看,如下图:

⑹ Android查看应用签名方法

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

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

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

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

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

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

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

⑺ Android系统签名

有时候,我们开发的apk需要用到系统权限,需要在AndroidManifest.xml中添加共享系统进程属性:

这时候apk的签名就需要是系统签名(platform、shared或media)才能正常使用。
常用系统签名方式

这种方式比较麻烦,你需要有编译过的源码环境,并按如下步骤:
1、拷贝App源码到Android源码的packages/apps/目录下,且App源码是普通(Eclipse)格式的
2、配置Android.mk,在其中添加

3、使用mm编译App,生成的apk即系统签名

这种方式比在源码环境下签名简单,App可以在Eclipse或Android Studio下编译,然后给apk重新签名即可。
但这种方式在频繁调试的时候比较痛苦,即使写成脚本,也需要重复一样的操作。
相关文件
platform.x509.pem、platform.pk8、signapk.jar

文件位置
platform.x509.pem、platform.pk8:

signapk.jar:

signapk源码路径:

签名命令

步骤

1、将相关文件及源apk文件置于同一路径下
2、检查源apk包,去掉META-INF/CERT.SF 和 META-INF/CERT.RSA 文件
3、执行签名命令即可

让Android Studio集成系统签名,需要用到一个工具 keytool-importkeypair ,详见下文。

这个工具的作用是将系统签名的相关信息导入到已有的签名文件里。

工具的使用方法可以通过–help或README.textile来寻求帮助

platform.x509.pem、platform.pk8、keytool-importkeypair、demo.jks、signature.sh

我的做法是在App根目录新建Signature文件夹专门存放签名相关文件。
步骤

1、生成demo.jks签名文件

2、编写签名脚本signature.sh,内容如下:

为脚本文件添加可执行权限:

执行脚本:

3、配置builde.gradle

在android区域下(与defaultConfig同级)添加配置:

这样debug或release apk就带有系统签名了。

如果想直接Run app就是release版且带系统签名的apk,还需修改:

这样直接Run app就是带系统签名的release版apk了。

⑻ Android Apk签名工具

目前发布APK之前大家都会采用第三方加固方案来实现应用安全,锋册态

在Windows下 360有签名工具可以直接签名,腾讯乐固目前取消了签名工具采用云端加固,但是之后需要自己重签名(因为加固之前会先去掉签名)。

在Mac下没有签名工具,这就比较难受了。

一般来说,我们可以通过命令行来签名Apk,打开命令行或者终端 输入如下命令

但是这样容易比较麻烦,还容易出错,其实我们还可以使用脚本来完成自动签名。

这里来简单说明一下吧,我是采用python来实现的, Mac与Windows均可使用
本文python环境:python 3.8.2

sign.json 与signTool.py文件需要在同一文件夹下

其中sign.json 是签名文件配置项(在工具中可以快捷选择,银源也可以不配置)
如下:

这样就配置好了

signTool.py 是签名工具,通过命姿侍令行或者终端运行该文件就行了

signTool.py文件如下:

运行如下:

配置好相关文件之后,点击签名就行了

好了,完成了一个简单而又实用的工具

⑼ android 怎么查看签名文件

展开全部
以下介绍查看自己的应用签名及三方APK或系统APK签名信息,包含其中的MD5、SHA1、SHA256值和签名算法等信息。
1、查看自己的应用签名
可以通过两种方式查看
(1)
debug的apk通过Eclipse查看,如下图:
(2)
某个keystore签名的应用,通过以下命令查看
keytool
-list
-keystore
E:\Trinea\keystore\appsearch.keystore,会要求输入签名高轿密码,默认为android,如下图:
2、查看三戚皮肆方应用或是握橡系统应用签名
用winrar打开待查看的apk,将其中META-INF文件夹解压出来,得到其中的CERT.RSA文件,通过keytool
-printcert
-file
META-INF/CERT.RSA命令打印证书信息,如微信证书信息如下图:
可以查看签名的MD5、SHA1、SHA256值及签名算法

热点内容
短片解压 发布:2025-07-04 16:50:08 浏览:735
全工作服务器如何省电 发布:2025-07-04 16:46:00 浏览:992
redis数据库设计 发布:2025-07-04 16:39:23 浏览:334
建设银行账号和密码是什么意思 发布:2025-07-04 16:35:37 浏览:145
feret人脸数据库 发布:2025-07-04 16:35:33 浏览:69
什么游戏要钱不要密码 发布:2025-07-04 16:30:33 浏览:476
安卓雕刻软件叫什么 发布:2025-07-04 16:30:22 浏览:818
mc服务器搭建简单吗 发布:2025-07-04 16:29:23 浏览:142
android动画曲线 发布:2025-07-04 16:16:57 浏览:513
扩展存储器读写实验 发布:2025-07-04 16:14:30 浏览:362