生成Android平台签名证书(.keystore)

Android平台打包发布apk应用,需要使用数字证书(.keystore文件)进行签名,用于表明开发者身份。

Android证书的生成是自助和免费的,不需要审批或付费。

可以使用JRE环境中的keytool命令生成。以下是windows平台生成证书的方法:

安装JRE环境

如果电脑上装有JDK则无需再安装JRE。

JRE: Java Runtime Environment
JDK:Java Development Kit
JRE顾名思义是java运行时环境,包含了java虚拟机,java基础类库。是使用java语言编写的程序运行所需要的软件环境,是提供给想运行java程序的用户使用的。
JDK顾名思义是java开发工具包,是程序员使用java语言编写java程序所需的开发工具包,是提供给程序员使用的。JDK包含了JRE,同时还包含了编译java源码的编译器javac,还包含了很多java程序调试和分析的工具:jconsole,jvisualvm等工具软件,还包含了java程序编写所需的文档和demo例子程序。
如果你需要运行java程序,只需安装JRE就可以了。如果你需要编写java程序,需要安装JDK。

可从Oracle官方下载JRE安装包,推荐下载Java SE 8,下载地址,Oracle下载需要登录,没有账号可以现注册一个。

安装后建议将JRE安装路径添加到系统环境变量。

生成签名证书

使用keytool -genkey命令生成证书:

keytool -genkey -alias testalias -keyalg RSA -keysize 2048 -validity 36500 -keystore test.keystore
  • testalias是证书别名,可修改为自己想设置的字符,建议使用英文字母和数字。
  • test.keystore是证书文件名称,可修改为自己想设置的文件名称,也可以指定完整文件路径。

回车后依次填写对应信息:

输入密钥库口令:  // 密码不会显示
再次输入新口令:  // 密码不会显示
您的名字与姓氏是什么?
  [Unknown]:
您的组织单位名称是什么?
  [Unknown]:
您的组织名称是什么?
  [Unknown]:
您所在的城市或区域名称是什么?
  [Unknown]:
您所在的省/市/自治区名称是什么?
  [Unknown]:
该单位的双字母国家/地区代码是什么?
  [Unknown]: CN  // 中国填CN
CN=所填姓名, OU=所填组织单位, O=所填组织名称, L=所填城市, ST=所填省/市, C=CN是否正确?
  [否]:  y

输入 <testalias> 的密钥口令
        (如果和密钥库口令相同, 按回车):
再次输入新口令:

以上命令运行完成后就会生成证书,路径为“D:\test.keystore”。

注意:上述信息填写要规范,乱填有可能会影响应用上架应用市场。

查看证书信息

可以使用以下命令查看:

keytool -list -v -keystore test.keystore  
输入密钥库口令:

会输出以下格式信息:

密钥库类型: jks
密钥库提供方: SUN

您的密钥库包含 1 个条目

别名: testalias
创建日期: 2021-5-14
条目类型: PrivateKeyEntry
证书链长度: 1
证书[1]:
所有者: CN=Test, OU=Test, O=Test, L=Test, ST=Test, C=CN
发布者: CN=Test, OU=Test, O=Test, L=Test, ST=Test, C=CN
序列号: 2aaaaba4
生效时间: Fri May 14 15:17:45 CST 2021, 失效时间: Sun Apr 20 15:17:45 CST 2121
证书指纹:
         SHA1: AD:A3:79:4C:20:54:30:80:1E:BB:65:5A:2C:30:CA:C8:5A:CE:9F:4A
         SHA256: 07:CC:2E:D0:E9:8B:E0:B8:49:E5:0F:CB:8B:99:7C:6F:99:55:AF:5C:82:49:33:E7:E3:8F:27:42:90:BF:13:8E
签名算法名称: SHA256withRSA
主体公共密钥算法: 2048 位 RSA 密钥
版本: 3

暂无评论

发送评论 编辑评论


				
上一篇