- 附带:官方第三方分享/登录流程文档。
一、方式一:快应用获得 MD5
- 如果有
keystore
证书可以跳过前三步,拆分证书获取MD5
即可。没有的话则打开 快应用开发工具,点击菜单中的:工具 -》 生成证书 -》创建新的签名(按要求填写好信息)
,填写完了,点击完成,在根目录中会生成一个sign
的证书文件夹,里面有certificate.pem
、private.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。
$ openssl x509 -noout -fingerprint -md5 -inform pem -in certificate.pem
二、方式二:安卓获取应用签名
keystore
证书都一样,可以通过安卓开发工具创建出来也是可以的,都是傻瓜式填信息就有了。- 记得安装 Java JDK,有
java
环境才能走下面的操作。 - 有了
keystore
签名证书后,获取应用签名可以通过命令行
或Android Studio
开发工具来获取。 方式一
:命令行获取应用签名
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 证书指纹: 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、应用签名主要看
证书指纹
这项,证书加密算法主要分为SHA1
、SHA256
、MD5
,其中主要的就是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 新建项目,然后新建一个空项目,重点是包名
,到时候会在手机上通过包名
获得这个应用签名。
4、新建项目完成后,然后就会进入到Android Studio
中,这个时候直接打包即可,只需要一个空包就行,点击菜单中:Build -》Generate Signed Bundle / APK... -》选择 APK -》选择 keystore 证书输入密钥别名 -》选择 release 包导出 apk
,导出apk
后,安装到有 签名生成工具 的手机上。
拿到这个apk
后,然后安装到手机上,打开签名工具
软件,输入刚才的包名,点击获取,就能得到这个对应包名的应用签名
了。