当前位置: 主页 > 鸿蒙系统 >

OpenHarmony应用签名-手动签名相关探索

时间:2024-06-15 10:39来源:51cto 作者:陈浩南xxx 点击:
场景一:应用不更改应用证书,只提升应用能申请到的权限等级时,可以覆盖安装 参考 解决修改APL、ACL权限后自动签名证书指纹改变,无法覆盖安装的问题 我们在开发OpenHarmony应用使

场景一:应用不更改应用证书,只提升应用能申请到的权限等级时,可以覆盖安装

参考解决修改APL、ACL权限后自动签名证书指纹改变,无法覆盖安装的问题

我们在开发OpenHarmony应用使用自动签名时,每次自动签名都会重新生成新的应用证书和Profile签名文件,这样意味着一但重签,再次打包的hap包将无法覆盖安装,当我们不想更改应用证书,只提升应用能申请到的权限等级时,可通过单独修改并重签Profile生成新的p7b文件,替换掉原来自动签名生成的p7b文件,即可解决修改权限等级后,再次自动签名打包的hap无法覆盖安装的问题。

主要是修改openharmony-sdk\9\toolchains\lib\UnsgnedReleasedProfileTemplate.json
重签Profile
 可是有时候我们直接拿到的是一个p7b,不知道distribution-certificate参数;可以参考场景二的第一步查看;

场景二:生成厂商私有签名和修改运行系统中的配置文件,使私有签名签出的应用可以正常在系统中安装和使用。

参考OpenHarmony应用签名 - 厂商私有签名的配置和使用

  1. 使用hap-sign-tool.jar查看原权限管理应用p7b签名文件信息对应的Profile签名证书信息。
java -jar hap-sign-tool.jar verify-profile -inFile 你的应用.p7b -outFil
e  你的应用.json
  • 1.
  • 2.

OpenHarmony应用签名-手动签名相关探索-鸿蒙开发者社区 2,将bundle-name、apl、app-feature和allowed-acls字段分别复制到UnsgnedReleasedProfileTemplate.json文件中。 3. 替换distribution-certificate为私有签名OpenHarmony-Tizi-app-cert.pem文件中第一部分的密钥。把回车转换为\n字符,替换UnsgnedReleasedProfileTemplate.json文件的distribution-certificate字段

{
    "version-name": "2.0.0",
    "version-code": 2,
    "app-distribution-type": "os_integration",
    "uuid": "5027b99e-5f9e-465d-9508-a9e0134ffe18",
    "validity": {
        "not-before": 1594865258,
        "not-after": 1689473258
    },
    "type": "release",
    "bundle-info": {
        "developer-id": "OpenHarmony",
        "distribution-certificate": "-----BEGIN CERTIFICATE-----\nMIICazCCAhGgAwIBAgIFAPERF2IwCgYIKoZIzj0EAwIwgYIxCzAJBgNVBAYTAkNO\nMR8wHQYDVQQKDBZPcGVuSGFybW9ueS1UaXppLXN1YkNBMSkwJwYDVQQLDCBPcGVu\nSGFybW9ueS1UaXppLXN1YkNBIENvbW11bml0eTEnMCUGA1UEAwweT3Blbkhhcm1v\nbnkgQXBwbGljYXRpb24gU3ViIENBMB4XDTIzMDUyMTE0MDU0M1oXDTI0MDUyMDE0\nMDU0M1owgYkxCzAJBgNVBAYTAkNOMSIwIAYDVQQKDBlPcGVuSGFybW9ueS1UaXpp\nLWFwcC1jZXJ0MSwwKgYDVQQLDCNPcGVuSGFybW9ueS1UaXppLWFwcC1jZXJ0IENv\nbW11bml0eTEoMCYGA1UEAwwfT3Blbkhhcm1vbnkgQXBwbGljYXRpb24gUmVsZWFz\nZTBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABN0OL1RqzWXQWCXpT0tt54aFR0Ul\n7pqZYBJaCKT049xUYcfwCHLd0q0IzktNo9nqKIjE5BxOk76w7kHhxwowI2qjazBp\nMB0GA1UdDgQWBBQAW6LlxgLrPko7kHS/jbcsqnh4WTAJBgNVHRMEAjAAMA4GA1Ud\nDwEB/wQEAwIHgDATBgNVHSUEDDAKBggrBgEFBQcDAzAYBgwrBgEEAY9bAoJ4AQME\nCDAGAgEBCgEAMAoGCCqGSM49BAMCA0gAMEUCIQDHIWx4AELONvCoKaQnHQAW0bay\ngjR168gmlnGfnFGowAIgfMV5/nIvmRAbpapqO3a2pBKeHFfeU5zel/T1Bgty198=\n-----END CERTIFICATE-----\n",
        "bundle-name": "com.ohos.permissionmanager",
        "apl": "normal",
        "app-feature": "hos_system_app"
    },
    "acls": {
        "allowed-acls": [
            "ohos.permission.GET_SENSITIVE_PERMISSIONS",
            "ohos.permission.GRANT_SENSITIVE_PERMISSIONS",
            "ohos.permission.REVOKE_SENSITIVE_PERMISSIONS",
            "ohos.permission.PERMISSION_USED_STATS",
            "ohos.permission.GET_BUNDLE_INFO_PRIVILEGED",
            "ohos.permission.GET_BUNDLE_INFO",
            "ohos.permission.MANAGE_AUDIO_CONFIG",
            "ohos.permission.MANAGE_CAMERA_CONFIG"
        ]
    },
    "permissions": {
        "restricted-permissions": []
    },
    "issuer": "pki_internal",
    "app-privilege-capabilities": [
        "AllowAppDesktopIconHide",
        "AllowAbilityExcludeFromMissions",
        "AllowAppUsePrivilegeExtension"
    ]
}
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.
  • 22.
  • 23.
  • 24.
  • 25.
  • 26.
  • 27.
  • 28.
  • 29.
  • 30.
  • 31.
  • 32.
  • 33.
  • 34.
  • 35.
  • 36.
  • 37.
  • 38.
  • 39.

4,ProvisionProfile文件签名,生成权限管理应用的p7b文件。 (具体参数请替换对应你自己的文件,不要硬拷贝)

java -jar hap-sign-tool.jar sign-profile -keyAlias “OpenHarmony-Tizi-profileCA” -signAlg “SHA256withECDSA” -mode “localSign” -profileCertFile “OpenHarmony-Tizi-profile-cert-release.pem” -inFile “UnsgnedReleasedProfileTemplate.json” -keystoreFile “OpenHarmony-Tizi.p12” -outFile “pm.p7b” -keyPwd “Pwd-Tizi-5” -keystorePwd “Pwd-Tizi-2”

5,将生成的.p7b文件替换源码中原p7b文件。

(责任编辑:阿里技术)
织梦二维码生成器
顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
用户名: 验证码:点击我更换图片
栏目列表
推荐内容