APP备案(Android) - 获取签名证书公钥、MD5

这篇具有很好参考价值的文章主要介绍了APP备案(Android) - 获取签名证书公钥、MD5。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

因为近期刚针对各应用平台对APP备案时间节点要求进行了统一整理,然后隔天就被要求提供一下app相关的的公钥和MD5,虽然很快就解决了这个事情,但忍不住又稍微衍生了一下,但行小步,莫问远方吧

关联Blog

  • APP备案(Android) - 各应用平台对APP备案时间节点要求
  • APP备案(Android) - 获取签名证书公钥、MD5

Tip:如果着急获取公钥和MD5可以直接用便捷工具,反之有兴趣的话可以看看其他获取公钥和MD5的方式

基础认知

证书公钥(Public Key)

  • 加密通信: 在公钥加密系统中,公钥用于加密数据,而私钥用于解密。在安全通信中,通信双方可以交换公钥,并使用对方的公钥加密数据,保证了数据的机密性。
  • 数字签名验证: 证书公钥也用于验证数字签名。数字签名是对数据的摘要,通过使用私钥对摘要进行签名,然后使用公钥来验证签名的有效性。这确保了数据的完整性和真实性。

MD5(Message Digest Algorithm 5)

需要注意的是,MD5 目前不再被认为是安全的加密算法,因为它容易受到碰撞攻击(多个不同的输入产生相同的摘要)。在安全性要求较高的情况下,应考虑使用更强大的哈希算法,例如 SHA-256 或 SHA-3。

  • 数据完整性: MD5 是一种哈希函数,用于生成数据的唯一固定长度的摘要。这个摘要通常用于验证数据的完整性。如果原始数据发生变化,其 MD5 摘要也会发生变化,因此接收方可以比较原始数据的 MD5 摘要以检测是否存在任何篡改
  • 文件校验: MD5 常用于校验文件完整性。在下载文件后,可以计算文件的 MD5 值并与提供的 MD5 值进行比较,以确保文件未被损坏或篡改
  • 密码存储: 尽管 MD5 不再被推荐用于密码存储,但在过去的一些应用中,它被用于生成密码的散列值。现代应用通常使用更安全的哈希算法,如 SHA-256。

便捷工具

近期基本所有国内Android应用平台因为工信部的要求都需要进行APP备案,在APP备案中需要提供公钥、MD5,所以很多工具app应运而生,这种工具我并不确定是否以后还一直可以使用,故除此之外我还提供了另一种核心方式,万变不离其中~

APP备案助手

android app备案 公钥,Android进阶之路,逆向工程,Android,签名证书,APP备案,签名证书公钥、MD5,APP备案公钥、MD5

公钥、MD5

android app备案 公钥,Android进阶之路,逆向工程,Android,签名证书,APP备案,签名证书公钥、MD5,APP备案公钥、MD5


核心方式

准备工作

因为我是使用Demo做演练,所以我需要先 生成 keystore、jks 签名证书,然后在 反编译keystore、jks签名证书 获取部分信息

#生成jsk格式的签名证书
keytool -genkeypair -v -keystore testkeyly.jks -keyalg RSA -keysize 2048 -validity 10000 -alias testkeyly -storetype JKS

公钥

通过 keytool 工具获取签名证书

#示例 your_alias、your_keystore 分别输入自己的签名信息 & certificate 证书名称(可自行更改)
keytool -export -alias your_alias -file certificate.cer -keystore your_keystore.keystore

# demo 示例
keytool -export -alias tmpkey -file certificate.cer -keystore tmpkey.jks 

cmd操作结果

android app备案 公钥,Android进阶之路,逆向工程,Android,签名证书,APP备案,签名证书公钥、MD5,APP备案公钥、MD5

生成cer格式文件

android app备案 公钥,Android进阶之路,逆向工程,Android,签名证书,APP备案,签名证书公钥、MD5,APP备案公钥、MD5

直接在详细信息获取公钥即可

android app备案 公钥,Android进阶之路,逆向工程,Android,签名证书,APP备案,签名证书公钥、MD5,APP备案公钥、MD5

MD5

如果当前本地JDK环境用的1.8的话,可以直接采用如下方式,逆向获取证书信息节课,如没有MD5则查看后续的异常处理方式

逆向签名 - keystore、jks签名文件

# 示例 xxx 输入自己的签名文件名即可
keytool.exe -list -v -keystore xxx.keystore或xxx.jks

