使用keytool查看Android APK签名

2023-12-24 05:47:18

一、找到JDK位置

  • 安卓AS之后,可选择继续安装JDK,如本文使用amazon版本
  • 默认位置:C:\Users\66176.jdks\corretto-1.8.0_342
  • 可通过自己的AS设置查看具体位置

二、使用方法

2.1 打开windows命令行工具

  • win + r 运行, 输入cmd
    在这里插入图片描述

2.2 查看签名

  • 1.先切换到keytool的工具目录下,方便使用
  • 2.输入命令:keytool.exe -list -printcert -jarfile
  • 3.将apk工具,直接拖到命令行窗口内,会自动补齐APK路径信息
Microsoft Windows [版本 10.0.22000.856]
(c) Microsoft Corporation。保留所有权利。

C:\Users\66176\.jdks\corretto-1.8.0_342\bin>keytool.exe -list -printcert -jarfile C:\Users\66176\Downloads\20220829\test-signed.apk
签名者 #1:

签名:

所有者: CN=MediaTek Android TV, OU=Home Entertainment BU, O=MediaTek Inc., L=TW, ST=TW, C=TW
发布者: CN=MediaTek Android TV, OU=Home Entertainment BU, O=MediaTek Inc., L=TW, ST=TW, C=TW
序列号: e5c91345970d1155
有效期为 Mon Dec 10 20:22:55 CST 2012 至 Fri Apr 27 20:22:55 CST 2040
证书指纹:
         MD5:  91:00:3C:AF:A9:13:2E:71:92:4C:2C:DA:B3:9D:AF:F9:2F:9F:0E:54
         SHA1: FE:96:88:12:8F:8D:1E:15:71:D9:F3:67:AC:3D:71:67:80:8F:23:22:2D:03:35:F3:77:1E:A2:85:17:70:AB:DD
         SHA256: SHA1withRSA ()
签名算法名称: 2048 位 RSA 密钥
主体公共密钥算法: 3
版本: {10}

扩展:

#1: ObjectId: 2.5.29.35 Criticality=false
AuthorityKeyIdentifier [
KeyIdentifier [
0000: B6 F6 DB FC 27 84 8F 0C   D3 41 1A 4B 23 09 82 70  ....'....A.K#..p
0010: CB 35 8D 61                                        .5.a
]
[CN=MediaTek Android TV, OU=Home Entertainment BU, O=MediaTek Inc., L=TW, ST=TW, C=TW]
SerialNumber: [    e5c91345 970d1155]
]

#2: ObjectId: 2.5.29.19 Criticality=false
BasicConstraints:[
  CA:true
  PathLen:2147483647
]

#3: ObjectId: 2.5.29.14 Criticality=false
SubjectKeyIdentifier [
KeyIdentifier [
0000: B6 F6 DB FC 27 84 8F 0C   D3 41 1A 4B 23 09 82 70  ....'....A.K#..p
0010: CB 35 8D 61                                        .5.a
]
]



Warning:
证书 uses the SHA1withRSA signature algorithm which is considered a security risk. This algorithm will be disabled in a future update.

C:\Users\66176\.jdks\corretto-1.8.0_342\bin>

三、如何给APK做系统签名呢?

  • 执行如下命令即可
  • 不同版本的AOSP代码,signapk.jar的路径会有变化,如找不到的话,用find . -name signapk.jar 命令查找一下
$cd vendor/mediatek/proprietary_tv/open/common/security
$java -jar  -Djava.library.path="/home/builder/code/out/host/linux-x86/lib64/" /home/builder/code/out/host/linux-x86/framework/signapk.jar platform.x509.pem platform.pk8 tv.apk  signed-tv.apk    

文章来源:https://blog.csdn.net/yyzsyx/article/details/135176755
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。