1、鸿蒙学习-为应用/服务进行签名

针对应用/服务的签名,DevEco Studio为开发者提供了自动签名方案,帮助开发者高效进行调试。也可选择手动方式对应用/服务进行签名,如果使用了需要ACL的权限,需采用手动方式进行签名。

自动签名

说明

使用自动签名前,请确保本地系统时间与北京时间(UTC/GMT +8.00)保持一致。如果不一致,将导致签名失败。

1、连接真机设备,确保DevEco Studio与真机设备已连接,真机连接成功后如下图所示:

说明

如果同时连接多个设备,则使用自动化签名时,会同时将这多个设备的信息写到证书文件中。

2、进入 File > Project Structure > Project > Signing Configs界面,勾选”Automatically generate signature“(如果是API 8和9工程,需同时勾选”Support HarmonyOS“),即可完成签名。如果未登录,请先单击Sign In进行登录,然后自动完成签名

 签名完成后,如下图所示:

手动签名

HarmonyOS应用/服务通过数字证书(.cer文件)和 Profile文件(.p7b文件)来保证应用/服务的完整性。在申请数字证书和Profile文件前,首先要通过DevEco Studio或命令行工具来生成密钥(存储在格式为.p12的密钥库文件中)和证书请求文件(.csr文件)。然后,申请调试数字证书和调试Profile文件。最后,将密钥(.p12)文件、数字证书(.cer)文件和Profile(.p7b)文件配置到工程中。

基本概念

  • 密钥:格式为.p12,包含非对称加密中使用的公钥和私钥,存储在密钥库文件中,公钥和私钥对用于数字签名和验证。
  • 证书请求文件:格式为.csr,全称为Certificate Signing Request,包含密钥中对中的公钥和公共名称、组织名称、组织单位等信息,用于向AppGallery Connect申请数字证书
  • 数字证书:格式为.cer,由华为AppGallery Connect颁发
  • Profile文件:格式为.p7b,包含HarmonyOS 应用/服务的包名、数字证书信息、描述应用/服务允许申请的证书权限列表,以及允许应用/服务调试的设备列表(如果应用/服务类型为Release类型,则设备列表为空)等内容,每个应用/服务包中必须包含一个Profile文件

生成密钥和证书请求文件

使用DevEco Studio生成密钥和证书请求文件

1、在主菜单栏单击Build > Generate Key and CSR。

说明

如果本地已有对应的密钥,无需新生成密钥,可以在GenerateKey界面中单击下方的Skip跳过密钥生成过程,直接使用已有密钥生成证书请求文件。

2、在Key Store File中,可以单击 Choose Existing选择已有的密钥文件(存储有密钥的.p12文件) ;如果没有密钥库文件,单击New 进行创建。下面以新创建密钥库文件为例进行说明。

3、在Create Key Store窗口中 ,填写密钥库信息后,单击OK。

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

4、在Generate Key and CSR 界面中,继续填写密钥信息后,单击Next。

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

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

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

使用命令行工具生成证书请求文件

使用Open JDK携带的Keytool工具生成证书请求文件。

1、使用管理员身份运行命令行工具

2、切换到keytool工具所在路径,路径为DevEco Studio安装目录下的jbr\bin目录。

3、执行如下命令,生成公钥文件、例如,生成的密钥库名称为idedemokey.p12,存储到D盘根目录下。

keytool -genkeypair -alias "ide_demo_app" -keyalg EC -sigalg SHA256withECDSA -dname "C=CN,O=HUAWEI,OU=HUAWEI IDE,CN=ide_demo_app"  -keystore d:\\idedemokey.p12 -storetype pkcs12 -validity 9125 -storepass 123456Abc -keypass 123456Abc

生成公私钥文件的参数说明如下:

说明

请记录下alias、storepass和keypass的值,在后续手动配置签名信息操作会使用到

  • alias:密钥的别名信息,用于标识密钥名称
  • sigalg:签名算法,固定为SHA256withECDSA
  • dname:按照操作界面提示进行输入。
    • C:国家/地区代码,如CN。
    • O:组织名称,如HUAWEI。
    • OU:组织单位名称,如HUAWEI IDE。
    • CN:名字与姓氏,建议与别名一致。
  • validity:证书有效期,建议设置为9125(25年)。
  • storepass:设置密钥库密码,必须由大写字母、小写字母、数字和特殊符号中的两种或两种以上字符组合,长度至少为8位。请记住该密码,后续签名配置需要使用。
  • keypass:设置密钥的Miami,请与storepass保持一致

4、执行如下命令,执行后需要输入storepass密码,生成证书请求文件,后缀格式为.csr。

keytool -certreq -alias "ide_demo_app" -keystore d:\\idedemokey.p12 -storetype pkcs12 -file d:\\idedemokey.csr

生成证书请求文件的参数说明如下:

  • alias:与上一步骤中输入的alias保持一致。
  • file:生成的证书请求文件名称,后缀为.csr。

申请调试证书和调试Profile文件

通过生成的证书请求文件,向AppGallery Connect 申请调试证书和Profile文件,操作如下:

  • 创建HarmonyOS应用/服务:在AppGallery Connect项目中,创建一个HarmonyOS 应用/服务,用于调试证书和Profile文件申请,具体请参考创建HarmonyOS应用。
  • 申请调试证书和Profile文件:在AppGallery Connect中申请、下载调试证书和Profile文件,具体请参考申请调试证书和Profile文件。

