openharmony标准系统之app手动签名
今天在标准系统上使用DevEco Studio 3.0 Beta2开发app时,想直接在真机上运行,结果提示吐下信息,
App LaunchInstall Failed: [Info]App install path:D:\APP\HarmonyOS\Project\openHarmonyProject\standard\HelloWorld\entry\build\outputs\hap\debug\entry-debug-standard-ark-unsigned.hap, queuesize:0, msg:error: failed to install bundle. error: no signature file. AppMod finish
这种情况是因为没有给app进行签名导致的,现在按照官方文档进行签名操作,首先如下图,进入Build去生成证书请求文件。
进入如上图展示的选项后,然后选择如下图所示的选项。
然后出现如图所示界面,我们填写这个就可。
点击此箭头进入选择保存路径以及设置名字,如下图展示
进入后的界面如下图所示,选择正确的路径以及填写名字
然后点击OK就行,然后再在如下图所示界面填写密码,注意密码格式如下,
我这里用的是zxy122456
填写完成后点击OK完成创建,然后接着填写如下信息。
- Alias:密钥的别名信息,用于标识密钥名称。请记住该别名,后续签名配置需要使用。
- Password:密钥对应的密码,与密钥库密码保持一致,无需手动输入。
- Validity:证书有效期,建议设置为25年及以上,覆盖应用/服务的完整生命周期。
- Certificate:输入证书基本信息,如组织、城市或地区、国家码等。
然后点击箭头所指示的Next即可,然后会出现如下界面
这里需要设置我们的路径,点击箭头所指选项,
选择保存的路径,设置名字,然后点击OK。
回到上图所示界面后点击Finish即可,会提示如下图所示信息,点击ok即可。
创建成功如下所示多了几个文件。
接着需要生成证书文件,步骤如下,进入DevEco Studio安装目录的Sdk\toolchains\lib文件夹下(该SDK目录只能是OpenHarmony SDK),比如我这里是如下图路径,
将如上图所示文件全部拷贝到我们的key目录
然后找到如下图所示的路径,因为我们的keytool工具没有添加到系统环境变量,所以需要如此操作
打开此路径的cmd,然后执行如下命令
keytool -gencert -alias “OpenHarmony Application CA” -infile D:\APP\HarmonyOS\Project\openHarmonyProject\standard\HelloWorld\Key\HelloWorld.csr -outfile D:\APP\HarmonyOS\Project\openHarmonyProject\standard\HelloWorld\Key\HelloWorld.cer -keystore D:\APP\HarmonyOS\Project\openHarmonyProject\standard\HelloWorld\Key\OpenHarmony.p12 -sigAlg SHA384withECDSA -storepass 123456 -ext KeyUsage:“critical=digitalSignature” -validity 3650 -rfc - alias:用于签发证书的CA私钥别名,OpenHarmony社区CA私钥存于OpenHarmony.p12密钥库文件中,该参数不能修改。
- infile:证书请求(CSR)文件的路径。
- outfile:输出证书链文件名及路径。
- keystore:签发证书的CA密钥库路径,OpenHarmony密钥库文件名为OpenHarmony.p12,文件在OpenHarmony SDK中Sdk\toolchains\lib路径下,该参数不能修改。请注意,该OpenHarmony.p12文件并不是使用DevEco Studio生成证书请求文件中生成的.p12文件。
- sigAlg:证书签名算法,该参数不能修改。
- storepass:密钥库密码,密码为123456,该参数不能修改。
- ext:证书扩展项,该参数不能修改。
- validity:证书有效期,自定义天数。
- rfc:输出文件格式指定,该参数不能修改。
执行完成如下图。
生成如下图所示的文件就算成功。
然后再使用如下命令生成Profile文件
java -jar D:\APP\HarmonyOS\Project\openHarmonyProject\standard\HelloWorld\Key\provisionsigtool.jar sign --in D:\APP\HarmonyOS\Project\openHarmonyProject\standard\HelloWorld\Key\UnsgnedReleasedProfileTemplate.json --out D:\APP\HarmonyOS\Project\openHarmonyProject\standard\HelloWorld\Key\HelloWorld.p7b --keystore D:\APP\HarmonyOS\Project\openHarmonyProject\standard\HelloWorld\Key\OpenHarmony.p12 --storepass 123456 --alias “OpenHarmony Application Profile Release” --sigAlg SHA256withECDSA --cert D:\APP\HarmonyOS\Project\openHarmonyProject\standard\HelloWorld\Key\OpenHarmonyProfileRelease.pem --validity 365 --developer-id ohosdeveloper --bundle-name com.mc.helloworld --distribution-certificate D:\APP\HarmonyOS\Project\openHarmonyProject\standard\HelloWorld\Key\HelloWorld.cer
provisionsigtool:Profile文件生成工具,文件在OpenHarmony SDK的Sdk\toolchains\lib路径下。
in:Profile模板文件所在路径,文件在OpenHarmony SDK中Sdk\toolchains\lib路径下,该参数不能修改。
out:输出的Profile文件名和路径。
keystore:签发证书的密钥库路径,OpenHarmony密钥库文件名为OpenHarmony.p12,文件在OpenHarmony SDK中Sdk\toolchains\lib路径下,该参数不能修改。
storepass:密钥库密码,密码为123456,该参数不能修改。
alias:用于签名Profile私钥别名,OpenHarmony社区CA私钥存于OpenHarmony.p12密钥库文件中,该参数不能修改。
sigAlg:证书签名算法,该参数不能修改。
cert:签名Profile的证书文件路径,文件在OpenHarmony SDK中Sdk\toolchains\lib路径下,该参数不能修改。
validity:证书有效期,自定义天数。
developer-id:开发者标识符,自定义一个字符串。
bundle-name:填写应用包名。
permission:可选字段,如果不需要,则可以不用填写此字段;如果需要添加多个受限权限,则如示例所示重复输入。受限权限列表如下:ohos.permission.READ_CONTACTS、ohos.permission.WRITE_CONTACTS。
distribution-certificate:生成应用证书文件中生成的证书文件。
然后就是配置使用签名信息,首先进入如下所示选项
然后选择如下图所示选项
这里填写信息说明如下:
- Store File:选择密钥库文件,文件后缀为.p12,该文件为使用DevEco Studio生成证书请求文件中生成的.p12文件。
- Store Password:输入密钥库密码,该密码为使用DevEco Studio生成证书请求文件中填写的密钥库密码保持一致。我这里使用zxy1122456
- Key Alias:输入密钥的别名信息,与使用DevEco Studio生成证书请求文件中填写的别名保持一致。我这里是HelloWorld_debug
- Key Password:输入密钥的密码,与Store Password保持一致。zxy1122456
- Sign Alg:签名算法,固定为SHA256withECDSA。
- Profile File:选择生成应用Profile文件中生成的Profile文件,文件后缀为.p7b。
- Certpath File:选择生成证书文件中生成的数字证书文件,文件后缀为.cer。
- 然后点击右下角OK即可。
openharmony标准系统之app手动签名相关推荐
- openharmony标准系统移植之init启动流程分析
接上篇移植openharmony标准系统后,系统进入终端后,发现执行指令特别卡顿,太影响调试了.目前还不知道是什么问题导致的,不知道是不是cpu性能不够,但是感觉不太像是这个问题,卡顿如下图.基本一个 ...
- 第一块能鸿蒙OpenHarmony标准系统的开发板——DAYU200
简介 DAYU200是润和软件推出了OpenHarmony富设备开发板. 基于Rockchip RK3568,集成双核心架构GPU以及高效能NPU: 板载四核64位Cortex-A55 处理器采用22 ...
- openharmony标准系统移植之添加产品编译
首先我这里下载的是源码文件包的形式,如下图,我们使用 命令 tar xvf code-v3.1-Release.tar.gz进行解压文件.解压完成后如下图,多了code-v3.1-Release文件夹 ...
- iOS App 签名的原理 App 重签名(三)
目录 iOS App 重签名 - 准备工作 iOS App 重签名 - 手动重签名 iOS App 重签名 - 使用脚本重签名 iOS App 重签名 - 使用 XCode 重签名 注意 iOS Ap ...
- APP超级签名分发系统 企业签名免签封装微信多开自助分发多合一系统
APP 超级签名分发系统,企业签名免签封装,微信多开自助分发多合一系统源码 做 ios 开发时,每次打测试包都要问客户要 udid,很麻烦,所以偶尔发现有一个这样的系统,可以直接安装苹果的应用,非常方 ...
- 与安装应用签名不同怎么解决_手动签名安装掉证书应用、多开任意应用教程
手动签名应用 前提准备: Windows 系统电脑 安装最新版爱思助手 要签名的 IPA 安装包 Apple ID及密码 首先将要签名的软件 IPA 安装包下载到电脑上,这里的 IPA 安装包必须使用 ...
- iOS逆向(3)-APP重签名
作为一名iOS开发者肯定知道iOS开发证书,那么证书具体是什么呢?为什么到我们本地的不是证书本身,而是一个称之为描述文件的东西.而这「描述文件」又具体是什么呢? 在知道这「描述文件」后,我们是不是可以 ...
- android app的签名,Android APP的签名
Android APP的签名 Android项目以它的包名作为唯一的标识,如果在同一部手机上安装两个包名相同的APP,后者就会覆盖前面安装的应用.为了避免Android APP被随意覆盖,Androi ...
- 运营级IOS一键签名程序源码 支持app超级签名一键分发平台
简介: IOS APP超级签名一键分发平台(七牛魔签)是一款app分发源码-app签名-完美运营级别IOS一键签名程序,该系统完全在linux下运行,源码不存在使用第三方收费工具,市面上很多系统都是使 ...
最新文章
- 私有5g网络_欧洲通过FUDGE5G的启动来支持工业4.0的云原生私有5G
- 关于一部分数学知识》(工具向)(实时更新)
- struts2相对路径解释
- matlab中图像太大,图像处理:算法在MATLAB中耗时太长
- 检索图书 FindMess.java
- SAP CRM Product UI是如何判断当前会话发生了数据写操作的
- 鸟哥的linux私房菜有乌班图,折腾Ubuntu的一些summary--初装Ubuntu18和重装Ubuntu18
- 安卓学习笔记28:文件流操作
- android design包控件,Android Design包之TextInputLayout和TextInputEditText的组合使用【原创】...
- iwebAx产品家族之iweb SNS v0.6体验版--不错的开源软件~~
- 使用PHP官方镜像调用API进行文本翻译
- TS:虚机ipv6网络不通问题-2022.5.16(已解决-博客分享)
- python前缀_python前缀和算法
- 基于Goolgle最新NavigationDrawer实现全屏水平平移
- 差异基因p为0_RNAseq数据分析文献22差异基因与临床数据相关性分析
- 洛谷P2306 被yyh虐的mzc
- 看了这篇Docker指令详解,网友直呼:我收藏了你呢?
- rabbitmq安装 虚拟ip_步骤4:配置IPv6地址
- 4342. 就一勾子 HDU1698 , kuangbin专题
- informatica 许可_Informatica安装及使用文档