你可能想知道 通过这篇文章可以解决哪些问题以及学到什么:

1.如果我们有一个应用,如何查看应用的签名信息?

2.如果我们有签名原始文件,如何查看签名文件中的签名信息?

这篇文章介绍了如何查看应用和签名文件中的签名信息。

一、查看Android apk的签名信息方式有两种

1. 直接查看apk的签名信息(推荐)

keytool -list -printcert -jarfile [APK文件路径]

1)输入命令查看 (wechat.apk)

Jackchen$ keytool -list -printcert -jarfile wechat.apk
签名者 #1:签名:所有者: CN=Tencent, OU=Tencent Guangzhou Research and Development Center, O=Tencent Technology(Shenzhen) Company Limited, L=Shenzhen, ST=Guangdong, C=86
发布者: CN=Tencent, OU=Tencent Guangzhou Research and Development Center, O=Tencent Technology(Shenzhen) Company Limited, L=Shenzhen, ST=Guangdong, C=86
序列号: 4d36f7a4
生效时间: Wed Jan 19 22:39:32 CST 2011, 失效时间: Fri Jan 11 22:39:32 CST 2041
证书指纹:SHA1: CC:80:D7:6A:A9:FE:94:EC:20:5E:F0:C3:36:BF:C4:24:59:6D:A2:90SHA256: 0F:E4:FF:85:C2:15:91:83:96:DA:DC:7C:D8:CE:69:63:33:9A:F3:3D:37:75:1A:56:E5:4C:72:06:B6:3A:3C:7C
签名算法名称: SHA1withRSA (弱)
主体公共密钥算法: 1024 位 RSA 密钥 (弱)
版本: 3Warning:
证书 使用的 SHA1withRSA 签名算法被视为存在安全风险。此算法将在未来的更新中被禁用。
证书 使用的 1024 位 RSA 密钥 被视为存在安全风险。此密钥大小将在未来的更新中被禁用。

2. 通过apk中的RSA文件查看签名信息

keytool -printcert -file [RSA文件路径]

1) 先将apk后缀改为.zip,然后解压,再进入META-INF目录,找到RSA文件

2) 输入命令查看

Jackchen$ keytool -printcert -file COM_TENC.RSA
所有者: CN=Tencent, OU=Tencent Guangzhou Research and Development Center, O=Tencent Technology(Shenzhen) Company Limited, L=Shenzhen, ST=Guangdong, C=86
发布者: CN=Tencent, OU=Tencent Guangzhou Research and Development Center, O=Tencent Technology(Shenzhen) Company Limited, L=Shenzhen, ST=Guangdong, C=86
序列号: 4d36f7a4
生效时间: Wed Jan 19 22:39:32 CST 2011, 失效时间: Fri Jan 11 22:39:32 CST 2041
证书指纹:SHA1: CC:80:D7:6A:A9:FE:94:EC:20:5E:F0:C3:36:BF:C4:24:59:6D:A2:90SHA256: 0F:E4:FF:85:C2:15:91:83:96:DA:DC:7C:D8:CE:69:63:33:9A:F3:3D:37:75:1A:56:E5:4C:72:06:B6:3A:3C:7C
签名算法名称: SHA1withRSA (弱)
主体公共密钥算法: 1024 位 RSA 密钥 (弱)
版本: 3Warning:
证书 使用的 SHA1withRSA 签名算法被视为存在安全风险。此算法将在未来的更新中被禁用。
证书 使用的 1024 位 RSA 密钥 被视为存在安全风险。此密钥大小将在未来的更新中被禁用。

其结果和“直接查看apk的签名信息”一致。

二、查看签名文件中的签名信息

1. 查看x509.pem签名文件的签名信息 (编译源码时使用)

keytool -printcert -file [x509.pem文件路径]
例如:keytool -printcert -file platform.x509.pem

