OpenHarmony应用签名 - DevEco Studio 自动签名(4.0-Release)

这篇具有很好参考价值的文章主要介绍了OpenHarmony应用签名 - DevEco Studio 自动签名(4.0-Release)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

概述

文档环境

开发环境:Windows 11

DevEco Studio 版本:DevEco Studio 4.0 Release(4.0.0.600)

SDK 版本:4.0.10.13

开发板型号:DAYU200(RK3568)

系统版本:OpenHarmony-4.0-Release

功能简介

为了保证 OpenHarmony 应用的完整性和来源可靠,在应用构建时需要对应用进行签名。经过签名的应用才能在设备上安装、运行、和调试。DevEco Studio 自动化签名功能仅用于应用调试阶段使用,不可用于发布上架应用市场

基本概念

Hap 包签名工具支持本地签名需求的开发,为 OpenHarmony 应用提供完整性保护和来源管控机制,该签名工具基于 PKI 公钥证书的机制实现,在进行开发前,开发者应了解以下基本概念:

  • 非对称密钥对:非对称密钥算法是数据签名/验签的基础,应用签名工具实现了标准的非对称密钥对生成功能(支持的密钥对类型包括 ECC P384/256、RSA2048/3072/4096)
  • CSR:CSR(Certificate Signing Request)证书签发请求是生成证书的前提,他包括证书的公钥、证书主题和私钥签名,在申请证书之前,需要先基于密钥对生成 CSR,然后提交给 CA 签发证书。
  • 证书:OpenHarmony 采用 RFC5280 标准构建 X509 证书信任体系。用于应用签名的 OpenHarmony 证书共有三级,分为:根 CA 证书、中间 CA 证书、最终实体证书,其中最终实体证书分为应用签名证书和 profile 签名证书。应用签名证书表示应用开发者的身份,可保证系统上安装的应用来源可追溯,profile 签名证书实现对 profile 文件的签名进行验签,保证 profile 文件的完整性。
  • HAP 包:HAP(OpenHarmony Ability Package)是 Ability 的部署包,OpenHarmony 应用代码围绕 Ability 组件展开,它是由一个或者多个 Ability 组成。
  • profile 文件:Hap 包中的描述文件,该描述文件描述了已授权的证书权限和设备 ID 信息等信息。

签名配置

应用签名信息配置于工程目录 build-profile.json5 文件中,配置项说明:

{
  "app": {                                 //工程级别信息配置,包含API等级、签名和产品信息
    "signingConfigs": [{                   //工程的签名信息,可包含多个签名信息
      "name": "default",                   //标识签名方案的名称
      "material": {                        //该方案的签名材料
        "certpath": "ohos.cer",            //调试或发布证书文件,格式为.cer
        "storePassword": "******",         //密钥库Password,以密文形式呈现
        "keyAlias": "debug_ohos",          //密钥别名信息
        "keyPassword": "******",           //密钥Password,以密文形式呈现
        "profile": "ohos.p7b",             //调试或发布证书Profile文件,格式为.p7b
        "signAlg": "SHA256withECDSA",      //密钥库signAlg参数
        "storeFile": "ohos.p12"            //密钥库文件,格式为.p12
      }
    }],
    "products": [{                         //定义构建的产品品类,如通用默认版、付费版、免费版等
      "name": "default",                   //定义产品的名称,由开发者自定义
      "signingConfig": "default"           //指定当前产品品类对应的签名信息,签名信息需要在signingConfigs中进行定义
      ...
    }]
    ···
  }
}
···

自动化签名

未签名的 HAP 包

使用 DevEco Studio 创建一个新的工程,默认是没有配置签名信息的。签名信息可通过工程根路径的 build-profile.json5 文件查看。未签名的 HAP 包无法保证应用的完整性和来源可靠,在 OpenHarmony 系统是无法被安装的。

  • 新创建的工程,在 build-profile.json5 文件的 signingConfigs 配置项中不包含签名信息。

deveco studio 4.0,OpenHarmony,harmonyos,华为

  • 当未配置签名信息的工程执行 HAP 打包时,仅会生成 unsigned 标记的 HAP 包。

