您当前的位置:首页 > 计算机 > 编程开发 > 安卓(android)开发

安卓 keystore 获得应用签名详细流程(快应用 )

时间:02-29来源:作者:点击数:
CDSY,CDSY.XYZ

一、方式一:快应用获得 MD5

  • 如果有 keystore 证书可以跳过前三步,拆分证书获取 MD5 即可。没有的话则打开 快应用开发工具,点击菜单中的:工具 -》 生成证书 -》创建新的签名(按要求填写好信息),填写完了,点击完成,在根目录中会生成一个 sign 的证书文件夹,里面有 certificate.pemprivate.pem 两个文件。
  • 有了上面两个文件后,在次点击菜单中的:工具 -》 pem 证书转 keystore 证书,这是一个安卓签名证书,然后填写好 证书别名(Key alias)密钥库口令(Key store password)密钥口令(Key password),这几个参数跟重要,要记着备份。
  • 选择密钥类型:(选 JKS )
    JKS 和 PKCS12 都是比较常用的两种密钥库格式/标准,这两者之间是可以通过导入/导出的方式进行转换的,这种转换需要通过 KeyTool 工具进行。
    JKS 文件:通常为 *.jks 或 *.keystore,扩展名无关,可以通过 Java 原生工具 KeyTool 生成。
    PKCS12 文件:通常为 *.p12 或 *.pfx ,意味个人信息交换文件,则是通过更为常用的 OpenSSL 工具生成。
  • 点击完成后,在 sign 文件夹中会多出一个 *.keystore 的文件,这个就是安卓的签名证书了,附:收藏好这个 keystore 签名证书,很重要,也可以通过 keystore 证书拆分成 pem 证书,上面生成的菜单中有
  • 然后在次点击菜单中的:工具 -》 由证书生成 MD5,就获得应用签名了,复制即可!
  • 如果有 certificate.pem 证书,也可以通过 openssl 工具(mac 和 linux 平台理论上自带,windows 需要自己去下载安装下)获得 MD5,获得后将 = 后面的字符串拿出来去掉冒号就是 MD5 应用签名。附:keystore 证书通过命令行拆分成 pem 证书,并获得 MD5
    shell $ openssl x509 -noout -fingerprint -md5 -inform pem -in certificate.pem

二、方式二:安卓获取应用签名

  • keystore 证书都一样,可以通过安卓开发工具创建出来也是可以的,都是傻瓜式填信息就有了。
  • 记得安装 Java JDK,有 java 环境才能走下面的操作。
  • 有了 keystore 签名证书后,获取应用签名可以通过 命令行 或 Android Studio 开发工具来获取。
  • 方式一:命令行获取应用签名
    1、命令行
    shell $ 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
    证书指纹:
    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/duanjukyyhaixingvue/sign/sh.keystore -destkeystore /Users/dengzemiao/Desktop/Project/qapp/duanjukyyhaixingvue/sign/sh.keystore -deststoretype pkcs12" 迁移到行业标准格式 PKCS12。 ```
    3、应用签名主要看 证书指纹 这项,证书加密算法主要分为 SHA1SHA256MD5,其中主要的就是 MD5,将 MD5(类似上面的 SHA1) 冒号后面的拷贝出来后,去掉中间的 : 然后转为小写就是应用签名了。
    举例:MD5: AC:3E:4F:5H...,取出后面得 AC:3E:4F:5H...,转成小写去掉冒号 ac3e4f5h... 这个就是应用签名。
    4、但是有时候这个签名证书证就没有 MD5 这个加密项,只有 SHA1 、SHA256 这两项,咋办?这种情况,可以使用 方式二:Android Studio 来辅助获取应用签名,也可以使用命令行 keystore 证书通过命令行拆分成 pem 证书,并获得 MD5 来获得。
  • 方式一Android Studio 获取应用签名
    1、流程: 通过 Android Studio 创建一个项目,然后再在使用 *.keystore 签名证书打一个 release apk 包,然后装到一台安卓手机上,在手机上使用签名工具获得安装的 apk 包应用签名
    2、安卓手机安装上 签名生成工具,下载 签名生成工具 apk 然后安装到手机上。
    测试使用:比如等下需要创建的空项目包名为 com.dzm.test,打开 签名生成工具,在输入框中输入包名 com.dzm.test,则会自动获取本机中对应包名的应用的 应用签名,现在还没装这个包名的 apk,所以获得到的就是个空 null
    3、打开 Android Studio 新建项目,然后新建一个空项目,重点是 包名,到时候会在手机上通过 包名 获得这个应用签名。
    iShot<em>2022-09-21</em>13.44.03.png
    4、新建项目完成后,然后就会进入到 Android Studio 中,这个时候直接打包即可,只需要一个空包就行,点击菜单中:Build -》Generate Signed Bundle / APK... -》选择 APK -》选择 keystore 证书输入密钥别名 -》选择 release 包导出 apk,导出 apk 后,安装到有 签名生成工具 的手机上。
    iShot<em>2022-09-21</em>13.47.30.png
    iShot<em>2022-09-21</em>13.47.48.png
    iShot<em>2022-09-21</em>13.51.01.png
    iShot<em>2022-09-21</em>13.52.08.png
    iShot<em>2022-09-21</em>13.57.28.png
    拿到这个 apk 后,然后安装到手机上,打开 签名工具 软件,输入刚才的包名,点击获取,就能得到这个对应包名的 应用签名 了。
    iShot<em>2022-09-22</em>09.41.40.png
CDSY,CDSY.XYZ
方便获取更多学习、工作、生活信息请关注本站微信公众号城东书院 微信服务号城东书院 微信订阅号
推荐内容
相关内容
栏目更新
栏目热门
本栏推荐