OpenHarmony如何获取app_signature证书指纹

发布于:2025-06-25 ⋅ 阅读:(15) ⋅ 点赞:(0)


概述

环境

开发环境:Mac M1
SDK版本:4.1.10.2(Full SDK) Version 11
应用模型:Stage
开发板型号:RK3568集成板
应用版本:OpenHarmony 4.1 Release

功能简介

证书指纹用于配置应用权限预授权文件(install_list_permissions.json)和应用特权配置文件(install_list_capability.json)。


推荐使用方式三

方式一:通过签名配置获取(需要已安装java环境)

  1. 证书存放在HarmonyAppProvision 文件的distribution-certificate 字段下,新建profile.cer 文件,将证书的内容拷贝到profile.cer 文件中。

自动签名使用的 HarmonyAppProvision 文件为 SDK目录 > {Version} > toolchains > lib > UnsgnedReleasedProfileTemplate.json 文件。

在这里插入图片描述

  1. 将profile.cer 内容中的 \n 删除
    在这里插入图片描述

  2. 使用keytool 工具执行 “keytool -printcert -file profile.cer” 打印对应的证书指纹。

  3. 处理证书指纹,使用SHA256证书信息,去掉冒号

方式二:通过安装HAP包获取

  1. 在DevEco Studio 中打开Log 界面,选择HiLog 过滤 “finger” 字符。

在这里插入图片描述

  1. 进入系统Shell命令行 ,设置Hilog 等级。
hilog -b D
  1. 单击Run > Run ‘{模块名称}’ 运行工程中任意HAP包。在运行时会进行HAP包的安装,此时有可能安装不成功报错,是因为我们应用未正确配置导致,但此时我们目的为获取指纹信息,忽略错误。

  2. 查看DevEco Studio 的Log 界面,指纹信息已经被打印出来。

方式三:通过新建空模块获取

  1. 在工程中创建新Module,File > New > Module > Empty Ability。一直点击Next 直到创建成功。

  2. 执行Run > Run ‘application’,将新创建的Module 的HAP包被安装到系统中

  3. 执行hdc shell “bm dump -n {工程包名} | grep finger” 命令打印出HAP的finger 信息,然后删除新创建的Module ,恢复工程。

需要注意的是:使用方式三如果安装不成功,可以先注释掉ServiceExtensionAbility代码。如下图
在这里插入图片描述


网站公告

今日签到

点亮在社区的每一天
去签到