#demo 示例
keytool -list -v -keystore tmpkey.jks

正常的话签名信息中可以看到MD5,如下

android app备案 公钥,Android进阶之路,逆向工程,Android,签名证书,APP备案,签名证书公钥、MD5,APP备案公钥、MD5

看到这里可能你也遇到不正常的场景了…

例如签名信息中根本不包含MD5信息… 而且密钥库类型也不同…

android app备案 公钥,Android进阶之路,逆向工程,Android,签名证书,APP备案,签名证书公钥、MD5,APP备案公钥、MD5


核心方式 - MD5异常场景处理方式

查了一下资料,发现可能高于JDK1.8的环境 移除了 这些 Disable MD5 or MD2 signed jars,导致均无法通过 keyTool获取到 MD5 信息

环境介绍

当前环境

  • 本地环境:验证了一下我本地JDK版本已经到了11.0.18
    android app备案 公钥,Android进阶之路,逆向工程,Android,签名证书,APP备案,签名证书公钥、MD5,APP备案公钥、MD5
  • 项目环境:JDK1.8

android app备案 公钥,Android进阶之路,逆向工程,Android,签名证书,APP备案,签名证书公钥、MD5,APP备案公钥、MD5

  • Tip:其实下面的方式都是曲线操作,有兴趣的可以去看一下采用 openssl 获取MD5的方式,因最近减法还没做完,我就先不去深挖了,有机会我再去浅学一下…

signingReport(可用)

执行方式 + 默认配置并未设置签名信息,故该处标红区域的MD5值不对

效果如图

android app备案 公钥,Android进阶之路,逆向工程,Android,签名证书,APP备案,签名证书公钥、MD5,APP备案公钥、MD5

build.gradle中声明对应的签名信息,然后重新执行该操作(可参考:debug模式下打出release签名包)

android app备案 公钥,Android进阶之路,逆向工程,Android,签名证书,APP备案,签名证书公钥、MD5,APP备案公钥、MD5


jadx 验证(未亲测,应可用)

早以前我就记录过 Jadx快速实现Apk反编译 ,这里就不再赘述了,图就直接套了…

APK signature

  • Modulus/模数 为公钥,十进制显示的
  • MD5 Fingerprint/MD5签名,APP备案填写时需要去掉空格,填写32位长度的十六进制数据

android app备案 公钥,Android进阶之路,逆向工程,Android,签名证书,APP备案,签名证书公钥、MD5,APP备案公钥、MD5


RSA文件(亲测,未必全有效)

RAS本身是一种加密方式,这里的RSA文件就是加密文件

  1. apk 后缀改为 zip,变为可压缩包
    android app备案 公钥,Android进阶之路,逆向工程,Android,签名证书,APP备案,签名证书公钥、MD5,APP备案公钥、MD5

  2. 解压后进入 META-INF

android app备案 公钥,Android进阶之路,逆向工程,Android,签名证书,APP备案,签名证书公钥、MD5,APP备案公钥、MD5

  1. 找一个.RSA后缀文件(如果没有该文件,那么这个apk签名可能存在问题)

android app备案 公钥,Android进阶之路,逆向工程,Android,签名证书,APP备案,签名证书公钥、MD5,APP备案公钥、MD5

4.使用 keytool命令获取MD5签名(有的可能获取不到,例如金融型app会进行特殊的二次加密)文章来源地址https://www.toymoban.com/news/detail-765105.html

#xxx 替换成对应的rsa文件名即可
keytool -printcert -file xxx.RSA 

