前言
鸿蒙中关于签名的一共有三种文件:
- 证书,格式为
.cer。 - Profile, 格式为
.p7b。 - 个人信息交换文件,
.p12。我也没搞明白这是啥,再查查。
HarmonyOS中的证书
一般一个开发者申请一个证书就可以了,不需要每个应用都搞一个证书。但需要申请有 Release 的证书 和 Debug 证书,也就是最起码手里一共要有两个证书。
操作
申请证书在华为开发者联盟控制台(简称AGC)上申请,前提是需要有一个 .p12 文件。
HarmonyOS中的Profile
文件结尾为.p7b。 Profile中存储了HarmonyOS应用的包名、数字证书信息、HarmonyOS应用允许申请的证书权限列表,以及允许应用/元服务调试的设备列表(如果应用/元服务类型为Release类型,则设备列表为空)等内容。每个HarmonyOS应用/元服务包中均必须包含一个Profile文件。也就是说,一个应用得有一个自己的专属Profile。
同样的Profile也分 Debug 和 Release 的,这个需要基于证书的类型选择。如果你是debug时候用的,那你就要申请一个debug的Profile文件,记得这个Profile文件是基于Debug类型的证书。Release 的Profile也是类似的。
操作
对Profile证书的操作(如新增、删除等)也需要在AGC上操作哦。
总体流程
主要分三步走。
Deveco Studio生成p12文件 --> 到AGC申请debug类型证书 --> 再生成特定应用的Profile文件
用到哪里?
这三个都需要在Deveco Studio打包的时候用到哦。
可能遇到的问题
1. error: 11014001 key alias not found
这是因为用了个人信息交换文件.p12申请的证书(.cer)后,没有更新.p12的内容,用了老的.p12。一般会在.p12生成.csr(证书请求文件)的时候就自动更新这个.p12文件的内容了。找到最新的.p12文件就行。