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

news2025/1/14 14:18:13

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

  • 一、前言
  • 二、鸿蒙应用配置签名证书的方式
    • 1、自动获取签名证书
    • 2、手动配置签名证书
  • 三、多签名证书配置和使用
  • 四、多证书使用

一、前言

由于手机操作系统,比电脑操作系统脆弱很多,同时,由于手机的便携性,用户群体中存在许多计算机知识并不怎么丰富的人,诸多原因纠集在一起,使得当下的部分手机操作系统,采取了比电脑操作系统更为严格的应用管控策略,其中,就规定了安装到手机上的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.coloradmin.cn/o/2276515.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Windows Docker 安装

使用别人写好的软件/工具最大的障碍是什么——必然是配环境。配环境带来的折磨会极大地消解你对软件、编程本身的兴趣。虚拟机可以解决配环境的一部分问题,但它庞大笨重,且为了某个应用的环境配置好像也不值得模拟一个全新的操作系统。 Docker 的出现让…

LabVIEW运动控制(一):EtherCAT运动控制器的SCARA机械手应用

ZMC408CE 高性能总线型运动控制器 ZMC408CE是正运动推出的一款多轴高性能EtherCAT总线运动控制器,具有EtherCAT、EtherNET、RS232、CAN和U盘等通讯接口,ZMC系列运动控制器可应用于各种需要脱机或联机运行的场合。 ZMC408CE支持PLC、Basic、HMI组态三种…

【韩顺平Java笔记】第8章:面向对象编程(中级部分)【327-337】

327. 断点调试(Debug) 一个实际需求 在开发中,程序员在查找错误时,可用断点模式在断点调试过程中,是运行状态,是以对象的运行类型来执行的。 A extends B; B b new A(); b.xx();//按照运行类型来执行的 …

金融项目实战 01|功能测试分析与设计

前置内容:金融项目准备的内容笔记可直接看如下笔记 只看:一、投资专业术语 和 二、项目简介 两部分文章浏览阅读2.3k次,点赞70次,收藏67次。安享智慧理财金融系统测试项目,测试用例,接口测试,金…

学习threejs,使用TrackballControls相机控制器

👨‍⚕️ 主页: gis分享者 👨‍⚕️ 感谢各位大佬 点赞👍 收藏⭐ 留言📝 加关注✅! 👨‍⚕️ 收录于专栏:threejs gis工程师 文章目录 一、🍀前言1.1 ☘️THREE.TrackballControls 相…

ASP.NET Core - .NET 6 以上版本的入口文件

ASP.NET Core - .NET 6 以上版本的入口文件 自从.NET 6 开始,微软对应用的入口文件进行了调整,移除了 Main 方法和 Startup 文件,使用顶级语句的写法,将应用初始化的相关配置和操作全部集中在 Program.cs 文件中,如下&…

html5各行各业官网模板源码下载 (4)

文章目录 1.来源2.源码模板2.1 html实现酷炫美观的可视化大屏(十种风格示例,附源码)2.2 HTML5实现古典音乐网站源码模板22.3 HTML5实现古典音乐网站源码模板32.4 HTML5实现小鸟过管道小游戏源码2.5 HTML5实现俄罗斯方块小游戏2.5 HTML5实现剪刀石头布小游戏(附源码)…

springboot vue uniapp 仿小红书 1:1 还原 (含源码演示)

线上预览: 移动端 http://8.146.211.120:8081/ 管理端 http://8.146.211.120:8088/ 小红书凭借优秀的产品体验 和超高人气 目前成为笔记类产品佼佼者 此项目将详细介绍如何使用Vue.js和Spring Boot 集合uniapp 开发一个仿小红书应用,凭借uniapp 可以在h5 小程序 app…

播放音频文件同步音频文本

