基于HarmonyOS应用的手动签名:从DevEco Studio配置到AGC平台的操作
摘要:HarmonyOS手动签名是应用调试和发布的必要流程,通过数字证书验证应用安全性,支持复杂场景开发和上架规范。手动签名需在DevEco Studio生成密钥,在AGC平台创建证书和Profile文件,最后配置签名信息。与自动签名相比,手动签名支持更多权限和离线开发,是应用上架华为应用市场的必备步骤。开发者需按步骤完成密钥生成、AGC平台部署和项目配置,确保应用安全合规并顺利发布。
前提摘要:
HarmonyOS的手动签名是什么?
手动签名是 HarmonyOS 应用在特定调试与发布场景的强制要求,核心用于保障安全可信、适配复杂开发需求与满足上架规范,同时实现密钥与权限的自主可控。
为什么要进行HarmonyOS的手动签名?
-
安全与可信基础签名通过数字证书与Profile文件验证应用身份与完整性,防止篡改、冒充与恶意注入;只有签名后的HAP才可在真机安装运行,系统以此管控权限与设备访问。
-
调试场景的强制要求
- 跨设备 / 跨应用交互、断网调试、多开发者共享密钥。
- 使用需审批的受限开放权限(如部分ACL权限)或华为业务方审核权限(如华为账号一键登录)。
- Kit 需配置指纹、调用需证书校验的开放能力。
-
发布上架的硬性规范应用上架华为应用市场必须使用手动签名,通过 AGC 申请发布证书与发布 Profile,确保发布包的合法性与可追溯性,同时保障后续更新的签名一致性。
-
密钥与权限自主可控手动签名由开发者自行生成与管理密钥(.p12)、证书(.cer)与 Profile(.p7b),便于团队协作、权限精细化管理及离线场景下的打包与调试。
手动签名核心价值
- 安全合规:满足 HarmonyOS 强制签名机制,保障应用来源可信与完整性,避免安装拦截。
- 场景适配:覆盖自动签名无法支持的复杂调试与发布需求,确保功能正常验证与上架。
- 自主可控:密钥与证书自主管理,适配团队协作、权限管控与离线开发流程。
- 更新保障:发布签名一致,确保后续版本平滑更新,避免因签名变更导致更新失败。
手动签名和自动签名的关键性差异?
| 维度 | 自动签名 | 手动签名 |
|---|---|---|
| 适用场景 | 快速调试、基础权限、联网开发 | 复杂调试、受限权限、发布上架、断网 / 多团队 |
| 密钥管理 | IDE/AGC 托管,开发者无密钥副本 | 开发者自主生成与保管密钥,可共享 |
| 权限范围 | 仅支持部分开放权限 | 支持所有权限(含需审批权限) |
| 发布支持 | 不支持发布包签名 | 必须用于发布包签名 |
| 离线能力 | 依赖联网申请 Profile | 可离线打包与调试 |
对于开发者想要将开发好的小程序等上架到华为应用市场,就必须牵扯到一个签名的问题。
以下是本人关于手动签名和部署到AGC平台的详细步骤。
一.DevEco Studio的generate key的创建
打开File->project structure->signing configs查看自己是否没有配置签名

确定无误后,打开上面栏目的build->generate key and CSR


点开new,在store file中创建自己喜欢的文件路径(本人建议将你目前准备开发和上架平台的项目根文件夹放在一块,方便以后的量化处理)

后面的系统要求命名的名字自己命名即可(或者也可以不写)

命名之后创建自己喜欢的密码password,下面是再次输入验证的password

点击OK之后退出,在下面Alias输入自己文件的别名,最后点击next即可

在CSR file的存储路径进行配置,然后点击完成

二.在AppGallery Connect(AGC)平台上进行项目的创建部署
上网点击AGC平台官网进入(AppGallery Connect),依次点击证书 app IDprofile(我的项目),APP ID,然后点击创建,然后在创建页面中输入自己的项目名称,创建好之后点击上面的添加应用


点击添加应用后,选择harmonyos平台,然后点进跳出来的APP ID,出现以下页面之后依次输入相关信息,之后点击下一步

然后再次点击确认

之后点击华为账号,关于下面的能力需要依据开发者实际的项目所包含的元素进行勾选(比如项目里含有地图功能的等等),之后再次点击确认退出

出现下面的页面有APPID显示的说明成功

然后点击证书进行创建


注意的是下面的CSR文件路径得选择之前已经创建好的文件夹里的(文件夹里面自动会有csr的项目文件),选择之后提交

证书出来之后要进行下载(为后面的相关部署做铺垫,建议依旧下载到创建好的文件夹里)

下面还要添加profile:

最下面的证书的路径就是要选择之前下载好的路径里

最下面的权限可申请也可以不申请。
退出之后点击下载(建议下载到创建好的文件夹里)

三.返回DevEco Studio进行手动签名和相关配置查询
点击project structure的signing configs(记得两个都要取消勾选,进行手动签名)

圈出来的三个都在之前创建好的路径里(p12,p7b,cer),password和文件夹名字把之前配置好的输进去就可以了,最后点击apply和ok

点开项目的app.json5可以查看自己的配置信息:

点开build_profile.json5查看手动签名详细信息:

(以上内容为本人的经验,如有错误将加以修正)
更多推荐



所有评论(0)