鸿蒙应用的签名机制与Android/IOS是存在很大差异的,今天整理了一份速查指南,相信会对大家有帮助。

鸿蒙应用的签名体系是由数字证书(.cer)、Profile文件(.p7b)和密钥(.p12) 三要素构成的,用于验证应用来源的真实性与完整性。是否必须签名取决于你的运行场景,下面从整体体系、场景要求、签名方式、操作流程四个维度详细展开:

一、签名体系全景图

在这里插入图片描述

二、各场景签名要求对照

使用场景是否需要签名使用的证书与Profile说明
预览器调试否无无需任何签名配置,可快速预览UI效果
模拟器调试否无支持安装未签名应用,且受限开放权限自动放行
真机调试是调试证书 + 调试Profile真机会校验应用签名与权限授权状态
上架发布是发布证书 + 发布Profile必须以release模式打包,禁止使用debug签名

三、证书与Profile详解

1. 证书类型与配额

HarmonyOS开发者中心颁发的.cer数字证书用于验证应用身份与签名,主要类型如下:

证书类型用途每账号配额有效期
调试证书应用/元服务调试场景最多3个实名认证开发者1年;未实名开发者14天
发布证书上架华为应用市场最多3个3年
In-house发布证书企业内部分发限1个3年
企业应用发布证书企业应用发布限1个3年
企业MDM应用发布证书MDM应用发布限1个3年
企业应用重签名证书MDM/离线安装器分发应用重签名限2个3年
二进制证书鸿蒙PC二进制程序签名(受限开放,需工单申请)最多3个—
云管理证书云端托管私钥、自动轮换最多2个1年,到期前90天自动轮换

2. Profile文件类型

Profile文件(.p7b)包含应用包名、数字证书信息、允许申请的权限列表及允许调试的设备列表,每个应用/元服务包中必须包含一个Profile文件。类型包括:调试、发布、In-house发布、指定设备发布、企业应用发布五种,一个应用最多可申请100个Profile文件。

3. 签名三要素关系​
在这里插入图片描述

四、自动签名与手动签名对比

对比项自动签名手动签名
适用场景大部分调试场景跨设备调试、跨应用交互调试、断网调试、多用户共享密钥、Kit需配置指纹
操作方式勾选自动生成,登录账号即可手动申请证书、注册设备、申请Profile后配置
设备要求连接本地真机(多设备同时连接会写入同一证书文件)需在开发者中心注册调试设备,最多100台
网络要求需联网支持断网调试

自动签名操作路径:在DevEco Studio中依次进入 File > Project Structure > Signing Configs,勾选"Automatically generate signature",登录已实名认证的华为开发者账号即可自动完成签名。在这里插入图片描述

五、手动签名完整流程

​在这里插入图片描述
发布阶段的流程类似,区别在于需申请发布证书和发布Profile,且发布Profile关联证书后指纹会自动添加到应用信息中。

六、关键注意事项

  1. 调试与发布签名不可混用:使用发布证书和发布Profile签名的应用只能用于打包上架,不能用来运行调试工程;反之调试时误用发布Profile会报错9568322(应用来源不可信)。

  2. 正式版本必须使用release签名:DevEco Studio默认编译的HAP为debug模式,不可直接用于商用版本,正式发布必须使用release模式并禁止debug签名,否则会增加被攻击者分析调试的风险。

  3. 证书有效期:实名认证开发者的调试证书有效期为1年、发布证书为3年,未实名开发者调试证书仅14天。证书到期前3个月会有邮件提醒;证书失效或吊销后关联的Profile将全部失效,且废除不可恢复。

  4. 密钥文件务必妥善保管:.p12密钥文件丢失后无法找回,需要重新生成密钥、CSR、证书及Profile。

  5. 公钥指纹配置:若应用集成了华为账号等依赖指纹校验的服务,需在调试或上架前将签名证书指纹配置到开发者中心,每个应用最多添加50个指纹,添加后最迟25小时生效;上架前需将调试证书指纹更新为发布证书指纹。

  6. 证书数量不够时的处理:可废除多余证书(需确认未被应用使用),或让多个应用共用同一证书——发布新应用时仅申请新的Profile并关联已有证书,.p12和.cer文件均可复用。

签名本质上是系统对应用"身份"和"完整性"的安全校验机制,建议在项目初期就完成实名认证并规划好证书管理策略,避免后期因证书过期、配额不足或密钥丢失影响发布节奏。

感谢持续关注!

关注 CPF-Flutter 社区

“AI再牛,技术不能丢

​

Logo

作为“人工智能6S店”的官方数字引擎,为AI开发者与企业提供一个覆盖软硬件全栈、一站式门户。

更多推荐