Jackchen$ keytool -printcert -file platform.x509.pem
所有者: EMAILADDRESS=android@android.com, CN=Android, OU=Android, O=Android, L=Mountain View, ST=California, C=US
发布者: EMAILADDRESS=android@android.com, CN=Android, OU=Android, O=Android, L=Mountain View, ST=California, C=US
序列号: b3998086d056cffa
生效时间: Wed Apr 16 06:40:50 CST 2008, 失效时间: Sun Sep 02 06:40:50 CST 2035
证书指纹:SHA1: 27:19:6E:38:6B:87:5E:76:AD:F7:00:E7:EA:84:E4:C6:EE:E3:3D:FASHA256: C8:A2:E9:BC:CF:59:7C:2F:B6:DC:66:BE:E2:93:FC:13:F2:FC:47:EC:77:BC:6B:2B:0D:52:C1:1F:51:19:2A:B8
签名算法名称: MD5withRSA(禁用)
主体公共密钥算法: 2048 位 RSA 密钥
版本: 3扩展: #1: ObjectId: 2.5.29.35 Criticality=false
AuthorityKeyIdentifier [
KeyIdentifier [
0000: 4F E4 A0 B3 DD 9C BA 29   F7 1D 72 87 C4 E7 C3 8F  O......)..r.....
0010: 20 86 C2 99                                         ...
]
[EMAILADDRESS=android@android.com, CN=Android, OU=Android, O=Android, L=Mountain View, ST=California, C=US]
SerialNumber: [    b3998086 d056cffa]
]#2: ObjectId: 2.5.29.19 Criticality=false
BasicConstraints:[CA:truePathLen:2147483647
]#3: ObjectId: 2.5.29.14 Criticality=false
SubjectKeyIdentifier [
KeyIdentifier [
0000: 4F E4 A0 B3 DD 9C BA 29   F7 1D 72 87 C4 E7 C3 8F  O......)..r.....
0010: 20 86 C2 99                                         ...
]
]Warning:
证书 使用的 MD5withRSA 签名算法被视为存在安全风险而且被禁用。

2. 查看keystore签名文件的签名信息 (Eclipse编译时使用)

keytool -list -v -keystore [keystore文件路径]
例如:keytool -list -v -keystore system_signature.keystore

Jackchen$ keytool -list -v -keystore system_signature.keystore
输入密钥库口令:
密钥库类型: jks
密钥库提供方: SUN您的密钥库包含 1 个条目别名: system_signature
创建日期: 2021-8-14
条目类型: PrivateKeyEntry
证书链长度: 1
证书[1]:
所有者: EMAILADDRESS=android@android.com, CN=Android, OU=Android, O=Android, L=Mountain View, ST=California, C=US
发布者: EMAILADDRESS=android@android.com, CN=Android, OU=Android, O=Android, L=Mountain View, ST=California, C=US
序列号: b3998086d056cffa
生效时间: Wed Apr 16 06:40:50 CST 2008, 失效时间: Sun Sep 02 06:40:50 CST 2035
证书指纹:SHA1: 27:19:6E:38:6B:87:5E:76:AD:F7:00:E7:EA:84:E4:C6:EE:E3:3D:FASHA256: C8:A2:E9:BC:CF:59:7C:2F:B6:DC:66:BE:E2:93:FC:13:F2:FC:47:EC:77:BC:6B:2B:0D:52:C1:1F:51:19:2A:B8
签名算法名称: MD5withRSA(禁用)
主体公共密钥算法: 2048 位 RSA 密钥
版本: 3扩展: #1: ObjectId: 2.5.29.35 Criticality=false
AuthorityKeyIdentifier [
KeyIdentifier [
0000: 4F E4 A0 B3 DD 9C BA 29   F7 1D 72 87 C4 E7 C3 8F  O......)..r.....
0010: 20 86 C2 99                                         ...
]
[EMAILADDRESS=android@android.com, CN=Android, OU=Android, O=Android, L=Mountain View, ST=California, C=US]
SerialNumber: [    b3998086 d056cffa]
]#2: ObjectId: 2.5.29.19 Criticality=false
BasicConstraints:[CA:truePathLen:2147483647
]#3: ObjectId: 2.5.29.14 Criticality=false
SubjectKeyIdentifier [
KeyIdentifier [
0000: 4F E4 A0 B3 DD 9C BA 29   F7 1D 72 87 C4 E7 C3 8F  O......)..r.....
0010: 20 86 C2 99                                         ...
]
]*******************************************
*******************************************Warning:
<system_signature> 使用的 MD5withRSA 签名算法被视为存在安全风险而且被禁用。
JKS 密钥库使用专用格式。建议使用 "keytool -importkeystore -srckeystore system_signature.keystore -destkeystore system_signature.keystore -deststoretype pkcs12" 迁移到行业标准格式 PKCS12。

3. 查看jks签名文件的签名信息(AndroidStudio编译时使用)

keytool -list -v -keystore [jks文件路径]
例如:keytool -list -v -keystore system_signature.jks

结果同上

