概述
文档环境
开发环境:Windows 11
DevEco Studio 版本:DevEco Studio 3.1 Beta1(3.1.0.200)
SDK 版本:3.2.10.7(OpenHarmony 3.2 Beta5 Full SDK)
应用模型:Stage
开发板型号:DAYU 200
系统版本:OpenHarmony 3.2 Beta5
示例工程:ServiceExtAbility的创建与使用(OpenHarmony 3.2 Beta5分支)
功能简介
证书指纹用于配置应用权限预授权文件(install_list_permissions.json)和应用特权配置文件(install_list_capability.json)。
如何获取证书指纹
方式一:通过签名配置获取
证书存放在 HarmonyAppProvision 文件的distribution-certificate 字段下,新建 profile.cer 文件,将证书的内容拷贝到 profile.cer 文件中。
自动签名使用的 HarmonyAppProvision 文件为 SDK目录 > {Version} > toolchains > lib > UnsgnedReleasedProfileTemplate.json 文件。
![](https://img-blog.csdnimg.cn/img_convert/ca5a321b2f6d70e27f62db465d1055f0.png)
将profile.cer 内容换行和去掉换行符。
![](https://img-blog.csdnimg.cn/img_convert/4a00ed01f81d2d655e0a73b5a7d8958b.png)
使用keytool 工具执行 "keytool -printcert -file profile.cer" 打印对应的证书指纹。
若提示以下信息,则未安装 Java环境 或 keytool工具 未加入环境变量中。可安装后再次尝试,或使用完整路径使用工具。
![](https://img-blog.csdnimg.cn/img_convert/a4013f7c819aa19fe061e93490f5a499.png)
打印指纹信息:
![](https://img-blog.csdnimg.cn/img_convert/77169781cb07b7c1eac150bca9716721.png)
处理证书指纹,使用SHA256证书信息,去掉冒号,最终结果为:
7AA667BC46B8B1EAAA36EEFC2E7FED47BD49A68C7C07A36F29191769FCF36AD0
方式二:通过安装HAP包获取
在 DevEco Studio 中打开 Log 界面,选择 HiLog 过滤 "finger" 字符。
![](https://img-blog.csdnimg.cn/img_convert/68db624ad75eb74ce92bd3c9df7eaa48.png)
进入系统 Shell命令行 ,设置 Hilog 等级。
hilog -b D
![](https://img-blog.csdnimg.cn/img_convert/0e745a131380924bfae6294169f27fb7.png)
单击 Run > Run '{模块名称}' 运行工程中任意HAP包。在运行时会进行HAP包的安装,此时有可能安装不成功报错,是因为我们应用未正确配置导致,但此时我们目的为获取指纹信息,忽略错误。
以ServiceExtAbility工程为例:
![](https://img-blog.csdnimg.cn/img_convert/071ee3bfb9c6bc65cbe4038e16c53ed9.png)
忽略错误信息
![](https://img-blog.csdnimg.cn/img_convert/fa0bbc81a44f33266f1a99c4cbeb094f.png)
查看 DevEco Studio 的 Log 界面,指纹信息已经被打印出来。
![](https://img-blog.csdnimg.cn/img_convert/ee48c89da282026069bc2f1c2941517a.png)
7AA667BC46B8B1EAAA36EEFC2E7FED47BD49A68C7C07A36F29191769FCF36AD0
方式三:通过新建空模块获取
在工程中创建新 Module, File > New > Module > Empty Ability。一直点击 Next 直到创建成功。
![](https://img-blog.csdnimg.cn/img_convert/3bf2de0cad7ffaa1187216152a476c1f.png)
执行 Run > Run 'application',将新创建的 Module 的HAP包被安装到系统中。
以ServiceExtAbility工程为例:
![](https://img-blog.csdnimg.cn/img_convert/8a61178fb78edb14fe6846307d6b4fc8.png)
执行hdc shell "bm dump -n {工程包名} | grep finger" 命令打印出HAP的finger 信息,然后删除新创建的Module ,恢复工程。
以ServiceExtAbility工程为例:
hdc shell "bm dump -n ohos.samples.eTSServiceExtAbility | grep finger"
![](https://img-blog.csdnimg.cn/img_convert/d5f013c92b35375a9c4d961502d25f7b.png)
7AA667BC46B8B1EAAA36EEFC2E7FED47BD49A68C7C07A36F29191769FCF36AD0