手动配置签名信息

在DevEco Studio中配置密钥(.p12)文件、申请的调试证书(.cer)文件和调试Profile(.p7b)文件。

在File > Project Structure > Project > Signing Configs窗口中,去勾选”Automatically generate signature“(API 8和9工程请勾选”support HarmonyOS“),然后配置工程的签名信息。

  • Store File:选择密钥库文件,文件后缀为.p12,该文件为生成密钥和证书请求文件中生成的.p12文件。
  • Store Password:输入密钥库密码,该密码与生成密钥和证书请求文件中填写的密钥库密码保持一致
  • Key Alias:输入密钥的别名信息,与生成密钥和证书请求文件中填写的别名保持一致
  • Key Password:输入密钥的密码,与生成密钥和证书请求文件中填写的Store Password保持一致
  • Sign Alg:签名算法,固定为SHA256withECDSA。
  • Profile File:选择申请调试证书和调试Profile文件中生成的Profile文件,文件后缀为.p7b
  • CertPath File:选择申请调试证书和调试Profile文件中生成的数字证书文件,文件后缀为.cer。

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

探讨大世界游戏的制作流程及技术——大场景制作技术概况篇

接上文,我们接下来了解一下大世界场景制作技术有哪些,本篇旨在给大家过一遍目前业界的做法,能让大家有一个宏观的知识蓝图。实际上,针对不同的游戏类型和美术风格,制作技术在细节上有着非常大的不同,业界目…

3、设计模式之工厂模式1(Factory)

工厂模式是什么?     工厂模式是一种创建者模式,用于封装和管理对象的创建,屏蔽了大量的创建细节,根据抽象程度不同,主要分为简单工厂模式、工厂方法模式以及抽象工厂模式。 简单工厂模式 看一个具体的需求 看一个…

pytorch升级打怪(三)

数据集合数据加载器 简介加载数据集迭代和可视化数据集为您的文件创建自定义数据集__init____len____getitem__ 准备您的数据以使用DataLoaders进行训练通过DataLoader进行遍载 简介 处理数据样本的代码可能会变得混乱且难以维护;理想情况下,我们希望我…

4种小众的能力,帮你更好地适应未来

新年伊始,又是一个全新的开始。 未来的社会究竟需要什么样的能力?这已经是一个很老的话题,已经有许许多多讨论了。但这其中,可能有一些是容易被人忽略的,或者不容易被注意到的。 我想跟你一起分享,我对这个…

高分1、2号卫星原始遥感影像数据

高分一号 高分一号卫高分一号卫星是中国高分辨率对地观测系统的首发星,突破了高空间分辨率、多光谱与宽覆盖相结合的光学遥感等关键技术,设计寿命5至8年。 高分辨率对地观测系统工程是《国家中长期科学和技术发展规划纲要(2006~2020年)》确定…

vue学习笔记25-组件数据传递透传Attribute

组件数据传递 之前学的 props:父传子 自定义事件:子传父 props可以实现子传父,因为props传递数据不限制类型,当然也可以传函数,而我们可以利用函数互相携带参数实现子传父(传一个回调函数,emit的底层原…

MongoDB实战面试指南:常见问题一网打尽

码到三十五 : 个人主页 心中有诗画,指尖舞代码,目光览世界,步履越千山,人间尽值得 ! MongoDB是一款流行的非关系型数据库,以其高效、可扩展的特性受到开发者的青睐。了解MongoDB的架构、存储引擎和数据结…

精酿啤酒:煮沸、发酵与成熟的过程解析

在啤酒酿造过程中,煮沸、发酵与成熟是重要的环节,它们对啤酒的口感、香气和品质具有决定性的影响。下面将详细解析Fendi Club啤酒在煮沸、发酵与成熟过程中的关键步骤和与众不同之处。 煮沸是啤酒酿造过程中的一个重要环节。在这一步骤中,麦汁…

Mac电脑搭建前端项目环境,并适配老项目

1.上一篇文章中,我说到了,node.js中文网下载node 包,根据系统进行选择,然后安装包node即可,对于比较新的项目确实也是适用的,但是老项目就不行了会报错,node版本过高,导致环境不匹配…

基于数据库的全文检索实现

对于内容摘要&#xff0c;信件内容进行全文检索 基于SpringBoot 2.5.6Postgresqljpahibernate实现 依赖 <spring-boot.version>2.5.6</spring-boot.version> <hibernate-types-52.version>2.14.0</hibernate-types-52.version><dependency><…

手机备忘录怎么导出到电脑,如何将手机备忘录导出到电脑

备忘录是我们日常生活和工作中常用的工具之一&#xff0c;我们可以在手机上轻松地记录重要的事务、想法和灵感。然而&#xff0c;在某些情况下&#xff0c;我们可能需要将手机备忘录导出到电脑进行更详细的整理和管理。那么&#xff0c;手机备忘录怎么导出到电脑&#xff0c;如…

Python 3.6.6安装方法(保留环境中python2不受影响)

前言&#xff1a;因为Linux系统下自带了python2的版本&#xff0c;所以我们要用Python3的话需要自己构建安装。并保证某些已经存在的服务可以正常使用python2。 具体步骤如下&#xff1a; 一、python3.6.6 安装 1.安装依赖包&#xff1a; yum -y install zlib zlib-devel yu…