下载APP

使用JDK生成安卓应用证书


theme: juejin

使用JDK生成安卓发布证书

搭建JDK环境

安装JDK

  1. 请自行百度安装JDK环境

    当前文档使用JDK(1.8.0_371)环境

检查环境

  1. 在控制台输入java -version

    显示出JDK版本信息,代表环境正常

image-20230722141046097.png

生成签名证书

  1. 终端路径进入JDK的安装目录

    如:C:\Program Files\Java\jre-1.8\bin

  2. 执行生成命令.\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,建议2048

      1024的-keysize将在未来的更新中被禁用,生成的证书 使用的 1024 位 RSA 密钥 被视为存在安全风险。

    • 使用带管理员权限的终端执行命令

      没使用管理员权限会报错:keytool 错误: java.io.FileNotFoundException: test.keystore (拒绝访问。)

  3. 一步一步按照提示填写内容

    会根据环境显示中英文

image-20230722155820508.png

> 记住密钥口令,以后会用到的
  1. 生成文件

    会在指定文件目录,生成指定文件demo.keystore

image-20230722160733222.png

  1. 查看证书

    keytool -list -v -keystore C:\test\demo.keystore

    • 使用命令查看证书详情信息
    • 查询证书信息,需要密钥库口令,这里的密钥库口令就是生成证书时指定的密码

image-20230722161101136.png

在线举报