HarmonyOS鸿蒙Next中关于CI上边,发布har时要求输入key的密码的问题

HarmonyOS鸿蒙Next中关于CI上边,发布har时要求输入key的密码的问题 自动填充密码填充不进去

3 回复

参考下人机交互脚本:

cd har包所在目录
expect<<- END

set timeout 60

spawn ohpm publish ./har包名称

expect {
"private key:" {send "{ohpm_private_key}\r"}
}
expect eof
exit
END

注:expect语法不支持缩进,如果是在方法中调用,请去除缩进,类似下面的写法

function uploadhsp() {
cp test_shar_library/build/default/outputs/default/{package_name} .

expect<<- END

set timeout 60

spawn ohpm publish ./${package_name}

expect {
"private key:" {send "hmsAdmin_123\r"}
}

expect eof

exit

END

}

uploadhsp

更多关于HarmonyOS鸿蒙Next中关于CI上边,发布har时要求输入key的密码的问题的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


在HarmonyOS鸿蒙Next中,发布HAR(HarmonyOS Ability Resources)包时要求输入key的密码,这是由于HAR包在发布过程中需要进行签名以确保其完整性和安全性。签名过程需要使用开发者在华为开发者联盟中创建的签名证书,而该证书对应的私钥在生成时设置了密码保护。因此,在发布HAR包时,系统会提示输入该私钥的密码以完成签名操作。

具体流程如下:

  1. 开发者在华为开发者联盟中创建应用时,会生成一个签名证书,并设置私钥密码。
  2. 在开发环境中,开发者使用DevEco Studio进行HAR包的构建和发布。
  3. 发布HAR包时,DevEco Studio会调用签名工具对HAR包进行签名。
  4. 签名工具需要访问签名证书的私钥,因此会提示开发者输入私钥密码。
  5. 输入正确的私钥密码后,签名工具会使用私钥对HAR包进行签名,生成带有签名的HAR包。

这一机制确保了HAR包在发布过程中的安全性,防止未经授权的修改和发布。开发者需要妥善保管私钥密码,以确保HAR包的签名过程顺利进行。

在HarmonyOS鸿蒙Next中,发布HAR(HarmonyOS Archive)时要求输入key的密码,这是为了确保构建过程的安全性。开发者需要在CI(持续集成)配置文件中正确设置签名信息,包括key的密码。具体操作如下:

  1. build.gradle文件中配置签名信息,确保storeFilestorePasswordkeyAliaskeyPassword正确填写。
  2. 在CI环境变量中安全存储这些敏感信息,避免明文暴露。
  3. 使用CI工具(如Jenkins、GitHub Actions)在构建时自动注入这些变量。

确保密码安全,防止泄露。

回到顶部