播放音频同步音频文本 对应单个文本高亮显示 使用audio音频文件对应音频文本资源 音频文本内容(Json) [{"end": 4875,"index": 0,"speaker": 0,"start": 30,"text": "70号二啊,","tex…

数据分析-使用Excel透视图/表分析禅道数据

背景 禅道,是目前国内用得比较多的研发项目管理系统,我们常常会用它进行需求管理,缺陷跟踪,甚至软件全流程的管理,如果能将平台上的数据结公司的实际情况进行合理的分析利用,相信会给我们的项目复盘总结带来…

No. 31 笔记 | Web安全-SQL手工注入技术学习 Part 2

一、研究背景 背景介绍 SQL注入是一种常见且高危的Web安全漏洞。攻击者可以通过构造恶意SQL查询语句来绕过验证机制,执行未授权操作,如获取敏感信息、篡改数据库内容甚至控制服务器。 研究内容 本笔记探讨以下数据库的手工注入技术: MySQLAc…

基于FPGA的多功能数字钟设计

基于FPGA的多功能数字钟设计 前言基础知识按键数码管 系统概述按键使用说明模块描述模块设计button_debouncebutton_controllerclock_controllerdigital_tube 整体资源用量测试视频 前言 本工程主要是数码管、按键、LED的应用开发。 注:本工程所有IP均使用源码开发…

人工智能实验(五)-基于神经网络的模式识别实验

一、实验目的 理解BP神经网络的结构和原理,掌握反向传播算法对神经元的训练过程,了解反向传播公式。通过构建BP网络模式识别实例,熟悉BP网络的原理及结构 二、实验内容 基于提供的数据集,训练1个BP神经网络模型: 1. …

【伪随机数】关于排序算法自测如何生成随机数而引发的……

以 Random 开始 可能一开始&#xff0c;你只是写到了排序算法如何生成随机数 public static void main(String[] args) {Random random new Random();int[] nums new int[10];for (int i 0; i < nums.length; i) {nums[i] random.nextInt(100);}System.out.println(&q…

【LeetCode】力扣刷题热题100道(26-30题)附源码 轮转数组 乘积 矩阵 螺旋矩阵 旋转图像(C++)

目录 1.轮转数组 2.除自身以外数组的乘积 3.矩阵置零 4.螺旋矩阵 5.旋转图像 1.轮转数组 给定一个整数数组 nums&#xff0c;将数组中的元素向右轮转 k 个位置&#xff0c;其中 k 是非负数。 class Solution { public:void rotate(vector<int>& nums, int k) …

IDEA中创建maven项目

1. IDEA中创建maven项目 在IDEA中创建Maven项目&#xff0c;前提是已经安装配置好Maven环境。如还未配置安装Maven的&#xff0c;请先下载安装。如何下载安装&#xff0c;可参考我另外篇文章&#xff1a;maven的下载与安装教程本篇教程是以创建基于servlet的JavaWeb项目为例子&…

【PyQt】如何在mainwindow中添加菜单栏

[toc]如何在mainwindow中添加菜单栏 如何在mainwindow中添加菜单栏 主要有两种方法&#xff1a; 1.直接创建mainwindow进行添加 2.使用ui文件加载添加 第二种方法更为常见&#xff0c;可以应用到实际 1.直接创建mainwindow进行添加 import sysfrom PyQt5.QtWidgets import …

Kubernetes1.28 编译 kubeadm修改证书有效期到 100年.并更新k8s集群证书

文章目录 前言一、资源准备1. 下载对应源码2.安装编译工具3.安装并设置golang 二、修改证书有效期1.修改证书有效期2.修改 CA 证书有效期 三、编译kubeadm四、使用新kubeadm方式1.当部署新集群时,使用该kubeadm进行初始化2.替换现有集群kubeadm操作 前言 kubeadm 默认证书为一…

Web前端:JavaScript标识符与变量

JavaScript介绍 JavaScript 是一种轻量级的脚本语言。所谓“脚本语言”&#xff0c;指的是它不具备开发操作系统的能力&#xff0c;而是只用来编写控制其他大型应用程序的“脚本”。 JavaScript 是一种嵌入式&#xff08;embedded&#xff09;语言。它本身提供的核心语法不算…

【从零开始使用系列】StyleGAN2:开源图像生成网络——环境搭建与基础使用篇(附大量测试图)

StyleGAN2 是英伟达团队 NVIDIA 提出的生成对抗网络&#xff08;GAN&#xff09;的一种改进版本。 它通过创新的网络架构&#xff0c;能够生成细节丰富、逼真的图像&#xff0c;特别在高频细节&#xff08;如皮肤纹理、光照等&#xff09;的表现上表现卓越。与传统 GAN 相比&am…