Android应用签名证书(.keystore)生成

Android应用签名证书(.keystore)生成教程

前言

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

Android证书可以通过JRE环境中的 keytool 命令生成,不需要审核或付费。

本文仅介绍 Windows 环境下生成 签名证书。

环境准备

推荐安装 JRE 8 以上,本文使用的是 jre1.8.0_241 版本。
这里不介绍 JRE/JDK 的安装。

生成签名证书

使用 keytool -genkey 命令生成证书。
样例命令如下,生成别名为 testalias ,文件名为 test.keystore 的签名证书。

keytool -genkey -alias testalias -keyalg RSA -keysize 2048 -validity 36500 -keystore test.keystore

说明:

  • testalias 是证书别名,推荐根据项目名设置对应的别名,使用英文字母和数字
  • test.keystore 是证书文件名称,推荐根据项目名设置对应的文件名称,可指定路径

执行命令后,需要根据提示填写相关内容。
根据不同的环境会出现中英文两个版本,内容无差别

  • 输入密钥库口令:	# 这里输入证书密码,完成后回车,下同
    再次输入新口令:	# 再次输入证书密码
    您的名字与姓氏是什么?
      [Unknown]:	# 输入对应问题的内容
    您的组织单位名称是什么?
      [Unknown]:	
    您的组织名称是什么?
      [Unknown]:
    您所在的城市或区域名称是什么?
      [Unknown]:
    您所在的省/市/自治区名称是什么?
      [Unknown]:
    该单位的双字母国家/地区代码是什么?
      [Unknown]:  	# 输入国家/地区代码,中国填CN
    CN=ALun, OU=ALun Studio, O=ALun, L=Hangzhou, ST=Zhejiang, C=CN是否正确?
      [否]:  		# 如果信息填写无误,键入 y,反正键入 n
    
    输入 <testalias> 的密钥口令
            (如果和密钥库口令相同, 按回车):
    
  • Enter keystore password:  	# 输入密钥库口令
    Re-enter new password:   	# 再次输入新口令
    What is your first and last name?  
      [Unknown]:  				# 您的名字与姓氏是什么?
    What is the name of your organizational unit?  
      [Unknown]:  				# 您的组织单位名称是什么?
    What is the name of your organization?  
      [Unknown]: 				# 您的组织名称是什么?
    What is the name of your City or Locality?  
      [Unknown]:  				# 您所在的城市或区域名称是什么?
    What is the name of your State or Province?  
      [Unknown]: 				# 您所在的省/市/自治区名称是什么?
    What is the two-letter country code for this unit?  
      [Unknown]:  				# 该单位的双字母国家/地区代码是什么? 中国填CN
    Is CN=XX, OU=XX, O=XX, L=XX, ST=XX, C=XX correct?  
      [no]:  					# 如果信息填写无误,键入 y,反正键入 n 
    
    Enter key password for <testalias>  			# 输入 <testalias> 的密钥口令
            (RETURN if same as keystore password):  # (如果和密钥库口令相同, 按回车)
    

提示1:HBuilder|HBuilderX 要求这密钥和密钥库密码一致
提示2:上述信息应按照应用情况如实填写
提示3:文件默认生成位置与当前路径一致,建议先通过 cd 命令到指定路径。

现在生成签名证书会给出警告:

Warning:
JKS 密钥库使用专用格式。建议使用 "keytool -importkeystore -srckeystore test.keystore -destkeystore test.keystore -deststoretype pkcs12" 迁移到行业标准格式 PKCS12。

根据警告命令升级为标准格式即可:

keytool -importkeystore -srckeystore test.keystore -destkeystore test.keystore -deststoretype pkcs12
  • 命令中的 test.keystore 根据实际命名情况更改

查看证书信息

使用如下命令查看申请书所填信息:

keytool -list -v -keystore test.keystore
  • test.keystore 为对应的证书文件名

命令输入后,会要求输入密钥库密码,才能够显示。

安卓签名获取

建议使用微信开放平台中的签名生成工具apk,直接安装到手机进行获取。
引用文档章节:https://developers.weixin.qq.com/doc/oplatform/Downloads/Android_Resource.html
直接下载路径:https://res.wx.qq.com/open/zh_CN/htmledition/res/dev/download/sdk/Gen_Signature_Android2.apk

上一篇:JWT生产公钥与私钥,导出公钥


下一篇:关于uni-app中使用android进行打包上传应用市场