OpenHarmony应用签名 - DevEco Studio 自动签名

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

概述

文档环境

开发环境:MacBook Pro

DevEco Studio 版本:DevEco Studio 3.1 Beta1(3.1.0.200)

SDK 版本:3.2.10.6

开发板型号:DAYU 200

系统版本:OpenHarmony 3.2 Beta5

功能简介

为了保证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": "******",         //密钥库密码,以密文形式呈现
        "keyAlias": "debug_ohos",          //密钥别名信息
        "keyPassword": "******",           //密钥密码,以密文形式呈现
        "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 生成签名安装包,OpenHarmony,安全,Powered by 金山文档
  • 当未配置签名信息的工程执行HAP打包时,仅会生成unsigned标记的HAP包。

deveco studio 生成签名安装包,OpenHarmony,安全,Powered by 金山文档
  • hvigor编译构建工具进行build时,提示未配置签名信息。

deveco studio 生成签名安装包,OpenHarmony,安全,Powered by 金山文档
  • 未签名的HAP包在系统中安装时,报未签名错误。

deveco studio 生成签名安装包,OpenHarmony,安全,Powered by 金山文档

DevEco Studio 自动签名

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

配置自动签名:

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

deveco studio 生成签名安装包,OpenHarmony,安全,Powered by 金山文档
  • 查看build-profile.json5配置信息,配置信息中增加自动签名生成的证书信息。

deveco studio 生成签名安装包,OpenHarmony,安全,Powered by 金山文档
  • 使用hvigor编译构建工具build,在output目录中生成标记为signed的HAP包。

deveco studio 生成签名安装包,OpenHarmony,安全,Powered by 金山文档

修改应用权限等级

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 生成签名安装包,OpenHarmony,安全,Powered by 金山文档
  • OpenHarmony SDK目录下,进入{Version} > toolchains > lib文件夹,打开UnsgnedReleasedProfileTemplate.json文件。

deveco studio 生成签名安装包,OpenHarmony,安全,Powered by 金山文档
  • 根据需求对Profile文件进行修改,例如需申请最高级别的权限等级,则修改aplsystem_coreProfile修改参考HarmonyAppProvision配置文件的说明。

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

deveco studio 生成签名安装包,OpenHarmony,安全,Powered by 金山文档

参考文档

  • HarmonyOS应用开发官网 - 配置编译构建信息

  • HarmonyOS应用开发官网 - 自动化签名方案

  • OpenAtom OpenHarmony - Hap包签名工具概述文章来源地址https://www.toymoban.com/news/detail-821786.html

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

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

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

相关文章

  • 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)
  • 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)
  • 适用HarmonyOS 3.1版本及以上的应用及服务开发工具 DevEco Studio 3.1.1 Release 安装

    1.下载安装包 传送门 打开后往下滑动寻找对应版别下载 选择对应的平台下载安装 下载之后,双击运行按照提示安装即可,这里不做赘述了 (windows可以修改一下安装路径到c盘外) 2.安装成功后,初次运行studio 第一次进来要配置一些环境 2.1 配置node与ohpm的环境 我本地已经安

    2024年02月13日
    浏览(66)
  • 安装DevEco Studio

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

    2024年03月25日
    浏览(49)
  • Huawei Deveco Studio安装教程

    DevEco下载地址 第一次使用需要安装一些 SDK并且有用户协议,一路同意即可。 打开IDE,创建一个项目: 我们的接口是手机应用,所以选择一个HarmonyOS的空模板即可: 接下来需要填写项目信息并且创建项目(创建项目完成后,会加载一段时间的配置信息,耐心等待即可) 使用

    2024年02月09日
    浏览(56)
  • macos 上彻底卸载 DevEco Studio

    1. 退出DevEco Studio:    确保DevEco Studio没有在运行。如果它在Dock中,可以右键点击其图标,然后选择退出。或者使用`Command + Q`快捷键确保应用程序完全退出。 2. 删除DevEco Studio应用程序:    打开“应用程序”文件夹,找到DevEco Studio,然后将其拖动到废纸篓中,或者右键点击

    2024年02月03日
    浏览(45)
  • DevEco Studio 鸿蒙(HarmonyOS)项目结构

    DevEco Studio 鸿蒙(HarmonyOS)项目结构 一、操作环境 操作系统:  Windows 10 专业版 IDE:DevEco Studio 3.1 SDK:HarmonyOS 3.1 二、项目结构 创建简单的Hello World移动应用项目结构如下图 由上到下说明各个文件夹的作用 .hvigor :存储构建配置文件信息。 .idea: 存储项目的配置信息。 AppScope :

    2024年02月04日
    浏览(51)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包