首页 > 其他分享 >OpenHarmony应用HAP包签名

OpenHarmony应用HAP包签名

时间:2022-10-13 11:58:56浏览次数:73  
标签:OpenHarmony openharmony launcher sign 签名 HAP

背景

OpenAtom OpenHarmony(以下简称“OpenHarmony”)应用如果需要对外发布就必须要通过应用签名,DevEco Studio已提供自动签名功能加速应用开发,但自动签名仅限于debug开发,如需对外发布则必须完成release签名。

在OpenHarmony中有AGC应用商店可以帮助开发者完成release签名,本文将介绍OpenHarmony应用签名方法的步骤,将使用OpenHarmony官方提供的签名工具对HAP进行签名。

使用DevEco Studio完成HAP自动签名

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

 

 

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

 

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

 

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

 

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

IDE对HAP包签名的密码限制

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

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

 

 

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

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

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

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

https://gitee.com/openharmony/developtools_hapsigner

我们通过修改配置文件、执行脚本,即可完成HAP签名

具体步骤如下:

1 安装工具依赖环境

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

 

 

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

 

 

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

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

 

修改developtools_HAPsigner\autosign\signHAP.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

Releaseapp.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:\openharmony\developtools_HAPsigner\autosign

# 执行python脚本

python .\autosign.py signHAP

签名成功后显示Success

 

 

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

 

 

总结

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

 

标签:OpenHarmony,openharmony,launcher,sign,签名,HAP
From: https://www.cnblogs.com/openharmony/p/16787670.html

相关文章

  • [caffe解读] caffe从数学公式到代码实现3-shape相关类
    接着上一篇说,本篇开始读layers下面的一些与blobshape有关的layer,比如flatten_layer.cpp等,具体包括的在下面;flatten_layer.cppconv与deconv虽然也与shape有关,但是由于比较复......
  • keystore签名指令
    jarsigner-sigalgSHA1withRSA-digestalgSHA1-keystore +keyStore+ -storepass +keyPwd+-keypass+alisaPwd+-signedjar +v1Name+unsignedApk.getAb......
  • 公钥、私钥、数字签名、数字证书、指纹之间的关系
    这里来谈谈公钥、私钥、数字签名、数字证书、指纹之间的关系和作用;公钥和私钥是用户单位向证书机构申请的加密文件,其中公钥可以发送给所有人、私钥自己保存;两个用户交流之......
  • JVMVRFY012 stack shape inconsistent
    Causedby:java.lang.VerifyError:JVMVRFY012stackshapeinconsistent;class="brave"/sampler/Sampler$$EnhancerBySpringCGLIB$$71f9816b,method=<init>()V,pc=0......
  • 如何在 Mac 上轻松编辑、批注、签名和标记 PDF?
    Mac平台有许多PDF编辑器。今天这篇文章,我们将使用Readdle的PDFExpert。PDFExpert在Mac上提供完整的PDF编辑体验。该软件允许您旋转、删除PDF页面、突出显示单......
  • keepalived高可用(haporxy)
    keepalived高可用(haporxy)目录keepalived高可用(haporxy)部署httpd,nginx部署haproxy负载均衡部署keepalived高可用编写脚本配置keepalived加入监控脚本的配置测试keep......
  • chap3
    1,字符型变量定义时类型名:char在函数scanf用“%c”输入当读入“/”和“%”时,要考虑后面那个数是否为02,字符型常量是一对单引号及其所括起来的字符,例如‘=’3,输入和输......
  • OpenHarmony命令行调试工具hdc_std介绍
    今天有人问dayu200可以用hdc工具吗?突然发现,我还没用过,于是就有了这篇文章hdc_std是什么?hdc_std是OpenHarmony提供的用于调试的命令行工具,通过该工具可以在Windows/Linux等系......
  • Basler相机未成功安装USB驱动,数字签名验证失败问题
    1、使用pylonViewer修复 点击问题相机,右侧下方点击修复。2、如果未解决,如win7系统,是由于缺少补丁导致数字签名验证失败,阻止了驱动的正确安装。补丁下载链接如下:http......
  • OpenHarmony有氧拳击之应用端开发
     一、简介继《OpenHarmony有氧拳击设备端的开发》后,本次为大家带来酷炫的应用端开发。如下,开发者伴随着音乐,律动出拳后,那开发板屡屡播放“挨打”效果,这究竟是怎么一回......