deveco studio 4.0,OpenHarmony,harmonyos,华为

  • hvigor 编译构建工具进行 build 时,提示未配置签名信息。

deveco studio 4.0,OpenHarmony,harmonyos,华为

  • 未签名的 HAP 包在系统中安装时,报未签名错误。

deveco studio 4.0,OpenHarmony,harmonyos,华为

DevEco Studio 自动签名

应用在真机设备上运行,需要提前为应用进行签名,DevEco Studio 为开发者提供了自动化签名方案,可以一键完成应用签名。

配置自动签名:

  • 单击 File > Project Structure > Project > SigningConfigs 界面勾选 Automatically generate signature,等待自动签名完成即可,单击 OK。

deveco studio 4.0,OpenHarmony,harmonyos,华为

  • 查看 build-profile.json5 配置信息,配置信息中增加自动签名生成的证书信息。

deveco studio 4.0,OpenHarmony,harmonyos,华为

  • 使用 hvigor 编译构建工具 build,在 output 目录中生成标记为 signed 的 HAP 包。

deveco studio 4.0,OpenHarmony,harmonyos,华为

修改应用权限等级

OpenHarmony 针对应用访问额外的系统或其他应用的数据(包括用户个人数据)或功能,提供了一种访问控制机制来保证这些数据或功能不会被不当或恶意使用,即应用权限。根据权限对于不同等级应用有不同的开放范围,权限类型对应分为以下三种,等级依次提高。

  • normal 权限
  • system_basic 权限
  • system_core 权限

默认情况下自动化签名功能只能申请权限等级为“normal”的权限。若使用了更高级别的权限 system_core 或 system_basic,需修改自动化签名所需要的 Profile 模板,然后再使用自动化签名功能对应用进行签名。

修改 Profile 模板:

  • 打开 OpenHarmony SDK 所在目录,可通过工程根路径 local.properties 文件或 DevEco Studio 菜单栏中单击 File > Settings > SDK > OpenHarmony 界面查看 。

deveco studio 4.0,OpenHarmony,harmonyos,华为

  • 在 OpenHarmony SDK 目录下,进入{Version} > toolchains > lib 文件夹,打开 UnsgnedReleasedProfileTemplate.json文件。

deveco studio 4.0,OpenHarmony,harmonyos,华为

  • 根据需求对 Profile 文件进行修改,例如需申请最高级别的权限等级,则修改 apl 为 system_coreProfile 修改参考 HarmonyAppProvision 配置文件的说明。

deveco studio 4.0,OpenHarmony,harmonyos,华为

  • 使用 DevEco Studio 自动化签名功能(需重新点击 Automatically generate signature )为应用重新生成证书文件和配置信息,安装后通过 bm dump 指令查看权限生效情况。

deveco studio 4.0,OpenHarmony,harmonyos,华为文章来源地址https://www.toymoban.com/news/detail-778016.html

参考文档

  • HarmonyOS 应用开发官网 - 配置编译构建信息
  • HarmonyOS 应用开发官网 - 自动化签名方案
  • OpenAtom OpenHarmony - Hap 包签名工具概述

