今天又遇到了这个问题,折腾出来了,这里再详细记录下android生成key.jks秘钥证书和通过key.jks查询md5、SHA1、SHA256的方法:
安装keytool,有两种方法:安装JRE环境或者安装Android Studio
1、安装JRE环境
可从Oracle官方下载jre安装包:https://www.oracle.com/technetwork/java/javase/downloads/index.html
下面以安装目录为“C:\Program Files\Java\jre1.8.0_201”为例,实际操作时请修改为自己安装目录
建议将JRE安装路径添加到系统环境变量,已配置可跳过此章节
打开命令行(cmd),输入以下命令:
d: set PATH=%PATH%;"C:\Program Files\Java\jre1.8.0_201\bin"第一行:切换工作目录到D:路径
第二行:将jre命令添加到临时环境变量中
使用keytool -genkey命令生成证书:
keytool -genkey -alias testalias -keyalg RSA -keysize 2048 -validity 36500 -keystore test.keystore• testalias是证书别名,可修改为自己想设置的字符,建议使用英文字母和数字
• test.keystore是证书文件名称,可修改为自己想设置的文件名称
如果提示keytool 不是内部命令;那就是上一步环境变量没设置成功
回车后会提示:
Enter keystore password: //输入证书文件密码,输入完成回车 Re-enter new password: //再次输入证书文件密码,输入完成回车 //输入名字和姓氏,输入完成回车 [Unknown]: //输入组织单位名称,输入完成回车 [no]: //确认上面输入的内容是否正确,输入y,回车 Enter key password for <testalias> (RETURN if same as keystore password):确认证书密码与证书文件密码一样(HBuilder|HBuilderX要求这两个密码一致),直接回车就可以
以上命令运行完成后就会生成证书,路径为“D:\test.keystore”。
查看证书信息
可以使用以下命令查看:
keytool -list -v -keystore test.keystore //输入密码,回车其中证书指纹信息(Certificate fingerprints):
• MD5 证书的MD5指纹信息(安全码MD5)
• SHA1 证书的SHA1指纹信息(安全码SHA1)
• SHA256 证书的SHA256指纹信息(安全码SHA245)
2、安装Android Studio,我爱模板网的Android studio安装在 D:\Program Files\Android\Android Studio\
CD到:D:\Program Files\Android\Android Studio\jre\bin
执行下面的命令:
keytool -genkey -v -keystore D:/key.jks -keyalg RSA -keysize 2048 -validity 10000 -alias key其中:D:/key.jks为证书的路径,key.jks是证书文件名。-alias后面的key为证书别名
回车,输入对应的内容(秘钥库口令即证书私钥密码):
输入密钥库口令:
再次输入新口令:
您的名字与姓氏是什么?
[Unknown]:
您的组织单位名称是什么?
[Unknown]:
您的组织名称是什么?
[Unknown]:
您所在的城市或区域名称是什么?
[Unknown]:
您所在的省/市/自治区名称是什么?
[Unknown]:
该单位的双字母国家/地区代码是什么?
[Unknown]:
CN=Unknown, OU=Unknown, O=Unknown, L=Unknown, ST=Unknown, C=Unknown是否正确?
[否]:y
正在为以下对象生成 2,048 位RSA密钥对和自签名证书 (SHA256withRSA) (有效期为 10,000 天):
CN=Unknown, OU=Unknown, O=Unknown, L=Unknown, ST=Unknown, C=Unknown
输入 <key> 的密钥口令
(如果和密钥库口令相同, 按回车):
再次输入新口令:
[正在存储D:/key.jks]
这样证书就生成好了。如果要查看SHA1、SHA256,则在当前目录继续输入:
keytool -list -v -keystore D:/key.jks
输入对应的口令继续:
输入密钥库口令:
密钥库类型: jks
密钥库提供方: SUN
您的密钥库包含 1 个条目
别名: key
创建日期: 2020-7-9
条目类型: PrivateKeyEntry
证书链长度: 1
证书[1]:
所有者: CN=Unknown, OU=Unknown, O=Unknown, L=Unknown, ST=Unknown, C=Unknown
发布者: CN=Unknown, OU=Unknown, O=Unknown, L=Unknown, ST=Unknown, C=Unknown
序列号: 19001f1e
有效期为 Thu Jul 09 16:39:13 CST 2020 至 Mon Nov 25 16:39:13 CST 2047
证书指纹:
MD5: 57:8E:8D:C1:21:6E:F1:61:AB:34:1C:D6:D6:03:E5:72
SHA1: C1:76:E2:7B:73:27:5F:72:39:9A:A2:4A:DC:C1:00:BC:49:18:85:00
SHA256: 4D:51:9B:49:28:2A:DC:21:BA:83:67:CC:08:23:9B:90:E2:DD:D0:EE:09:E1:67:6F:C6:25:01:D7:86:4D:36:06
签名算法名称: SHA256withRSA
主体公共密钥算法: 2048 位 RSA 密钥
版本: 3
扩展:
#1: ObjectId: 2.5.29.14 Criticality=false
SubjectKeyIdentifier [
KeyIdentifier [
0000: 92 8D 1A 48 1A 0F 75 C0 6B 33 D2 FF C9 CE BA 71 ...H..u.k3.....q
0010: 9D BB EF 40 ...@
]
]
*******************************************
******************************************* 