OpenHarmony-DevEco应用签名

        本文介绍DevEco中配置鸿蒙应用签名,生成签名所需要用到的数字证书(.cer文件)、Profile文件(.p7b文件)、证书文件(.cer文件),其实很简单,主要记住签名文件生成输入的密码等信息,后面保持一致就可以。

目录

一.生成数字证书(.cer文件)和Profile文件(.p7b文件)

二.生成证书文件.cer

 三.生成应用Profile文件:

四.DevEco配置应用签名

五.签名信息配置OK后,编译生成带签名的hap


一.生成数字证书(.cer文件)和Profile文件(.p7b文件)

1.打开DevEco,Build-----generate Key and CSR

 

点击Next

 

Finish

生成文件:

二.生成证书文件.cer

为了方便,直接将下载的HarmonyOS SDK下的toolchains/lib下的文件copy到签名文件夹中

管理员方式打开命令行,cd到签名文件夹文件,执行

keytool -gencert -alias "OpenHarmony Application CA" -infile StartupSysDeviceInfo.csr -outfile StartupSysDeviceInfo.cer -keystore OpenHarmony.p12 -sigalg SHA384withECDSA -storepass 123456 -ext KeyUsage:"critical=digitalSignature" -validity  3650 -rfc

 其中,StartupSysDeviceInfo.csr是上面生成的,StartupSysDeviceInfo.cer是本次要生成的cer文件。

 

PS:keytool工具是open_jdk自带的,需要将下载的sdk路径配置到系统环境变量中,如图:

查看jdk版本:

可避免出现下面问题:

 

 三.生成应用Profile文件:

管理员运行命令行,cd到签名文件夹路径执行

java -jar provisionsigtool.jar sign --in UnsgnedReleasedProfileTemplate.json --out StartupSysDeviceInfo.p7b --keystore OpenHarmony.p12 --storepass 123456 --alias "OpenHarmony Application Profile Release" --sigAlg SHA256withECDSA --cert OpenHarmonyProfileRelease.pem --validity 365 --developer-id ohosdeveloper --bundle-name ohos.acts.startup.js.function --distribution-certificate StartupSysDeviceInfo.cer

四.DevEco配置应用签名

打开File——Project Structure——Project,点击Signing Configs,取消勾选Automatically generate signing,从本地签名文件夹中选择上面生成的.p12、.p7b、 .cer文件

导入后,点击Apply——OK。

如图:

五.签名信息配置OK后,编译生成带签名的hap

如图:

PS:签名参考配置OpenHarmony应用签名信息

### 使用签名文件在Deveco Studio中对应用程序进行签名 当开发者希望确保OpenHarmony应用的完整性和来源可靠性时,必须在应用构建期间对其进行签名[^4]。对于已经在Deveco Studio内创建好的项目而言,可以通过如下方式利用已有的签名文件完成这一过程。 #### 配置签名信息 1. 打开项目的`build-profile.json5`文件,此位置存储着有关自动签名的信息[^2]。如果打算手动指定签名文件,则需在此处调整设置以指向自定义的证书和私钥路径。 ```json { "signingConfig": { "storeFile": "/path/to/keystore.jks", "storePassword": "your_store_password", "keyAlias": "alias_name", "keyPassword": "your_key_password" } } ``` 2. 上述JSON片段中的字段解释: - `storeFile`: 指向JAR/JKS格式的密钥库文件的位置。 - `storePassword`: 密钥库密码。 - `keyAlias`: 存储于密钥库内的特定密钥别名。 - `keyPassword`: 对应上述别名的具体密钥密码。 #### 应用程序签名流程 一旦完成了必要的配置更改之后,就可以继续执行常规的应用编译步骤。Deveco Studio会依据所设定的参数来处理APK/HAP包的签名工作[^3]。值得注意的是,尽管自动化签名机制适用于大多数情况下的调试需求,但对于正式发布的应用程序来说,建议采用更加严格的安全措施,并遵循官方指南准备专门用于分发渠道的身份验证材料。 此外,在某些特殊情况下可能还需要额外关注签名算法的选择——例如,默认推荐使用的SHA256withECDSA选项能够提供良好的安全性保障[^5]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

@_南先森

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值