到了这里,关于OpenHarmony应用签名 - DevEco Studio 自动签名(4.0-Release)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • HarmonyOS 鸿蒙开发DevEco Studio OpenHarmony:创建OpenHarmony工程

    目录 创建和配置新工程 将原子化服务工程改为应用工程 当开始开发一个OpenHarmony应用/服务时,首先需要根据工程创建向导,创建一个新的工程,工具会自动生成对应的代码和资源模板。 说明 在运行DevEco Studio工程时,建议每一个运行窗口有2GB以上的可用内存空间。 通过如下

    2024年01月25日
    浏览(60)
  • DevEco Studio 3.1 Release | 动态共享包开发,编译更快,包更小

      原文: https://mp.weixin.qq.com/s/qPvHZNZuLccAsviBcXtPWw ,点击链接查看更多技术内容。 动态共享包(HSP)开发是DevEco Studio 3.1 Release版本带来的新特性,基于新的编译方式,提供运行态共享能力,可以有效加快编译速度,减小HAP包的体积。 以往使用的JSBundle化编译方案,因每个入

    2024年02月05日
    浏览(74)
  • HarmonyOS 鸿蒙开发DevEco Studio OpenHarmony:配置开发环境

    目录 下载OpenHarmony SDK及工具链 参考信息 配置DevEco Studio代理 配置NPM代理 在进行OpenHarmony应用/服务开发前,需要提前在DevEco Studio中下载对应版本的SDK。下载OpenHarmony SDK需要连接网络,一般情况下,可以直接下载;但部分用户的网络可能受限,此时需要先根据参考信息 配置相

    2024年02月19日
    浏览(61)
  • HarmonyOS 鸿蒙开发DevEco Studio OpenHarmony:编译构建概述

    目录 OpenHarmony构建体系 构建工具Hvigor 构建插件hvigor-ohos-plugin 工程目录及配置文件说明 如何构建应用/服务 启动应用/服务构建 查看编译过程

    2024年02月22日
    浏览(63)
  • HarmonyOS 鸿蒙开发DevEco Studio OpenHarmony:使用低代码进行开发

    OpenHarmony低代码开发方式,具有丰富的UI界面编辑功能,遵循JS、TS开发规范 ,通过可视化界面开发方式快速构建布局,可有效降低用户的时间成本和提升用户构建UI界面的效率。 说明 支持使用低代码进行JS/eTS页面开发,本章节以开发eTS页面为例,介绍低代码功能及使用方法。

    2024年02月19日
    浏览(60)
  • 鸿蒙4.0开发笔记之DevEco Studio如何使用低代码开发模板进行开发的详细流程(六)

    所谓低代码开发,即无需编码或只需少量代码就可以快速生成应用程序。也就是说,企业的应用开发通过“拖拉拽”的方式即可完成的一种开发方式。 相信这种方式对使用过Android Studio进行安卓APP开发的程序员来说都不陌生,就是通过拖动创建组件,从而完成项目框架的搭建

    2024年02月05日
    浏览(47)
  • HarmonyOS应用开发工具DevEco Studio安装与使用

    语雀知识库地址:语雀HarmonyOS知识库 飞书知识库地址:飞书HarmonyOS知识库 知识库内容逐步完善中… 工欲善其事必先利其器,要编写HarmonyOS应用就需要用到官方提供的IDE工具来编写相应的代码。 在鸿蒙开发者官网,其提供了官方的开发IDE——DevEco Studio(最新版本3.1.1 Release)

    2024年02月19日
    浏览(58)
  • HarmonyOS应用开发-第一章-DevEco Studio的安装

            本栏可以帮助正在学习HarmonyOS应用开发的开发者快速上手和掌握。         首先下载DevEco Studio(HarmonyOS应用的集成开发境),点击:IDE下载页面,点击立即下载。         下载完成后,双击运行安装程序,进入安装向导。         随后一直点击 \\\"Next\\\" 直到安装完成

    2024年02月17日
    浏览(47)
  • 鸿蒙原生应用/元服务实战-DevEco Studio 模拟器资源经常不足

    DevEco Studio 模拟器资源经常不足,模拟器是最方便和最广泛的开发者可以快速体验应用元服务效果的途径,还是要加强。 除了Wearable,其他都用不了。 只能用预览器看效果,或者使用远程真机或者本地真机了。 在API9,比如分享等,需要通过正式上架后,才可以体验效果和是否

    2024年01月23日
    浏览(46)
  • 安装DevEco Studio

    首先进入鸿蒙开发者官网,顶部导航栏选择开发-DevEco Studio 根据操作系统下载不同版本,其中Mac(X86)为英特尔芯片,Mac(ARM)为M芯片。 下载完毕后,开始安装。 点击Agree 首次使用,请选择 Do not import settings ,单击 OK 。 接下来介绍首次启动DevEco Studio的配置向导: 安装Node.js与

    2024年03月25日
    浏览(49)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包