到了这里,关于APP备案(Android) - 获取签名证书公钥、MD5的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • APP备案,最新获取安卓签名文件中MD5等信息方法

    直接通过cmd执行命令 输入后回车会提示输入密码库口令,直接输入Keystore密码(输入过程中终端上不会显示,输完回车就行) 由于上述以前这种方式是可以打印出MD5,现在这种方式却没把MD5值打印出来,处理办法如下 直接在as中的Terminal工具在命令行中输入gradle命令: 1.导出

    2024年01月21日
    浏览(45)
  • App备案与iOS云管理式证书 ,公钥及证书SHA-1指纹的获取方法

    引言 在iOS应用程序开发过程中,进行App备案并获取公钥及证书SHA-1指纹是至关重要的步骤。本文将介绍如何通过appuploader工具获取iOS云管理式证书 Distribution Managed 公钥及证书SHA-1指纹,帮助开发者更好地理解和应用该过程。 正文 iOS应用程序的备案和证书SHA-1指纹获取是确保应

    2024年01月15日
    浏览(49)
  • App备案-iOS云管理式证书 Distribution Managed 公钥及证书SHA-1指纹的获取方法

    根据近日工业和信息化部发布的《工业和信息化部关于开展移动互联网应用程序备案工作的通知》,相信不少要进行IOS平台App备案的朋友遇到了一个问题,就是apple不提供云管理式证书的下载,也就无法获取公钥及证书SHA-1指纹。  已经上架的应用不想重新打包发布的话。可以

    2024年02月08日
    浏览(46)
  • Android studio获取证书的MD5/SHA1/SHA-256以及公钥的方法

    Android studio 获取MD5 SHA1 SHA-256 值命令:./gradlew signingReport Android studio 获取公钥:keytool -export -alias key0 -keystore key.keystore -file zhengshu.cer 一、获取MD5 SHA1 SHA-256 值 在Android项目中执行命令:./gradlew signingReport 然后以上操作执行完成之后,搜索你的证书名称,找到以下数据: 二、获

    2024年02月03日
    浏览(76)
  • Android 应用签名证书的SHA1、MD5、SHA256值在哪获取?

    SHA1值分为发布版和调试版。MD5、SHA256与SHA1的获取是一样的。 调试版就是我们平时开发测试时用的默认签名文件。这个默认的签名文件一般是在c盘的用户名目录下的.android文件夹内。 默认文件就是  debug.keystore 获取调试版的SHA1值 : 回车后即可看到调试版的SHA1值了。

    2024年02月12日
    浏览(60)
  • uniapp离线打包 如何查看公钥 /android studio 导出秘钥证书/获取MD5 SHA256 SHA1值

    使用uniapp离线打包 或者 根据 云端证书 获取 秘钥证书 app申请阿里云备案 在android studio 查看 离线打包的的MD5 SHA256 SHA1值 提示:根据证书或者签名 获取 MD5 SHA256 SHA1值 公钥 or 1.根据云端获取 生成证书 查看公钥 2.android studio 获取MD5 SHA256 SHA1值 3.如果没有获取到MD5 file = setting

    2024年01月18日
    浏览(73)
  • APP备案: AndroidStudio查看Keystore (.jks) MD5指纹、平台公钥 (Mac | Linux)

    目录 AndroidStudio Gradle查看MD5 如果Gradle里没有signingReport的话 Mac | Linux 查看证书公钥 Android APP备案时需要签名的一些信息。 AndroidStudio Gradle查看MD5 用keytool命令查看keystore文件,只显示SHA,没有MD5。 用 Gradle Tasks signingReport 即可在下面控制台显示MD5信息。 如果Gradle里没有signingR

    2024年02月04日
    浏览(39)
  • iOS 系统获取 Bundle ID、平台公钥、签名 MD5 值的指引

    1. 获取 Bundle ID:使用 APP 对应的 IOS 开发者账号登录 Developer 控制台,找到下图 标识符(英文) ,单击进入 Certificates,IdentifiersProfiles 页面。 2. 在 Certificates,IdentifiersProfiles 页面,单击 Identifiers ,其中 IDENTIFIER 列 对应的就是 Bundle ID 。如下图所示: 3. 获取公钥与签名 SHA1 值:

    2024年02月05日
    浏览(40)
  • uniapp安卓签名证书生成,签名证书的SHA1,SHA256,MD5获取

    uniapp安卓证书生成有两种方式,一种是去dcloud开发者中心生成证书,另一种是安装jre环境,自己生成证书 第一种 dcloud生成证书 去该项目对应的应用处,生成证书需要等几分钟,生成后可以查看证书信息 第二种 自己生成 先安装jre,再配置一下环境变量 jre8下载地址 去D盘添加

    2024年02月16日
    浏览(64)
  • Android 生成 keystore 证书并查看 MD5 等签名信息(Android Studio、Keytool)

    记得安装 Java JDK,有 java 环境才能走下面的操作。 生成 .keystore 证书,Keytool 指令详细介绍。 -genkeypair :原 -genkey ,Java 1.6 之后更改,表示生成密钥对 -alias :产生别名,每个 keystore 都会关联这一个独一无二的 alias,alias 不区分大小写 -keyalg :指定产生密钥的算法 -keypass :指

    2024年01月22日
    浏览(64)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包