0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

OpenHarmony应用签名方法的步骤

OpenAtom OpenHarmony 来源:OpenAtom OpenHarmony 作者:OpenAtom OpenHarmony 2022-10-13 09:41 次阅读

背景

OpenAtom OpenHarmony(以下简称“OpenHarmony”)应用如果需要对外发布就必须要通过应用签名,DevEco Studio已提供自动签名功能加速应用开发,但自动签名仅限于debug开发,如需对外发布则必须完成release签名。在OpenHarmony中有AGC应用商店可以帮助开发者完成release签名,本文将介绍OpenHarmony应用签名方法的步骤,将使用OpenHarmony官方提供的签名工具对HAP进行签名。

使用DevEco Studio完成HAP自动签名

打开DevEco Studio工具,点击右上角Project Structure进入工程配置页面

7fef6fae-4a2f-11ed-a3b6-dac502259ad0.png

点击Project -> Signing Configs,勾选Automatically generate signing,点击OK

8004ffea-4a2f-11ed-a3b6-dac502259ad0.png

点击Build -> Rebuild Project 或 Build HAP都可以编译构建HAP包

80314442-4a2f-11ed-a3b6-dac502259ad0.png

编辑构建完成后我们可以得到未签名的HAP包

803dde8c-4a2f-11ed-a3b6-dac502259ad0.png

这个包可以用于Debug调试,但不能用于Release正式发布

IDE对HAP包签名的密码限制

从理论上讲,我们也可以通过DevEco Studio进行HAP包的发布签名,但是官方提供的OpenHarmony.p12文件密码为123456

而IDE不支持使用123456这样的简单的密码,它达不到密码安全级别

80485146-4a2f-11ed-a3b6-dac502259ad0.png

8065703c-4a2f-11ed-a3b6-dac502259ad0.png

因此,使用官方加密文件完成签名暂时行不通

我们改变思路,使用命令行方式完成签名,这样可以绕过IDE的限制

使用官方开源签名工具完成签名

查阅官方资料发现,官方已经提供了命令行签名工具

https://gitee.com/openharmony/developtools_hapsigner

我们通过修改配置文件、执行脚本,即可完成HAP签名具体步骤如下:

1 安装工具依赖环境

