OpenHarmony应用开发技巧 - 如何获取证书指纹 原创 精华

TiZizzz
发布于 2023-3-6 09:59
浏览
7收藏

概述

文档环境

开发环境: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)。

如何获取证书指纹

方式一:通过签名配置获取

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

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

OpenHarmony应用开发技巧 - 如何获取证书指纹-鸿蒙开发者社区

  1. profile.cer 内容换行和去掉换行符。

OpenHarmony应用开发技巧 - 如何获取证书指纹-鸿蒙开发者社区

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

若提示以下信息,则未安装 Java环境 或 keytool工具 未加入环境变量中。可安装后再次尝试,或使用完整路径使用工具。

OpenHarmony应用开发技巧 - 如何获取证书指纹-鸿蒙开发者社区

打印指纹信息:

OpenHarmony应用开发技巧 - 如何获取证书指纹-鸿蒙开发者社区

  1. 处理证书指纹,使用SHA256证书信息,去掉冒号,最终结果为:

7AA667BC46B8B1EAAA36EEFC2E7FED47BD49A68C7C07A36F29191769FCF36AD0

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

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

OpenHarmony应用开发技巧 - 如何获取证书指纹-鸿蒙开发者社区

  1. 进入系统Shell命令行 ,设置Hilog 等级。

hilog -b D

OpenHarmony应用开发技巧 - 如何获取证书指纹-鸿蒙开发者社区

  1. 单击Run > Run '{模块名称}'  运行工程中任意HAP包。在运行时会进行HAP包的安装,此时有可能安装不成功报错,是因为我们应用未正确配置导致,但此时我们目的为获取指纹信息,忽略错误。

ServiceExtAbility工程为例:

OpenHarmony应用开发技巧 - 如何获取证书指纹-鸿蒙开发者社区

忽略错误信息

OpenHarmony应用开发技巧 - 如何获取证书指纹-鸿蒙开发者社区

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

OpenHarmony应用开发技巧 - 如何获取证书指纹-鸿蒙开发者社区

7AA667BC46B8B1EAAA36EEFC2E7FED47BD49A68C7C07A36F29191769FCF36AD0

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

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

OpenHarmony应用开发技巧 - 如何获取证书指纹-鸿蒙开发者社区

  1. 执行Run > Run 'application',将新创建的Module 的HAP包被安装到系统中。

ServiceExtAbility工程为例:

OpenHarmony应用开发技巧 - 如何获取证书指纹-鸿蒙开发者社区

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

ServiceExtAbility工程为例:

hdc shell "bm dump -n ohos.samples.eTSServiceExtAbility | grep finger"

OpenHarmony应用开发技巧 - 如何获取证书指纹-鸿蒙开发者社区

7AA667BC46B8B1EAAA36EEFC2E7FED47BD49A68C7C07A36F29191769FCF36AD0

参考文档

OpenHarmony Gitee Docs - 应用特权配置指南

©著作权归作者所有,如需转载,请注明出处,否则将追究法律责任
分类
已于2023-3-6 10:44:52修改
6
收藏 7
回复
举报
7条回复
按时间正序
/
按时间倒序
红叶亦知秋
红叶亦知秋

不了解这个证书还真没注意到有这么一类应用,不过现在厂商也都渐渐允许用户能删除所有应用了

回复
2023-3-6 10:39:36
0aaron
0aaron

这个一般开发者应该用不到,主要是面向做手机的厂商吧

回复
2023-3-6 18:48:04
TiZizzz
TiZizzz 回复了 0aaron
这个一般开发者应该用不到,主要是面向做手机的厂商吧

现在OpenHarmony还处于早起的发展当中,大部分的厂商和开发者现在做的应用是系统级应用,系统应用基本上是绕不开Service的。还有一部分OpenHarmony发烧友想尝试一些新鲜的功能的,也是需要的。

1
回复
2023-3-7 09:59:41
红叶亦知秋
红叶亦知秋

开发者能做系统级应用的机会还是很难得的

回复
2023-3-7 17:28:59
TiZizzz
TiZizzz 回复了 红叶亦知秋
开发者能做系统级应用的机会还是很难得的

现阶段的开发者基本还都是华为和系统、芯片厂商级别的,希望软件开发商也能尽早的加入进来,共同来支持OpenHarmony的发展。

1
回复
2023-3-8 09:39:37
带带小老弟
带带小老弟

鸿蒙出了这么久感觉还是没出一个爆款应用。

回复
2023-3-9 11:06:23
liurick
liurick

开源能接触的层面还是不一样


回复
2023-3-10 17:12:47
回复
    相关推荐