Android签名 一 查看签名信息相关推荐

  1. Android签名机制:生成keystore、签名、查看签名信息

    2019独角兽企业重金招聘Python工程师标准>>> Android独有的安全机制,除了权限机制外,另外一个就是签名机制了.签名机制主要用在以下两个主要场合起到其作用:升级App和 ...

  2. Android 对apk进行重签名和查看签名(window 和mac)及生成签名

    生成签名文件:其实是有很多工具可以做到,这里不过是想用命令来生成 其命令如下:生成的签名默认在c盘根目录下 keytool -genkey -alias aaaa.keystore -keyalg R ...

  3. 如何在Android Studio中查看方法信息?

    本文翻译自:How can I view method information in Android Studio? In Eclipse, when you hover your mouse ove ...

  4. Android签名机制介绍:生成keystore.签名.查看签名信息等方法

    为什么80%的码农都做不了架构师?>>>    Android独有的安全机制,除了权限机制外,另外一个就是签名机制了.签名机制主要用在以下两个主要场合起到其作用:升级App和权限检查 ...

  5. php给apk包签名,Android_查看apk签名信息方法,用shell写了一个查看apk签名的 - phpStudy...

    查看apk签名信息方法 用shell写了一个查看apk签名的脚本.代码很少也很简单 #!/bin/bash mkdir .temp_for_certificate cd .temp_for_certi ...

  6. Android APK的签名--笔记版 V1 签名和V2签名总结

    1. 工具介绍 jarsigner 是JDK提供的针对jar包签名的通用工具, 位于 JDK/bin/jarsigner apksigner 是Google官方提供的针对Android apk 签名验 ...

  7. 为你的android App实现自签名的ssl证书

    为你的android App实现自签名的ssl证书(https) 最近公司项目用到https的接口形式,对于一般的网络请求 我们用的是http://******      使用的是 代码用来打开一个  ...

  8. android 录音原始文件_5分钟短文 | Android证书生成,签名,验证,虽然难,但学一次就够了!...

    引言 从Android演进开始,APK签名就已经成为Android的一部分,并且android要求所有Apks都必须先签名,然后才能将其安装在设备上.关于如何生成密钥以及如何签名的文章很多.一个Apk ...

  9. java 1.8签名apk_给Android的APK程序签名和重新签名的方法

    签名工具的使用Android源码编译出来的signapk.jar既可给apk签名,也可给rom签名的.使用格式: java –jar signapk.jar [-w] publickey.x509[. ...

最新文章

  1. java数据结构堆_Java 数据结构-堆实现
  2. java简单线程池实例代码
  3. Linux实战教学笔记45:NoSQL数据库之redis持久化存储(一)
  4. 6行Python实现验证码识别,太稳了!
  5. 单元测试(Unit Test)学习
  6. PAT 1059 Prime Factors[难]
  7. 几道和「堆栈、队列」有关的面试算法题
  8. 网络对抗——web基础
  9. Java基础学习,一些零散的笔记之抽象类与接口
  10. mobi格式电子书_没有Kindle,如何看Kindle电子书?
  11. CSS 设置段落格式
  12. 计算机一级改扩展名,怎么改文件扩展名,教您电脑win7改文件扩展名的方法
  13. linux命令整理(三)
  14. Leetcode刷题之二叉搜索树、平衡二叉搜索树3
  15. VGA数模转换电阻匹配网络分析
  16. 【知识兔】Excel教程小技巧之常用快捷键汇总
  17. AKM AKM-35-4-01-15X-10
  18. OSChina 周六乱弹 —— 我一直把一哥们当朋友,但
  19. Android原生UI开发框架 《Jetpack Compose入门到精通》最全上手指南
  20. iOS 调用系统相册拍照时显示英文问题

热门文章

  1. [RK3399][Android7.1] 系统reboot mode机制小结
  2. 面向对象三大特性之继承
  3. 关于《信号与系统》单边z变换位移性质公式的理解
  4. 《写出质量好软件的75条体会》暨答案
  5. ubuntu使用Wondershaper限制带宽
  6. 微信架构总监:微信10亿日活场景下,后台系统微服务架构实践 15页ppt全解
  7. 以掘金示例,利用内链/外链进行网站SEO优化
  8. 水果之王之猕猴桃-系列四(猕猴桃和奇异果的区别)
  9. 基于龙芯2K1000平台CL1606AD760-8驱动调试总结
  10. Curl安装测试http3——openssl+nghttp3+ngtcp2+curl