当前位置: 首页 > article >正文

HarmonyOS开发:关于签名信息配置详解

目录

前言

签名信息的重要性

签名的方式

自动化签名

1、连接真机

2、选择

手动签名

(一)生成密钥和证书请求文件

(二)申请调试证书

(三)注册调试设备

(四)申请调试Profile文件

(五)配置签名信息

结束语


前言

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

签名信息的重要性

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

  • 安全性:确保应用在传输和安装过程中未被篡改。
  • 唯一性:为应用开发者提供唯一的标识,防止应用被冒充。
  • 权限管理:控制应用的权限,确保应用只能访问授权的数据和资源。

签名的方式

为了确保鸿蒙应用/元服务的完整性,HarmonyOS通过数字证书和Profile文件对元服务进行管控,只有签名后的鸿蒙应用/元服务才能安装到真机上运行。

华为提供了两种签名方式:

  • 自动化签名
  • 手动签名

下文会专门介绍这两种签名方式的具体操作步骤。

自动化签名

这里还是要强调一下,至于是选择自动化签名还是手动签名,一切根据自己的实际情况为主。先来介绍一下自动化签名的详细操作步骤,大概分为两步操作,具体如下所示。

1、连接真机

首先需要连接真机操作,真机连接成功后如下图所示:

需要注意的是:如果同时连接多个设备,则使用自动化签名时,会同时将这多个设备的信息写到证书文件中在,这一点要记住。

2、选择

真机链接成功之后,就是去操作菜单选择。打开菜单,在菜单中选择“File > Project Structure”,打开界面之后在“Project Structure”界面导航选择“Project”,选择“Signing Configs”页签,选择“Debug”页签,勾选“Automatically generate signature” 。但是如果未登录,需要先点击“Sign In”进行登录,具体如下所示:

在完成签名完成之后,界面信息如下所示:

手动签名

上面的自动化签名是不是很简单,只需两步就可搞定,但是手动签名比较复杂,如果无法联网,不然不推荐使用这种签名方式。在开始使用手动签名之前,需要先了解如下几个基本概念:

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

(一)生成密钥和证书请求文件

1、首先打开菜单,在菜单中选择“Build > Generate Key and CSR”。

2、然后找到Key Store File可以点击“Choose Existing”选择,如果已有的密钥库文件(存储有密钥的.p12文件),跳转到下面的步骤4继续配置;如果没有密钥库文件,点击“New”,跳转到下面的步骤3进行创建。

3、找到“Create Key Store”界面,填写密钥库信息后,点击“OK”。下面是注意事项:

  • Key Store File:设置密钥库文件存储路径,并填写p12文件名。
  • Password:设置密钥库密码,必须由大写字母、小写字母、数字和特殊符号中的两种以上字符的组合,长度至少为8位。请记住该密码,后续签名配置需要使用。
  • Confirm Password:再次输入密钥库密码。

4、打开“Generate Key and CSR”界面,然后继续填写密钥信息后,接着点击“Next”。下面是注意事项:

  • Alias:密钥的别名信息,用于标识密钥名称。请记住该别名,后续签名配置需要使用。
  • Password:密钥对应的密码,与密钥库密码保持一致,无需手动输入。
  • Validity:证书有效期,建议设置为2025年及以上,覆盖元服务的完整生命周期。
  • Certificate:输入证书基本信息,比如组织、城市或地区、国家码等,这与iOS、Android的设置差不多。

5、打开“Generate Key and CSR”界面,然后设置CSR文件存储路径和CSR文件名,最后点击“Finish”。

在CSR文件创建成功后,将在存储路径下获取生成密钥库文件(.p12)和证书请求文件(.csr)。

(二)申请调试证书

关于申请调试证书,大概分为四步,具体如下所示:

1、登录AppGallery Connect:AppGallery Connect ,登录之后如下图所示:

2、然后在左侧导航栏选择“证书管理”,进入“证书管理”页面,点击“新增证书”。具体如下所示:

3、在弹出“新增证书”界面填写相关信息后,点击“提交”。

参数

说明

证书名称

不超过100个字符。

证书类型

选择“调试证书”。

上传证书请求文件(CSR)

上传生成密钥和证书请求文件时获取的.csr文件。

4、证书申请成功后,“证书管理”页面展示生成的证书内容。

  • 点击“下载”将生成的证书保存至本地。
  • 每个帐号最多申请2个调试证书,如果证书已过期或者无需使用,点击“废除”即可删除证书。

(三)注册调试设备

1、注册调试设备依然需要登录AppGallery Connect:AppGallery Connect  ,然后点击“用户与访问”,具体如下所示:

2、进入之后,点击左侧导航栏选择“设备管理/测试账号”,进入“设备管理/测试账号”页面,具体如下所示:

  • 点击“添加设备/新增”,参考下表填写设备信息,单个添加设备。
  • 点击“批量添加设备”,下载模板,参考下表填写多条设备信息,上传文件,批量添加设备。

参数

说明

名称

不超过100个字符。

类型

选择需要调试设备的类型。

UDID

设备唯一标识符,是由字母和数字组成的64位字符串。您可在对应的调试设备上获取UDID。

关于手机获取UDID方式,具体如下所示:

  1. 打开“设置 > 关于手机”,多次点击版本号,打开开发者模式。
  2. 打开“设置 > 系统和更新”,在最下方找到“开发人员选项”,打开“USB调试”开关。
  3. 使用PC连接手机后,打开命令行工具,进入HDC目录(一般为:HarmonyOS SDK安装目录/toolchains/{版本号}),然后输入hdc shell bm get --udid命令,获取设备的UDID即可

3、设备注册成功,即可在“设备管理”页面查看到设备信息。

(四)申请调试Profile文件

1、登录AppGallery Connect:AppGallery Connect ,选择“我的项目”,具体如下所示:

2、找到对应项目,点击项目卡片中需要调试的元服务。

3、导航选择“HarmonyOS应用 > HAP Provision Profile管理”,进入“管理HAP Provision Profile”页面,点击“添加”。

4、在“HarmonyAppProvision信息”界面填写相关信息,点击“提交”,具体设置参数如下所示:

参数

说明

名称

不超过100个字符。

类型

选择“调试”。

选择证书

选择申请的调试证书。

选择设备

选择注册的调试设备。

申请受限权限

若软件包因特殊场景要求使用受限权限,如读取、 添加、移除或更改联系人数据等,务必在此处进行申请,否则元服务将无法在调试设备上安装调试。

5、申请成功,即可在“管理HAP Provision Profile”页面查看Profile信息。点击“下载”,将文件下载到本地,具体如下所示:

(五)配置签名信息

1、打开DevEco Studio,菜单选择“File > Project Structure”,进入“Project Structure”界面。

2、导航选择“Project”,点击“Signing Configs”页签。去除勾选的“Automatically generate signature”,填写相关信息后,点击“OK”,具体需要选择的文件释义如下所示:

  • Store File:密钥库文件,选择生成密钥和证书请求文件
  • Store Password:密钥库密码,需要与生成密钥和证书请求文件
  • Key alias:密钥的别名信息,需要与生成密钥和证书请求文件
  • Key password:密钥的密码,需要与生成密钥和证书请求文件
  • Sign alg:固定设置为“SHA256withECDSA”。
  • Profile file:选择申请调试Profile文件
  • Certpath file:选择申请调试证书

结束语

通过上文对于HarmonyOS开发中签名信息配置的详细介绍,我们不难看出签名信息配置是HarmonyOS应用开发中的一个重要环节。签名不仅是保护应用安全的关键,也是确保应用能够顺利发布和更新的前提,通过生成签名证书、配置签名文件和正确签名应用,可以确保应用的安全性和唯一性。随着技术的不断演进,签名和安全机制可能会有所变化,所以我们需要持续关注HarmonyOS的最新安全实践和更新,以确保应用始终保持最新和最安全的配置,还有就是开发者也应该培养良好的安全意识,从设计和编码阶段就开始考虑应用的安全性,与此同时应遵循官方文档和最佳实践,确保签名过程的正确性和应用的顺利上架。最后,希望本文能够为大家提供实用的指导和帮助,让大家能够更加自信地进行应用开发和签名配置,让我们一起期待并共同构建一个更加安全、可靠和繁荣的HarmonyOS应用生态系统!


http://www.kler.cn/a/421132.html

相关文章:

  • 【JavaEE初阶 — 网络编程】实现基于TCP协议的Echo服务
  • 我的基金学习之路,从《解读基金——我的投资观与实践》开始
  • uniapp使用扩展组件uni-data-select出现的问题汇总
  • 第1章:CSS简介 --[CSS零基础入门]
  • uniapp实现加密Token并在每次请求前动态更新(vue、微信小程序、原生js也通用!)
  • Flask项目入门—request以及Response
  • 【系统架构设计师】真题论文: 论软件质量保证及其应用(包括解题思路和素材)
  • Chromium网络调试篇-Fiddler 5.21.0 使用指南:捕获浏览器HTTP(S)流量(二)
  • CPU渲染和GPU渲染各自特点,优势,场景使用
  • 微信小程序横滑定位元素案例代码
  • 【GPT】代谢概念解读
  • uni-app打包为安卓APP的权限配置问题探索
  • 高效数据分析:五款报表工具助力企业智能决策
  • Spring Boot 启动流程详解
  • CSS定位技术详解:从基础到高级应用
  • koa中间件
  • AcWing 841. 字符串哈希
  • 深入探索进程间通信:System V IPC的机制与应用
  • PLC协议
  • eBPF:现代Linux的强大内核扩展技术
  • docker搭建umami
  • PHM技术:一维信号时序全特征分析(统计域/频域/时域)| 信号处理
  • 【机器人】01 强化学习、模仿学习和运动规划 仿真平台ISAAC Lab安装与使用
  • 代码随想录-算法训练营day31(贪心算法01:分发饼干,摆动序列,最大子数组和)
  • 【CUDA】Kernel Atomic Stream
  • python学opencv|读取视频(一)灰度视频制作和保存