首页 > 其他分享 >HarmonyOS应用/服务发布

HarmonyOS应用/服务发布

时间:2024-09-15 17:23:32浏览次数:10  
标签:Profile 文件 服务 证书 APP HarmonyOS 密钥 应用

HarmonyOS通过数字证书与Profile文件等签名信息来保证应用/服务的完整性,应用/服务上架到AppGallery Connect必须通过签名校验。因此,您需要使用发布证书和Profile文件对应用/服务进行签名后才能发布。
发布流程
开发者完成HarmonyOS应用/服务开发后,需要将应用/服务打包成App Pack(.app文件),用于上架到AppGallery Connect。发布应用/服务的流程如下图所示:


关于以上流程的详细介绍,请继续查阅本章节内容。
准备签名文件(重要)
HarmonyOS应用/服务通过数字证书(.cer文件)和Profile文件(.p7b文件)来保证应用/服务的完整性。在申请数字证书和Profile文件前,首先需要通过DevEco Studio来生成密钥(存储在格式为.p12的密钥库文件中)和证书请求文件(.csr文件)。
基本概念
●密钥:包含非对称加密中使用的公钥和私钥,存储在密钥库文件中,格式为.p12,公钥和私钥对用于数字签名和验证。
●证书请求文件:格式为.csr,全称为Certificate Signing Request,包含密钥对中的公钥和公共名称、组织名称、组织单位等信息,用于向AppGallery Connect申请数字证书。
●数字证书:格式为.cer,由华为AppGallery Connect颁发。
●Profile文件:格式为.p7b,包含HarmonyOS应用/服务的包名、数字证书信息、描述应用/服务允许申请的证书权限列表,以及允许应用/服务调试的设备列表(如果应用/服务类型为Release类型,则设备列表为空)等内容,每个应用/服务包中均必须包含一个Profile文件。
生成密钥和证书请求文件
1在主菜单栏单击Build > Generate Key and CSR。说明如果本地已有对应的密钥,无需新生成密钥,可以在Generate Key界面中单击下方的Skip跳过密钥生成过程,直接使用已有密钥生成证书请求文件。
2在Key Store File中,可以单击Choose Existing选择已有的密钥库文件(存储有密钥的.p12文件);如果没有密钥库文件,单击New进行创建。下面以新创建密钥库文件为例进行说明。


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


5在Generate Key and CSR界面中,继续填写密钥信息后,单击Next。
○Alias:密钥的别名信息,用于标识密钥名称。请记住该别名,后续签名配置需要使用。
○Password:密钥对应的密码,与密钥库密码保持一致,无需手动输入。
○Validity:证书有效期,建议设置为25年及以上,覆盖应用/服务的完整生命周期。
○Certificate:输入证书基本信息,如组织、城市或地区、国家码等。
6


7在Generate Key and CSR界面,设置CSR文件存储路径和CSR文件名。


8单击OK按钮,创建CSR文件成功,可以在存储路径下获取生成的密钥库文件(.p12)和证书请求文件(.csr)。


申请发布证书和Profile文件
通过生成的证书请求文件,向AppGallery Connect申请发布证书和Profile文件,操作如下。
●创建HarmonyOS应用/服务:在AppGallery Connect项目中,创建一个HarmonyOS应用/服务,用于发布证书和Profile文件申请,具体请参考创建HarmonyOS应用。说明如果申请元服务的签名证书,在“创建应用”操作时,“是否元服务”选项请选择“是”。
●申请发布证书和Profile文件:在AppGallery Connect中申请、下载发布证书和Profile文件,具体请参考申请发布证书和Profile文件
用于发布的证书和Profile文件申请完成后,请在DevEco Studio中进行签名,请参考配置签名信息
配置签名信息
使用制作的私钥(.p12)文件、在AppGallery Connect中申请的证书(.cer)文件和Profile(.p7b)文件,在DevEco Studio配置工程的签名信息,构建携带发布签名信息的APP。
在File > Project Structure > Project > Signing Configs > default界面中,取消“Automatically generate signature”勾选项,然后配置工程的签名信息。
●Store File:选择密钥库文件,文件后缀为.p12。
●Store Password:输入密钥库密码。
●Key Alias:输入密钥的别名信息。
●Key Password:输入密钥的密码。
●Sign Alg:签名算法,固定为SHA256withECDSA。
●Profile File:选择申请的发布Profile文件,文件后缀为.p7b。
●Certpath File:选择申请的发布数字证书文件,文件后缀为.cer。