安装python3.10(下载链接:https://www.python.org/downloads/),通过命令行验证安装是否成功

8080bf36-4a2f-11ed-a3b6-dac502259ad0.png

安装jdk,配置好环境变量,通过命令行验证安装是否成功

80996644-4a2f-11ed-a3b6-dac502259ad0.png

2 将签名工具代码拉取到本地保存,修改配置文件

git clone https://gitee.com/openharmony/developtools_HAPsigner.git

修改developtools_HAPsignerautosignsignHAP.config文件配置

# config.signtool改为HAP-sign-tool.jar的绝对路径,可以在dist目录中找到

config.signtool=E:/openharmony/developtools_HAPsigner/dist/HAP-sign-tool.jar

# common.keystoreFile改为OpenHarmony.p12的绝对路径,可以在dist目录中找到

common.keystoreFile=E:/openharmony/developtools_HAPsigner/dist/OpenHarmony.p12

# app.keypair.keyAlias改为OpenHarmony Application Release

app.keypair.keyAlias=OpenHarmony Application Release

# cert.app.outFile改为OpenHarmonyApplication.pem的绝对路径,可以在dist目录中找到

cert.app.outFile=E:/openharmony/developtools_HAPsigner/dist/OpenHarmonyApplication.pem

# sign.profile.outFile改为官方提供的p7b绝对路径,比如launcher代码中提供了launcher.p7b加密文件

sign.profile.outFile=E:/openharmony/signfiles/launcher/launcher.p7b

# sign.app.inFile为未签名HAP路径

sign.app.inFile=E:/openharmony/applications_launcher/product/phone/build/default/outputs/default/phone-launcher-default-unsigned.HAP

# sign.app.outFile为签名后的HAP保存路径

sign.app.outFile=E:/openharmony/applications_launcher/product/phone/build/default/outputs/default/phone-launcher-signed.HAP

3 完成配置文件修改后,执行签名脚本

# 进入签名工具autosign目录

cd E:openharmonydeveloptools_HAPsignerautosign

# 执行python脚本

python .autosign.py signHAP

签名成功后显示Success

80c3c538-4a2f-11ed-a3b6-dac502259ad0.png

到指定目录下可以找到签名后的HAP

80d051f4-4a2f-11ed-a3b6-dac502259ad0.png

总结

DevEco Studio开发工具为开发人员提供了非常友好的HAP自动签名功能及非常便捷的Debug包。由于IDE的安全密码要求,对于Release包的发布我们暂时需要手动签名,尤其是系统级的应用。我们可以利用官方提供的签名工具较为容易地完成release包签名,后续可以自行开发GUI工具进一步提升签名效率。

审核编辑:汤梓红

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • OpenHarmony
    +关注

    关注

    25

    文章

    3713

    浏览量

    16252
  • DevEco Studio
    +关注

    关注

    0

    文章

    21

    浏览量

    1072

原文标题:OpenHarmony应用HAP包签名

文章出处:【微信号:gh_e4f28cfa3159,微信公众号:OpenAtom OpenHarmony】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    OpenHarmony原子化服务开发快速入门体验(下)

    五、配置openharmony应用签名信息 采用自动配签名方法,将设备使用USB数据线连接到电脑后,依次点击File-ProjectStructure-Project-Signing
    的头像 发表于 06-22 10:11 2422次阅读
    <b class='flag-5'>OpenHarmony</b>原子化服务开发快速入门体验(下)

    OpenHarmony2.0 上安装自己的系统应用

    废话不多说,先上效果图:使用该方法安装的hap为系统hap,不可卸载。文档写的使用hdc安装hap暂未走通。请参考官方文档。有打包、签名(建议参考一下官方文档的签名,和HarmonyOS签名
    发表于 08-09 14:35

    HarmonyOS与OpenHarmony应用开发差异

    工程的方式来创建一个新工程。调试签名配置:OpenHarmony应用运行在真机设备上,需要对应用进行签名。在真机设备上运行应用:需要使用hdc工具将OpenHarmony的hap包推送
    发表于 10-22 10:35

    基于OpenHarmony应用开发的签名配置

    开发OpenHarmony应用的第一步就是配置环境,如果你需要使用开发板(真机)进行调试,那就免不了配置签名信息,本文详细介绍了基于OpenHarmony应用开发的签名配置。
    发表于 03-11 15:32

    OpenHarmony应用的签名配置的流程解析

      使用真机设备运行和调试OpenHarmony应用前,需要对应用进行签名才能正常运行。该指导用于OpenHarmony应用的签名配置。除此章节以外,DevEco Studio的其余操
    发表于 03-14 16:40

    OpenHarmony hap包安装失败的原因及其解决方法解析

    OpenHarmony hap包安装:error: failed to install bundle. error: install update incompatible.签名认证
    发表于 03-15 14:15

    OpenHarmony设置自动化签名报错怎么解决?

    选择这个自动化签名又又出错了,按照文档的内容,使用keytool和java又手动生成签名,没有找到这个工具,下载了JDK,找到了工具,在生成文件的时候报错了。自动签名怎么解决?
    发表于 05-07 10:52

    烧录OpenHarmony 3.2(尝鲜版)步骤

    工具是配套的烧录OpenHarmony版本相应SDK也从每日构件中下载:http://ci.openharmony.cn/dailys/dailybuilds烧录升级3.2版本步骤:烧录3.2版本
    发表于 05-22 12:14

    OpenHarmony原子化服务开发快速入门体验(下)

    五、配置openharmony应用签名信息采用自动配签名方法,将设备使用USB数据线连接到电脑后,依次点击File->ProjectStructure->
    发表于 06-22 09:56

    OpenHarmony应用Hap包签名

    。在HarmonyOS中有AGC应用商店可以帮助开发者完成release签名,但是OH就没有这么方便了,本文将介绍OH应用签名方法步骤,将使用OH官方提供的
    发表于 09-20 09:18

    OpenHarmony应用HAP包签名

    OpenHarmony应用签名方法步骤,将使用OpenHarmony官方提供的签名工具对HAP
    发表于 10-13 17:11

    签名签名”之实现技术研究

    介绍“签名签名”,即笔迹数字签名的概念,提出直接和需仲裁的“签名签名”之2种结构模式。针对签名
    发表于 04-20 09:30 15次下载

    OpenHarmony Dev-Board-SIG专场:HDF驱动移植步骤

    OpenHarmony Dev-Board-SIG专场:HDF驱动移植步骤
    的头像 发表于 12-28 14:46 1911次阅读
    <b class='flag-5'>OpenHarmony</b> Dev-Board-SIG专场:HDF驱动移植<b class='flag-5'>步骤</b>

    技术专家分享:OpenHarmony应用HAP包签名

    可以帮助开发者完成release签名,本文将介绍OpenHarmony应用签名方法步骤,将使用Open
    的头像 发表于 10-18 09:35 2419次阅读

    OpenHarmony开发实例:【配置应用签名信息】

    使用真机设备运行和调试OpenHarmony应用前,需要对应用进行签名才能正常运行。
    的头像 发表于 04-22 16:52 450次阅读
    <b class='flag-5'>OpenHarmony</b>开发实例:【配置应用<b class='flag-5'>签名</b>信息】