第三方应用怎么获取应用签名证书的hash值

第三方应用怎么获取应用签名证书的hash值

HarmonyOS
2024-01-30 18:57:48
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
onedolph

三方应用可以通过bundleManager.getBundleInfoForSelf()获取自身的应用包信息,其中入参bundleFlags指定所返回的BundleInfo中所包含的信息。

参考代码如下:

import bundleManager from '@ohos.bundle.bundleManager'; 
import { BusinessError } from '@ohos.base'; 
import hilog from '@ohos.hilog'; 
let bundleFlags = bundleManager.BundleFlag.GET_BUNDLE_INFO_DEFAULT; 
try { 
    bundleManager.getBundleInfoForSelf(bundleFlags).then((data) => { 
        hilog.info(0x0000, 'testTag', 'getBundleInfoForSelf successfully. Data: %{public}s', JSON.stringify(data)); 
    //data里可以获取到signatureInfo,即应用的签名证书信息 
    }).catch((err: BusinessError) => { 
        hilog.error(0x0000, 'testTag', 'getBundleInfoForSelf failed. Cause: %{public}s', err.message); 
    }); 
} catch (err) { 
    let message = (err as BusinessError).message; 
    hilog.error(0x0000, 'testTag', 'getBundleInfoForSelf failed: %{public}s', message); 
}

signatureInfo.fingerprint是应用签名证书(.cer文件)的SHA256 hash值:

对于hash值,可使用加解密框架的hash算法,目前支持SHA1、SHA224、SHA256、SHA384、SHA512、MD5,参考代码如下:

let filePath = pathDir + "/test.txt"; 
Hash.hash(filePath, "sha256").then((str: string) => { 
  console.info("calculate file hash succeed:" + str); 
}).catch((err: BusinessError) => { 
  console.info("calculate file hash failed with error message: " + err.message + ", error code: " + err.code); 
});

参考链接

Hash.hash

分享
微博
QQ
微信
回复
2024-01-31 23:13:56
相关问题
如何获取应用签名证书hash
1710浏览 • 1回复 待解决
HarmonyOS 第三方应用安装和卸载广播
285浏览 • 0回复 待解决
第三方应用如何拿到蓝牙mac地址
312浏览 • 1回复 待解决
第三方怎么装鸿蒙系统?
2201浏览 • 1回复 待解决
OHPM包管理怎么安装第三方
4314浏览 • 1回复 待解决
开发第三方SDK如何编译?
13391浏览 • 2回复 待解决
如何引入自己第三方”库
396浏览 • 1回复 待解决
HarmonyOS如何移植第三方MCU?
9040浏览 • 1回复 待解决
图片剪切第三方框架
47浏览 • 1回复 待解决
是否支持使用第三方webview内核
928浏览 • 1回复 待解决
HarmonyOS支持第三方列表
1251浏览 • 1回复 待解决
Text控件使用第三方文档
677浏览 • 1回复 待解决
HarmonyOS第三方sdk bugly平替方案
294浏览 • 1回复 待解决
第三方js库迁移有懂吗?
2256浏览 • 1回复 待解决
通过ohpm install 第三方npm包,报错
1178浏览 • 1回复 待解决
ArkTS不支持使用第三方js库?
3991浏览 • 1回复 待解决
三方应用如何获取蓝牙mac地址
2103浏览 • 1回复 待解决
鸿蒙有哪些支持第三方UI框架吗?
3437浏览 • 1回复 待解决
react-native 第三方库使用npm更新
1222浏览 • 1回复 待解决
三方应用如何获取http代理信息
1636浏览 • 1回复 待解决