Uni-App之Android平台云端打包证书制作

签名证书是一个应用的所有者的信息描述和身份标记。

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

HBuilder|HBuilderX中开发完成发布为原生App提交云端打包时,Android平台需要选择签名证书:


uni云打包图例.png

Android的应用安全管理模型,包括包名、证书、应用市场的账户。

包名是公开的,任何人都可以做一个apk包,包名和你的应用包名相同。那么如何防止仿冒包?
  1. 他人没有你的应用市场账户,就无法在市场发布仿冒包。
  2. 他人没有你的签名证书。不过这一点,现实中有很多问题,手机用户是没有识别能力的。大多数安卓手机上也无法查看应用的签名信息。

制作Android平台签名证书(以windows系统为例)

本人使用JDK的keytool工具生成签名,不像Apple证书那样收费,制作Android证书没有费用。

安装JRE环境

可从Oracle官方下载jre安装包:https://www.oracle.com/technetwork/java/javase/downloads/index.html
(注:JDK包含JRE)

下面以安装目录为“C:\Program Files\Java\jdk-12.0.1”为例

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

打开命令行(cmd),输入以下命令:


d:

setPATH=%PATH%;"C:\Program Files\Java\jdk-12.0.1"

第一行:切换工作目录到D:路径

第二行:将jdk命令添加到临时环境变量中

生成签名证书

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


keytool -genkey -alias AAAAAA -keyalg RSA -keysize 2048 -validity 36500 -keystore BBBBBB.keystore

AAAAAA是证书别名,可修改为自己想设置的字符,建议使用英文字母和数字

BBBBBB.keystore是证书文件名称,可修改为自己想设置的文件名称(.keystore后缀不能少,否则选择证书文件时找不到.keystore文件)

回车后会提示:


Enter keystore password://输入证书文件密码,输入完成回车

Re-enternewpassword://再次输入证书文件密码,输入完成回车 

Whatisyour first and last name? 

[Unknown]://输入名字和姓氏,输入完成回车 

Whatisthe name of your organizational unit? 

[Unknown]://输入组织单位名称,输入完成回车

Whatisthe name of your organization? 

[Unknown]://输入组织名称,输入完成回车 

Whatisthe name of your City or Locality?

[Unknown]://输入城市或区域名称,输入完成回车 

Whatisthe name of your State or Province? 

[Unknown]://输入省/市/自治区名称,输入完成回车 

Whatisthe two-letter country codeforthisunit? 

[Unknown]://输入国家/地区代号(两个字母),中国为CN,输入完成回车 

Is CN=XX, OU=XX, O=XX, L=XX, ST=XX, C=XX correct? 

[no]://确认上面输入的内容是否正确,输入y,回车 

Enter key passwordfor (RETURNifsameaskeystore password)://确认证书密码与证书文件密码一样
//(HBuilder|HBuilderX要求这两个密码一致)直接回车就可以 

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

可以使用以下命令查看证书信息:


keytool -list -v -keystore BBBBBB.keystore 

Enter keystore password://输入密码,回车 

以上就是生成证书的方法,可以用于开发环境也可以用于正式环境。

你可能感兴趣的:(Uni-App之Android平台云端打包证书制作)