从零开始开发纯血鸿蒙应用之多签名证书管理

ops/2025/1/16 2:57:27/

从零开始开发纯血鸿蒙应用

一、前言

由于手机操作系统,比电脑操作系统脆弱很多,同时,由于手机的便携性,用户群体中存在许多计算机知识并不怎么丰富的人,诸多原因纠集在一起,使得当下的部分手机操作系统,采取了比电脑操作系统更为严格的应用管控策略,其中,就规定了安装到手机上的app,都必须具有签名证书

如今,纯血鸿蒙系统为了进一步保障用户的手机安全,理所当然的引入了app签名证书的策略,并且,即便是开发者部署Debug版app到自己的手机上,也是需要签名证书才能完成部署,否则就会失败。

在这里插入图片描述

二、鸿蒙应用配置签名证书的方式

目前,DevEco Studio 中配置签名证书的方式有两种,自动和手动。

1、自动获取签名证书

只要 DevEco Studio 成功登录开发者的华为开发者账号,那么,就可以在上图的页面中,勾选Automatically generate signature 去自动生成 Debug、也即调试证书;这种自动生成证书的方式,不适合用于发布证书的配置,发布证书的配置只能通过手动的方式进行配置。

2、手动配置签名证书

想要手动配置鸿蒙应用的签名证书,首先,需要登录华为鸿蒙应用市场官网 AppGallery Connect:
在这里插入图片描述
在其中的证书、APP ID和Profile 页面就可以进行证书的创建、也即申请:
在这里插入图片描述
不过,在前往 APPGallery Connect 平台创建证书前,还必须用 DevEco Studio 获取一个签名文件、即p12文件和csr文件:
在这里插入图片描述
生成的 CSR 文件,会在 APPGallery Connect 平台上创建证书时使用:
在这里插入图片描述
证书区分调试证书和发布证书,签名文件则不区分,因此,调试证书和发布证书可以使用同一个证书请求文件(CSR)

一份签名证书会有四个文件:
1)p12 文件
2)csr 文件
3)p7b 文件
4)cer 文件

其中的p12文件、p7b文件和 cer 文件的保存路径,可以填写在如下的四个地方:
在这里插入图片描述
这样就完成了签名证书的手动配置。

三、多签名证书配置和使用

一个鸿蒙app,可以同时配置多份签名证书,这是为了适应不同类型设备的需要,例如手机端一个证书、平板端一个证书。这种多证书配置,会体现在项目根目录下的build-perofile.json5文件中:
在这里插入图片描述

如上所示,我同时配置了默认的调试证书和可选的发布证书。由此也可以发现,虽然多证书配置是为了多终端的需要,然而,再具体使用的过程中,完全可以灵活一点,特别是当app是团队开发时,每个开发者都可以配置上自己的调试证书,从而互不干扰的进行使用。

通常来说,不考虑不同终端的情况下,一个应用创建一个调试证书和一个发布证书就够了。因为,AppGallery Connect 平台支持将调试设备绑定到调试证书上:
在这里插入图片描述
所以,当你拥有多台手机作为调试设备时,采用手动配置调试证书的方式更为合适,因为,自动获取调试证书的方式,往往需要数据线连接一台手机,每换一台手机证书文件就需要重新生成,而目前 DevEco Studio 并不支持记住华为账号的登录状态,IDE 关闭重启后就需要重新登录,颇为费时。

四、多证书使用

在鸿蒙项目中,每个模块下都有一个build-profile.json5文件,只不过模块级别的该文件,要比项目级别的简略很多:
在这里插入图片描述
一般来说,我们需要关注的模块级别的 build-profile.json5 文件,只有 Entry 模块的,因为里面的 targets 标签的配置,与项目的多证书使用有关系:
在这里插入图片描述
在 DevEco Studio 如上图所示的位置,有一个按钮可以打开运行编译配置的修改对话框,可以根据编译运行所需选择不同的 Product、Build Mode 和 Module Target:
在这里插入图片描述
切换 Product 的同时,签名证书也会切换,而 Module Target 又可以和 Product 绑定:
在这里插入图片描述
所以,包括签名证书在内的一整套编译运行配置就这样完成了切换。


http://www.ppmy.cn/ops/150446.html

相关文章

Nginx简述

Nginx 就是一个 超级聪明的“门卫” ,负责管理和转发进入你网站的流量。 Nginx 做什么? 接收请求:当你打开一个网站时,浏览器会发送请求。Nginx 就像一个门卫,接到这些请求。转发请求:Nginx 看一看请求的…

springboot 根据UUID生成唯一的短链接

为了生成唯一的短链接,我们可以利用UUID(通用唯一识别码)来确保每个短链接的唯一性。然后,我们将这个UUID进行Base62编码以缩短其长度。以下是完整的Spring Boot应用程序示例,展示了如何实现这一功能。 1. 添加依赖 …

开源安防软件ClamAV —— 筑梦之路

ClamAV(Clam AntiVirus)是一款开源的防病毒软件,广泛应用于网络安全领域,尤其在邮件网关和服务器环境中具有重要地位。以下是关于 ClamAV 的详细介绍: 1. ClamAV 的简介 ClamAV 由 Tomasz Kojm 于 2001 年创建&#…

详解 Docker 启动 Windows 容器第一篇:多种方式及实用配置指南

文章目录 前言1. 使用 Docker Compose 启动2. 使用 Docker CLI 启动3. 使用 Kubernetes 启动4. 兼容性说明5. 常见问题解答6. 高级配置总结 前言 在容器化技术中,Docker 允许我们在不同的平台上轻松运行各种操作系统,包括 Windows。本文将介绍如何通过 …

逐“绿”前行 企业综合能源管控低碳转型如何推进?

引言: 在“双碳”战略指引下,中国低碳节能各项工作有序推进,逐步建立起碳达峰碳中和“1N”的政策体系,重点领域、重点行业及各地区的碳达峰实施方案相继出台。能源对于促进经济社会发展、增进人民福祉至关重要。近年来&#xff0…

JavaScript系列(26)--安全编程实践详解

JavaScript安全编程实践详解 🔒 今天,让我们深入探讨JavaScript的安全编程实践。在当今的网络环境中,安全性已经成为开发者必须重点关注的领域。 安全编程基础 🌟 💡 小知识:JavaScript安全编程涉及多个方…

OmniAudio-2.6B 简介与音频转文本实践

OmniAudio-2.6B 是一个基于 Transformer 的先进语音识别模型,具有强大的音频转文本能力。它利用大规模预训练和多语言支持,为离线和在线语音处理提供高精度的解决方案。 一、OmniAudio-2.6B 的原理 1. 核心技术 Transformer 架构:OmniAudio…

网络安全防护技术

一、网络基础知识 (1)TCP/IP协议 ◆传输控制协议困特网互联协议( Transmission Control Protocol/Internet Protocol,TCPP)是目前因特网中使用最广泛的协议。 ◆目前因特网使用的是IPv4。IPv6是由互联网工程任务组( Internet Engineering Task Force,I…