Android keystore 多种方式获取 MD5、签名信息等(包含快应用)

17 篇文章 14 订阅

方式一:获取应用签名

  • keystore 证书都一样,可以通过安卓开发工具创建出来也是可以的,都是傻瓜式填信息就有了。

  • 记得安装 Java JDK,有 java 环境才能走下面的操作。

  • 有了 keystore 签名证书后,获取应用签名可以通过 命令行Android Studio 开发工具来获取。

  • 方式一Android Studio 通过 gradle 获取应用签名

    1、Android Studio 最新版不显示 gradle task list 问题

    2、Android Studio 通过 gradle 获取 MD5 签名信息

  • 方式二Android Studio 通过打包 apk 获取应用签名

    1、流程: 通过 Android Studio 创建一个项目,然后再在使用 *.keystore 签名证书打一个 release apk 包,然后装到一台安卓手机上,在手机上使用签名工具获得安装的 apk 包应用签名

    2、安卓手机安装上 签名生成工具,下载 签名生成工具 apk 然后安装到手机上。

    测试使用:比如等下需要创建的空项目包名为 com.dzm.test,打开 签名生成工具,在输入框中输入包名 com.dzm.test,则会自动获取本机中对应包名的应用的 应用签名,现在还没装这个包名的 apk,所以获得到的就是个空 null

    3、打开 Android Studio 新建项目,然后新建一个空项目,重点是 包名,到时候会在手机上通过 包名 获得这个应用签名。

    iShot_2022-09-21_13.44.03.png

    4、新建项目完成后,然后就会进入到 Android Studio 中,这个时候直接打包即可,只需要一个空包就行,点击菜单中:Build -》Generate Signed Bundle / APK... -》选择 APK -》选择 keystore 证书输入密钥别名 -》选择 release 包导出 apk,导出 apk 后,安装到有 签名生成工具 的手机上。

    iShot_2022-09-21_13.47.30.png

    iShot_2022-09-21_13.47.48.png

    iShot_2022-09-21_13.51.01.png

    iShot_2022-09-21_13.52.08.png

    iShot_2022-09-21_13.57.28.png

    拿到这个 apk 后,然后安装到手机上,打开 签名工具 软件,输入刚才的包名,点击获取,就能得到这个对应包名的 应用签名 了。

    iShot_2022-09-22_09.41.40.png

  • 方式三:命令行获取应用签名(但是现在这种好像获取不到 MD5 值)

    1、命令行

    $ keytool -v -list -keystore (路径)xxx.keystore
    

    2、就会输出下面这样的信息,也就是 xxx.keystore 解析后的信息。

    密钥库类型: JKS
    密钥库提供方: SUN
    您的密钥库包含 1 个条目
    别名: test_123
    创建日期: 2022年9月21日
    条目类型: PrivateKeyEntry
    证书链长度: 1
    证书[1]:
    所有者: EMAILADDRESS=xxx@163.com, CN=DZM, OU=DZM, O=DZM, L=ShangHai, ST=ShangHai, C=ZH
    发布者: EMAILADDRESS=xxx@163.com, CN=DZM, OU=DZM, O=DZM, L=ShangHai, ST=ShangHai, C=ZH
    序列号: af3c29ad6be7c34c
    生效时间: Wed Sep 21 11:24:27 CST 2022, 失效时间: Sat Sep 18 11:24:27 CST 2032
    证书指纹:
    # 这个 MD5 值去掉冒号就是签名
    MD5: AC:3E:4F:5H:75:C0:21:75:2A:96:BB:7E:BF:A2:44
    SHA1: BB:7E:BF:A2:44:BD:53:E0:D0:67:83:69:EE:19:75:C0:21:75:2A:96
    SHA256: B2:42:C1:F7:15:7E:33:09:6A:CD:AC:42:0F:2B:5B:64:B8:AE:16:E2:C8:AC:87:84:95:A4:00:6D:E2:B4:E7:AC
    签名算法名称: SHA256withRSA
    主体公共密钥算法: 4096 位 RSA 密钥
    ......
    ......
    Warning:
    JKS 密钥库使用专用格式。建议使用 "keytool -importkeystore -srckeystore /Users/dengzemiao/Desktop/Project/qapp/duanju_kyy_haixing_vue/sign/sh.keystore -destkeystore /Users/dengzemiao/Desktop/Project/qapp/duanju_kyy_haixing_vue/sign/sh.keystore -deststoretype pkcs12" 迁移到行业标准格式 PKCS12。
    

    3、应用签名主要看 证书指纹 这项,证书加密算法主要分为 SHA1SHA256MD5,其中主要的就是 MD5,将 MD5(类似上面的 SHA1) 冒号后面的拷贝出来后,去掉中间的 : 然后转为小写就是应用签名了。

    举例:MD5: AC:3E:4F:5H...,取出后面得 AC:3E:4F:5H...,转成小写去掉冒号 ac3e4f5h... 这个就是应用签名。

    4、但是有时候这个签名证书证就没有 MD5 这个加密项,只有 SHA1SHA256 这两项,咋办?这种情况,可以使用 Android Studio 来辅助获取应用签名,也可以使用命令行 keystore 证书通过命令行拆分成 pem 证书,并获得 MD5 来获得。

方式二:获得 MD5(快应用)

  • 如果有 keystore 证书可以跳过前三步,拆分证书获取 MD5 即可。没有的话则打开 快应用开发工具,点击菜单中的:工具 -》 生成证书 -》创建新的签名(按要求填写好信息),填写完了,点击完成,在根目录中会生成一个 sign 的证书文件夹,里面有 certificate.pemprivate.pem 两个文件。

  • 有了上面两个文件后,在次点击菜单中的:工具 -》 pem 证书转 keystore 证书,这是一个安卓签名证书,然后填写好 证书别名(Key alias)密钥库口令(Key store password)密钥口令(Key password),这几个参数跟重要,要记着备份。

  • 选择密钥类型:(选 JKS

    JKSPKCS12 都是比较常用的两种密钥库格式/标准,这两者之间是可以通过导入/导出的方式进行转换的,这种转换需要通过 KeyTool 工具进行。

    JKS 文件:通常为 *.jks*.keystore,扩展名无关,可以通过 Java 原生工具 KeyTool 生成。

    PKCS12 文件:通常为 *.p12*.pfx ,意味个人信息交换文件,则是通过更为常用的 OpenSSL 工具生成。

  • 点击完成后,在 sign 文件夹中会多出一个 *.keystore 的文件,这个就是安卓的签名证书了,附:收藏好这个 keystore 签名证书,很重要,也可以通过 keystore 证书拆分成 pem 证书,上面生成的菜单中有

  • 然后在次点击菜单中的:工具 -》 由证书生成 MD5,就获得应用签名了,复制即可!

  • 如果有 certificate.pem 证书,也可以通过 openssl 工具(maclinux 平台理论上自带,windows 需要自己去下载安装下)获得 MD5,获得后将 = 后面的字符串拿出来去掉冒号就是 MD5 应用签名。附:keystore 证书通过命令行拆分成 pem 证书,并获得 MD5

    $ openssl x509 -noout -fingerprint -md5 -inform pem -in certificate.pem
    

辅助资料

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

卡尔特斯

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值