在OpenHarmony构建中需要对应用进行签名,以此保证应用完整性和来源可靠。本仓提供二进制签名工具(hapsigntoolv2.jar),用于OpenHarmony应用签名。
/prebuilts/signcenter
├── NOTICE # 开源NOTICE
├── hapsigntool # 签名工具存放目录
│ └── hapsigntoolv2.jar # OpenHarmony应用签名工具
运行环境约束:JDK8
签名命令示例:
java -jar hapsigntoolv2.jar sign -mode localjks -privatekey "OpenHarmony Software Signature" -inputFile camera.hap -outputFile signed_camera.hap -signAlg SHA256withECDSA -keystore OpenHarmony.jks -keystorepasswd 123456 -keyaliaspasswd 123456 -profile camera_release.p7b -certpath OpenHarmony.cer -profileSigned 1
关键字段说明:
hapsigntoolv2.jar :OpenHarmony签名工具
-mode :签名模式。OpenHarmony签名密钥存放于本地keystore文件,因此签名模式选择localjks
-privatekey:密钥对别名
-inputFile :待签名的应用
-outputFile:签名后的应用
-signAlg : 签名算法
-keystore:keystore文件路径
-keystorepasswd:keystore的密码,OpenHarmony.jks的默认密码为123456
-keyaliaspasswd:签名密钥的密码,密钥(OpenHarmony Software Signature)的默认密码为123456
-profile :应用能力授权文件
-certpath:签名证书文件路径
-profileSigned:指示profile文件是否带有签名,1表示有签名,0表示没有签名,缺省值为1。
1.密钥对别名参数不正确
执行命令后提示 "error:Key Alias is not right"。
密钥对别名参数不正确。
填写生成应用证书对应的正确的密钥对别名。
2.profile文件被篡改
执行命令后提示 "error:Verify profile pkcs7 failed! Profile is invalid"。
profile文件被篡改。
检查profile文件是否被篡改。
3.签名算法填写不正确
执行命令后提示 "error:Invalid parameter:Sign Alg"。
签名算法填写不正确。
应用证书密钥对推荐使用ECC生成,hap签名算法修改为ECC对应的SHA256withECDSA,SHA384withECDSA
4.签名密钥口令或密钥库口令错误或密钥库文件格式错误
执行命令后提示 "error:Store File error,possible reason:1.please check whther Store Password or key Password is right,2.Sign Alg does not match with Alg of private key,etc"。
签名密钥口令或密钥库口令错误或密钥库文件格式错误
检查并修正签名密钥口令或密钥库口令;检查密钥库文件格式是否正确,填写正确格式的密钥库文件
5.密钥库文件、原始包文件、证书文件不存在或文件名填写不正确
执行命令后提示 "java.io.FileNotFoundException: (文件名)(系统找不到指定的文件)"。
密钥库文件、原始包文件、证书文件不存在或文件名填写不正确
根据报错提示检查具体文件名是否存在或是否填写正确。
6.证书文件格式错误
执行命令后提示 "No certificates configured for signer"。
证书文件格式错误
检查证书文件的格式是否正确,填写正确的证书文件。
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。
1. 开源生态
2. 协作、人、软件
3. 评估模型