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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/929859.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Java的Stirng、StringBuilder、StringJoiner

黑马程序员Java个人笔记 目录 字符串比较 比较 boolean equals boolean equalsIgnoreCase 键盘录入和定义的字符串的比较 StringBuilder 打印 ​编辑 添加元素 反转 获取长度 toString 练习 对称字符串 拼接字符串 StringJoiner 概述 ​编辑 构造方法 只有…

fastadmin 后台插件制作方法

目录 一:开发流程 二:开发过程 (一):后台功能开发 (二):功能打包到插件目录 (三):打包插件 (四):安装插件…

视频自学笔记

一、视频技术基本框架 二、视频信号分类 2.1信号形式 2.1.1模拟视频 模拟视频是指由连续的模拟信号组成的视频图像,以前所接触的电影、电视都是模拟信号,之所以将它们称为模拟信号,是因为它们模拟了表示声音、图像信息的物理量。摄像机是获…

Docker单机网络:解锁本地开发环境的无限潜能

作者简介:我是团团儿,是一名专注于云计算领域的专业创作者,感谢大家的关注 座右铭: 云端筑梦,数据为翼,探索无限可能,引领云计算新纪元 个人主页:团儿.-CSDN博客 目录 前言&#…

Golang 八股(持续补充...)

目录 进程、线程、协程 Go语言——垃圾回收 GC的触发条件 GC调优 GMP调度和CSP模型 Groutine的切换时机 Goroutine调度原理 Goroutine的抢占式调度 Context结构原理 Context原理 Golang内存分配机制 竞态、内存逃逸 golang内存对齐机制 golang中new和make的区别&a…

手机中的核心SOC是什么?

大家好,我是山羊君Goat。 常常听说CPU,中央处理器等等的,它是一个电脑或单片机系统的核心,但是对于SOC可能相比于CPU了解的人没有那么广泛。 所以SOC是什么? SOC全称是System on Chip,就是片上系统&#…

绿虫光伏设计系统:清洁能源的未来

煤炭、石油、天然气是我们现在依赖的重要能源,但这些能源难以再生,而且开采过程中会产生污染。太阳能发电作为清洁能源的一种重要形式,受到了越来越多的关注。绿虫光伏发电系统,不仅考虑到其发电效率,还可以考虑其经济…

R语言 | ComplexHeatmap 画注释若干基因的热图 //todo

一般顺序: 先用 pheatmap 聚类再用 ComplexHeatmap 做可视化:添加顶部、左侧聚类颜色,显示若干代表性基因 genec("Gene18", "Gene19", "Gene7","Gene3", "Gene9", "Gene15") …

springmvc的简介

SpringMVC的介绍与第一个程序的开发步骤 1. 介绍 SpringMVC是一个实现了MVC架构模式的Web框架,底层基于Servlet实现。 SpringMVC已经将MVC架构模式实现了,因此只要我们是基于SpringMVC框架写代码,编写的程序就是符合MVC架构模式的。&#x…

Java Web 4 Maven

本文详细介绍了Maven的用途,包括依赖管理、项目结构统一和构建流程标准化;然后讲解了Maven的安装、IDEA中的集成以及依赖管理的核心概念。 1 什么是Maven? 什么是apache? 2 Maven的作用 (1)方便依赖管理 有…

基于SpringBoot+Vue的宠物咖啡馆系统-无偿分享 (附源码+LW+调试)

目录 1. 项目技术 2. 功能菜单 3. 部分功能截图 4. 研究背景 5. 研究目的 6. 可行性分析 6.1 技术可行性 6.2 经济可行性 6.3 操作可行性 7. 系统设计 7.1 概述 7.2 系统流程和逻辑 7.3 系统结构 8. 数据库设计 8.1 数据库ER图 (1)宠物订…

flex: 1 display:flex 导致的宽度失效问题

flex: 1 & display:flex 导致的宽度失效问题 问题复现 有这样的一个业务场景,详情项每行三项分别占33%宽度,每项有label字数不固定所以宽度不固定,还有content 占满标签剩余宽度,文字过多显示省略号, 鼠标划入展示…

利用tablesaw库简化表格数据分析

tableaw是处理表格数据的优秀工具。它提供了一组强大而灵活的功能,使操作、分析和可视化数据表变得容易。在这篇博文中,我们将介绍tableaw的主要特性、如何使用这些特性,以及如何使用tableaw处理表格数据的一些示例。 tablesaw简介 tableaw…

【看海的算法日记✨优选篇✨】第二回:流动之窗,探索算法的优雅之道

🌈 个人主页:谁在夜里看海. 🔥 个人专栏:《C系列》《Linux系列》《算法系列》 ⛰️ 道阻且长,行则将至 目录 一、算法思想 双指针 滑动窗口 二、具体运用 1.⻓度最⼩的⼦数组 算法思路 算法流程 代码 2.最⼤…

MicroBlaze软核开发(一):Hello World

实现功能:使用 MicroBlaze软核 串口打印 Hello World Vivado版本:2018.3 目录 MicroBlaze介绍 vivado部分: 一、新建工程 二、配置MicroBlaze 三、添加Uart串口IP 四、生成HDL文件编译 SDK部分: 一、导出硬件启动SDK 二、…

camera驱动开发(初学)

camera驱动开发 初学camera驱动开发 随笔记一下顺便整理一下初学的学习路线。内容来源于各大网站,大自然的搬运工。 一、camera基本概念 ①三路电压 camera包含的三路电压为模拟电压(VCAMA),数字电压(VCAMD&#x…

在Ubuntu22.04.5上安装Docker-CE

文章目录 1. 查看Ubuntu版本2. 安装Docker-CE2.1 安装必要的系统工具2.2 信任Docker的GPG公钥2.3 写入软件源信息2.4 安装Docker相关组件2.5 安装指定版本Docker-CE2.5.1 查找Docker-CE的版本2.5.2 安装指定版本Docker-CE 3. 启动与使用Docker3.1 启动Docker服务3.2 查看Docker…

C# 编程效率提升指南:掌握算数运算、循环与方法封装

在这篇文章中将带你深入探索C#中的几大关键技术点,从如何精准进行算数运算、灵活运用循环控制结构,到通过方法封装提升代码的复用性,再到正确使用可空类型避免潜在的空值引用异常,这些概念和技巧无一不是编写清晰、高效、健壮代码…

常见Linux命令(详解)

文章目录 常见Linux命令文件目录类命令pwd 打印当前目录的绝对路径ls 列出目录内容cd 切换路径mkdir 建立目录rmdir 删除目录touch 创建空文件cp 复制文件或目录rm 移除文件或者目录mv 移动文件与目录或重命名cat 查看文件内容more 文件分屏查看器less 分屏显示文件内容head 显…

html+css网页设计 旅游 马林旅行社3个页面

htmlcss网页设计 旅游 马林旅行社3个页面 网页作品代码简单,可使用任意HTML辑软件(如:Dreamweaver、HBuilder、Vscode 、Sublime 、Webstorm、Text 、Notepad 等任意html编辑软件进行运行及修改编辑等操作)。 获取源码 1&#…