theme: juejin
使用JDK生成安卓发布证书
搭建JDK环境
安装JDK
- 请自行百度安装JDK环境
当前文档使用JDK(1.8.0_371)环境
检查环境
-
在控制台输入
java -version
显示出JDK版本信息,代表环境正常
生成签名证书
-
终端路径进入
JDK
的安装目录如:
C:\Program Files\Java\jre-1.8\bin
-
执行生成命令
.\keytool -genkey -alias test -validity 36500 -keystore demo.keystore -deststoretype pkcs12
-keystore
可以填写完整的指定位置完整路径,如:C:\test\demo.keystore
-validity
指定数字证书的有效天数,默认有效天数是90天
-- 可以使用`keytool -help`查看命令解释 -certreq 生成证书请求 -changealias 更改条目的别名 -delete 删除条目 -exportcert 导出证书 -genkeypair 生成密钥对 -genseckey 生成密钥 -gencert 根据证书请求生成证书 -importcert 导入证书或证书链 -importpass 导入口令 -importkeystore 从其他密钥库导入一个或所有条目 -keypasswd 更改条目的密钥口令 -list 列出密钥库中的条目 -printcert 打印证书内容 -printcertreq 打印证书请求的内容 -printcrl 打印 CRL 文件的内容 -storepasswd 更改密钥库的存储口令
-- 可以使用`keytool -command_name -help` -- 如:keytool -genkey -help 生成密钥对 选项: -alias <alias> 要处理的条目的别名 -keyalg <keyalg> 密钥算法名称 -keysize <keysize> 密钥位大小 -groupname <name> Group name. For example, an Elliptic Curve name. -sigalg <sigalg> 签名算法名称 -destalias <destalias> 目标别名 -dname <dname> 唯一判别名 -startdate <startdate> 证书有效期开始日期/时间 -ext <value> X.509 扩展 -validity <valDays> 有效天数 -keypass <arg> 密钥口令 -keystore <keystore> 密钥库名称 -storepass <arg> 密钥库口令 -storetype <storetype> 密钥库类型 -providername <providername> 提供方名称 -providerclass <providerclass> 提供方类名 -providerarg <arg> 提供方参数 -providerpath <pathlist> 提供方类路径 -v 详细输出 -protected 通过受保护的机制的口令
-
需要指定
-deststoretype pkcs12
如果不指定,会出现警告,行业标准格式为 pkcs12
-
如果指定要
-keysize
,必须1024,建议20481024的
-keysize
将在未来的更新中被禁用,生成的证书 使用的 1024 位 RSA 密钥 被视为存在安全风险。 -
使用带管理员权限的终端执行命令
没使用管理员权限会报错:
keytool 错误: java.io.FileNotFoundException: test.keystore (拒绝访问。)
-
-
一步一步按照提示填写内容
会根据环境显示中英文
> 记住密钥口令,以后会用到的
-
生成文件
会在指定文件目录,生成指定文件
demo.keystore
-
查看证书
keytool -list -v -keystore C:\test\demo.keystore
- 使用命令查看证书详情信息
- 查询证书信息,需要密钥库口令,这里的密钥库口令就是生成证书时指定的密码