鸿蒙NEXT开发-应用/元服务签名

注意:博主有个鸿蒙专栏,里面从上到下有关于鸿蒙next的教学文档,大家感兴趣可以学习下

如果大家觉得博主文章写的好的话,可以点下关注,博主会一直更新鸿蒙next相关知识

目录

[1. 应用/元服务签名基本概念](#1. 应用/元服务签名基本概念)

[1.1 基本介绍](#1.1 基本介绍)

[1.2 签名的作用](#1.2 签名的作用)

[1.3 签名的方式](#1.3 签名的方式)

[2. 自动签名](#2. 自动签名)

[2.1 连接真机设备或模拟器](#2.1 连接真机设备或模拟器)

[2.2 完成签名](#2.2 完成签名)

[3. 手动签名](#3. 手动签名)

[3.1 生成密钥和证书请求文件](#3.1 生成密钥和证书请求文件)

[3.1.1 在主菜单栏单击Build > Generate Key and CSR](#3.1.1 在主菜单栏单击Build > Generate Key and CSR)

[3.1.2 在Key Store File中,可以单击Choose Existing选择已有的密钥库文件(存储有密钥的.p12文件);如果没有密钥库文件,单击New进行创建。](#3.1.2 在Key Store File中,可以单击Choose Existing选择已有的密钥库文件(存储有密钥的.p12文件);如果没有密钥库文件,单击New进行创建。)

[3.1.3 在Create Key Store窗口中,填写密钥库信息后,单击OK。](#3.1.3 在Create Key Store窗口中,填写密钥库信息后,单击OK。)

[3.1.4 在Generate Key and CSR界面中,继续填写密钥信息后,单击Next。](#3.1.4 在Generate Key and CSR界面中,继续填写密钥信息后,单击Next。)

[3.1.5 在Generate Key and CSR界面,设置CSR文件存储路径和CSR文件名。](#3.1.5 在Generate Key and CSR界面,设置CSR文件存储路径和CSR文件名。)

[3.1.6 单击Finish,创建CSR文件成功,可以在存储路径下获取生成的密钥库文件(.p12)、证书请求文件(.csr)和material文件夹(存放签名方案相关材料,如密码、证书等)。](#3.1.6 单击Finish,创建CSR文件成功,可以在存储路径下获取生成的密钥库文件(.p12)、证书请求文件(.csr)和material文件夹(存放签名方案相关材料,如密码、证书等)。)

[3.2 申请调试证书和调试Profile文件](#3.2 申请调试证书和调试Profile文件)

[3.2.1 申请调试证书](#3.2.1 申请调试证书)

[3.2.2 申请调试Profile文件](#3.2.2 申请调试Profile文件)

[3.3 手动配置签名信息](#3.3 手动配置签名信息)


1. 应用/元服务签名基本概念

1.1 基本介绍

在HarmonyOS应用开发过程中,签名信息配置是一个关键步骤,它确保了应用的安全性和唯一性,签名信息涉及到应用能否正常上架,所以说正确配置签名信息对于应用上架、更新和用户数据保护至关重要。而且鸿蒙官方为了确保鸿蒙应用(包括元服务)的完整性,HarmonyOS通过数字证书和Profile文件对鸿蒙应用进行管控,只有签名后的鸿蒙应用才能安装到真机上运行。那么本文就来详细介绍在HarmonyOS开发中如何配置签名信息,包括生成签名证书、配置签名文件以及在开发环境中应用签名的过程,方便查阅使用。

1.2 签名的作用

在HarmonyOS中,签名信息用于验证应用的身份和完整性,它主要有以下几个重要的作用:

安全性:确保应用在传输和安装过程中未被篡改。

唯一性:为应用开发者提供唯一的标识,防止应用被冒充。

权限管理:控制应用的权限,确保应用只能访问授权的数据和资源。

1.3 签名的方式

1、自动签名

2、手动签名

2. 自动签名

2.1 连接真机设备或模拟器

2.2 完成签名

进入File > Project Structure... > Project > Signing Configs 界面,勾选"Automatically generate signature"(如果是HarmonyOS工程,需同时勾选"Support HarmonyOS"),即可完成签名。如果未登录,请先单击Sign In进行登录,然后自动完成签名

签名完成后,如下图所示,并在本地生成密钥(.p12)、证书请求文件(.csr)、数字证书(.cer)及Profile文件(.p7b),数字证书在AppGallery Connect网站的"证书、APP ID和Profile"页签中可以查看。

3. 手动签名

HarmonyOS应用/元服务通过数字证书(.cer文件)和Profile文件(.p7b文件)来保证应用/元服务的完整性。在申请数字证书和Profile文件前,首先需要通过DevEco Studio来生成密钥(存储在格式为.p12的密钥库文件中)和证书请求文件(.csr文件)。然后,申请调试数字证书和调试Profile文件。最后,将密钥(.p12)文件、数字证书(.cer)文件和Profile(.p7b)文件配置到工程中。

基本概念

  • 密钥:格式为.p12,包含非对称加密中使用的公钥和私钥,存储在密钥库文件中,公钥和私钥对用于数字签名和验证。
  • 证书请求文件:格式为.csr,全称为Certificate Signing Request,包含密钥对中的公钥和公共名称、组织名称、组织单位等信息,用于向AppGallery Connect申请数字证书。
  • 数字证书:格式为.cer,由华为AppGallery Connect颁发。
  • Profile文件:格式为.p7b,包含HarmonyOS应用/元服务的包名、数字证书信息、描述应用/元服务允许申请的证书权限列表,以及允许应用/元服务调试的设备列表(如果应用/元服务类型为Release类型,则设备列表为空)等内容,每个应用/元服务包中均必须包含一个Profile文件。

3.1 生成密钥和证书请求文件

3.1.1 在主菜单栏单击Build > Generate Key and CSR
3.1.2 在Key Store File中,可以单击Choose Existing选择已有的密钥库文件(存储有密钥的.p12文件);如果没有密钥库文件,单击New进行创建。
3.1.3 在Create Key Store窗口中,填写密钥库信息后,单击OK。
  • Key store file:设置密钥库文件存储路径,并填写p12文件名。
  • Password:设置密钥库密码,必须由大写字母、小写字母、数字和特殊符号中的两种以上字符的组合,长度至少为8位。请记住该密码,后续签名配置需要使用。
  • Confirm password:再次输入密钥库密码。
3.1.4 在Generate Key and CSR界面中,继续填写密钥信息后,单击Next。
  • Alias:密钥的别名信息,用于标识密钥名称。请记住该别名,后续签名配置需要使用。
  • Password:密钥对应的密码,与密钥库密码保持一致,无需手动输入。
3.1.5 在Generate Key and CSR界面,设置CSR文件存储路径和CSR文件名。
3.1.6 单击Finish,创建CSR文件成功,可以在存储路径下获取生成的密钥库文件(.p12)、证书请求文件(.csr)和material文件夹(存放签名方案相关材料,如密码、证书等)。

3.2 申请调试证书和调试Profile文件

通过生成的证书请求文件,向AppGallery Connect申请调试证书和Profile文件

3.2.1 申请调试证书
3.2.2 申请调试Profile文件

将证书和profile文件下载到本地存储

3.3 手动配置签名信息

在DevEco Studio中配置密钥(.p12)文件、申请的调试证书(.cer)文件和调试Profile(.p7b)文件。

File > Project Structure > Project > Signing Configs窗口中,取消勾选"Automatically generate signature"(如果是HarmonyOS应用,请勾选"Support HarmonyOS"),然后配置工程的签名信息。

配置完成后,进入工程级build-profile.json5文件,在"signingConfigs"下可查看到配置成功的签名信息

官方文档地址:文档中心

相关推荐
别说我什么都不会23 分钟前
使用Multipass编译OpenHarmony工程
操作系统·嵌入式·harmonyos
轻口味3 小时前
【每日学点HarmonyOS Next知识】多继承、swiper容器、事件传递、滚动安全区域、提前加载网络图片
华为·harmonyos·harmonyosnext
zhgjx-dengkewen3 小时前
华为eNSP:实验 OSPF单区域
运维·网络·华为·智能路由器
别说我什么都不会3 小时前
鸿蒙轻内核M核源码分析系列二一 05 文件系统FatFS
操作系统·嵌入式·harmonyos
Georgewu4 小时前
【HarmonyOS Next】鸿蒙应用故障处理思路详解
前端·vue.js·harmonyos
盖世栗子4 小时前
HarmonyOS中Image组件的缩放模式
harmonyos
幽蓝计划8 小时前
HarmonyOS Next开发教程之地图定位
harmonyos
轻口味12 小时前
【每日学点HarmonyOS Next知识】Web交互、列表拖拽、横屏后布局、Event序列问题、Scroll与Web组合
前端·交互·harmonyos·harmonyosnext
轻口味1 天前
【每日学点HarmonyOS Next知识】截图组件截取列表、Toggle组件、Web组件请求头、列表选择弹窗、游戏加速
前端·游戏·harmonyos·harmonyosnext
鸿蒙开发工程师—阿辉1 天前
HarmonyOS Next元服务网络请求封装实践
网络·华为·typescript·harmonyos·元服务