HarmonyOS 开发 | 搞懂签名

258 阅读2分钟

前言

鸿蒙中关于签名的一共有三种文件:

  • 证书,格式为 .cer
  • Profile, 格式为 .p7b
  • 个人信息交换文件,.p12。我也没搞明白这是啥,再查查。

image.png

HarmonyOS中的证书

一般一个开发者申请一个证书就可以了,不需要每个应用都搞一个证书。但需要申请有 Release 的证书 和 Debug 证书,也就是最起码手里一共要有两个证书

操作

申请证书在华为开发者联盟控制台(简称AGC)上申请,前提是需要有一个 .p12 文件。

HarmonyOS中的Profile

文件结尾为.p7b。 Profile中存储了HarmonyOS应用的包名、数字证书信息、HarmonyOS应用允许申请的证书权限列表,以及允许应用/元服务调试的设备列表(如果应用/元服务类型为Release类型,则设备列表为空)等内容。每个HarmonyOS应用/元服务包中均必须包含一个Profile文件。也就是说,一个应用得有一个自己的专属Profile。

同样的Profile也分 DebugRelease 的,这个需要基于证书的类型选择。如果你是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文件就行。