设置完签名信息后,单击OK进行保存,然后使用DevEco Studio生成APP,请参考编译构建.app文件
编译构建.app文件
注意
应用上架时,要求应用包类型为Release类型。
打包APP时,DevEco Studio会将工程目录下的所有HAP/HSP模块打包到APP中,因此,如果工程目录中存在不需要打包到APP的HAP/HSP模块,请手动删除后再进行编译构建生成APP。
1单击Build > Build Hap(s)/APP(s) > Build APP(s),等待编译构建完成已签名的应用包。说明当未指定构建模式时,构建APP包,默认Release模式;构建HAP/HSP/HAR包,默认Debug模式。即Build APP(s)时,默认构建的APP包为Release类型,符合上架要求,开发者无需进行另外设置。
2编译构建完成后,可以在工程目录build > outputs > default下,获取带签名的应用包。


上架.app文件到AGC
将HarmonyOS应用/服务打包成.app文件后上架到AppGallery Connect,上架详细操作指导请参考上架HarmonyOS应用上架元服务

标签:Profile,文件,服务,证书,APP,HarmonyOS,密钥,应用
From: https://blog.csdn.net/weixin_65051584/article/details/142265357

相关文章

  • UG 二次开发-菜单与工具条(二、 应用DLL入口编写)
    在上一篇中,我们编写了UG加载DLL入口写入,这一篇,我们将继续编写应用DLL入口,上一篇中,最后是入加DLL,加载应用DLL,并入口函口数。首先,我们新建应用DLL主工程,工程名称我们就叫做IUGMain。完成工程创建。添加一个新的CPP,作为DLL的主程式文件由于我们这是由空白工程创建的应用......
  • python剧本杀服务预约平台管理系统 2110w毕业设计项目源码lw
    目录技术栈和环境说明具体实现截图预期达到的目标系统设计详细视频演示技术路线解决的思路性能/安全/负载方面可行性分析论证python-flask核心代码部分展示python-django核心代码部分展示研究方法感恩大学老师和同学源码获取技术栈和环境说明本系统以Python开发语言......
  • 【SpringCloud】黑马微服务学习笔记
    目录1.关于微服务 1.1微服务与单体架构的区别 1.2SpringCloud技术2.学习前准备 2.1环境搭建 2.2熟悉项目3.正式拆分 3.1拆分商品功能模块 3.2拆分购物车功能模块4.服务调用 4.1介绍 4.2RustTemplate 的使用4.3服务治理-注册中心4.4服务......
  • 十四,在Spring Boot当中对应“ Tomcat 服务器的相关配置”和“服务器的切换”的详细说
    十四,在SpringBoot当中对应“Tomcat服务器的相关配置”和“服务器的切换”的详细说明文章目录十四,在SpringBoot当中对应“Tomcat服务器的相关配置”和“服务器的切换”的详细说明1.基本介绍2.准备工作:3.内置Tomcat的配置3.1第一种方式:通过application.yaml......
  • 【含文档】基于Springboot+Vue的甘肃旅游服务平台(含源码数据库)
    1.开发环境开发系统:Windows10/11架构模式:MVC/前后端分离JDK版本:JavaJDK1.8开发工具:IDEA数据库版本:mysql5.7或8.0数据库可视化工具:navicat服务器:SpringBoot自带apachetomcat主要技术:Java,Springboot,mybatis,mysql,vue2.视频演示地址3.功能这个系......
  • 深入理解 Write-Ahead Logging (WAL) 及其应用
    在讨论数据库原理的时候,我们经常会听到一种技术-Write-AheadLogging(WAL),它保证了数据的持久性和一致性。WAL的基本思想非常简单,但它的应用范围非常广泛,从数据库到分布式系统,再到各种现代应用的开发中,都能看到它的影子。本文将深入剖析WAL的基本机制,并探讨其在不同应用场......
  • 利用ssrf获取云服务器元数据
    什么是metadata:ECS实例元数据是指实例ID、VPC信息、网卡信息等实例属性信息,支持在ECS实例内部通过访问元数据服务(MetadataService)获取。通过该获取方式,您无需登录控制台或调用API,在实例内部即可访问实例信息,可以更便捷、安全地配置或管理正在运行的实例或实例上的程序。例如,......
  • 安卓应用启动流程
    安卓应用启动流程目录1冷启动热启动2zygote和SystemServer3应用启动流程简述(记得补充)4从点击图标到通知Zygote4.1Launcher4.2Activity.java4.3Instrumentation.java4.4ActivityTaskManager.java4.5ActivityTaskManagerService.java4.6ActivityStarter.java......
  • 基于微信小程序/安卓APP的饮食健康服务系统设计与实现
    ......
  • Go协程及并发锁应用指南
    概念协程(Goroutine)是Go语言独有的并发体,是一种轻量级的线程,也被称为用户态线程。相对于传统的多线程编程,协程的优点在于更加轻量级,占用系统资源更少,切换上下文的速度更快,不需要像多线程编程一样处理锁等线程安全问题。1.协程的创建在Go语言中,可以使用go语句来启动一个......