Skip to content

APK 证书签名审查报告 #7

Closed
@cmj2002

Description

@cmj2002

为了验证本仓库中提供的 APK 是否是由开发者发布的原版,我从公众号 "大小姐李跳跳" 中发布的 "真实好友4.0" 安装包中提取官方签名证书,并验证仓库中的三个 APK 是否由其签名。

TL;DR: "李跳跳2.2正式版.apk" 的完整性无法验证,其他两个 APK 均可以确定是李跳跳发布的。(假设其公众号分发途径可靠且其签名密钥未泄露)

修改于 2023/09/15:已经确认 2.2 版本是由李跳跳发布的。请参考 @CescMessi 的评论

使用的命令: keytool -printcert -jarfile $apk

从公众号 "大小姐李跳跳" 中发布的 "真实好友4.0" 安装包中提取的官方签名证书为:

Certificate #1:
Owner: CN=ltt.keystore, OU=李单位, O=李组织, L=李城市, ST=李省份, C=李国家编码
Issuer: CN=ltt.keystore, OU=李单位, O=李组织, L=李城市, ST=李省份, C=李国家编码
Serial number: 69f0f545
Valid from: Sat Mar 12 23:44:54 CST 2022 until: Tue Mar 09 23:44:54 CST 2032
Certificate fingerprints:
         SHA1: 98:AA:39:A6:B5:DD:F0:BF:51:74:08:FA:AE:87:24:99:CB:53:F9:69
         SHA256: C2:C1:86:28:3D:53:00:05:B1:20:9A:67:4F:62:33:63:2D:16:CB:0D:C4:B7:CA:4E:EB:A0:BD:11:E0:C8:AB:8D
Signature algorithm name: SHA256withRSA
Subject Public Key Algorithm: 1024-bit RSA key (weak)
Version: 3

仓库中的 "李跳跳_派大星2.01.apk", "李跳跳_真实好友4.0.apk" 均由该证书签名,其完整性可以验证。但是,仓库中的 "李跳跳2.2正式版.apk" 由另一个证书签名,这可能是开发者更改了证书(可能因为 1024 位证书即将被弃用),也可能是安装包已经被篡改。我已经通过微信公众号留言请求李跳跳发布其使用的证书指纹。我收到回复后会在此 issue 下更新。

仓库中的 "李跳跳2.2正式版.apk" 使用的证书如下:

Certificate #1:
Owner: CN=hello.litiaotiao.app
Issuer: CN=hello.litiaotiao.app
Serial number: 1
Valid from: Mon Apr 03 22:50:22 CST 2023 until: Fri Mar 27 22:50:22 CST 2048
Certificate fingerprints:
         SHA1: 97:45:4D:A9:68:AC:43:9F:2C:33:9F:4D:E9:4B:63:8B:B4:5C:51:F9
         SHA256: 7A:88:96:22:6F:A1:23:9E:60:11:4C:B2:DE:41:1C:C9:FA:68:8F:D2:FB:0D:26:B4:C4:95:97:D8:58:BF:AC:86
Signature algorithm name: SHA256withRSA
Subject Public Key Algorithm: 2048-bit RSA key
Version: 1

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions