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应用生态系统!

相关推荐
运维自动化&云计算1 小时前
华为交换机与锐捷交换机端口链路聚合的配置
服务器·网络·华为
skywalk81631 小时前
完全按照手册win10里装Ubuntu 虚拟机然后编译ESP32(主要是想针对ESP32C3和S3)开发板的鸿蒙系统(失败)
ubuntu·华为·harmonyos·liteos
青瓷看世界9 小时前
华为HarmonyOS 让应用快速拥有账号能力 -- 1 华为账号一键登录
服务器·华为·harmonyos·应用账号能力
Lalolander9 小时前
2024信创数据库TOP30之华为Gauss DB
大数据·数据库·科技·华为·系统架构
Harry技术16 小时前
‌鸿蒙生态的崛起:开发者的机遇与挑战
harmonyos
CIb0la17 小时前
华为 Mate 70 系列智能手机将运行不兼容 Android 的鸿蒙
运维·华为·智能手机
心态还需努力呀18 小时前
深入探索HarmonyOS next与ArkTS探索
华为·harmonyos
柚鸥ASO优化1 天前
华为关键词覆盖应用市场ASO优化覆盖技巧
华为·aso优化
奇风1 天前
鸿蒙技术分享:敲鸿蒙木鱼,积____功德——鸿蒙元服务开发:从入门到放弃(1)...
harmonyos·鸿蒙应用开发
SuperHeroWu71 天前
【HarmonyOS】鸿蒙应用地理位置获取,地理名称获取
华为·harmonyos·鸿蒙·定位·location·地址位置·逆地址编码