装备安全服务-应用装备状态检测
先容
本示例向您先容如何在应用中获取DeviceToken用于对应用的装备状态举行检测。
需要使用装备安全服务接口 @kit.DeviceSecurityKit。
结果预览
Sample工程的配置与使用
在DevEco中配置Sample工程的步骤如下
- [创建项目]及[应用]。
- 打开Sample应用,使用[AppGallery Connect]配置的应用包名替换app.json5文件中的bundleName属性值。
- 使用[AppGallery Connect]配置的应用Client ID替换module.json5文件中的client_id属性值。
- 生成SHA256应用署名证书指纹并添加到[AppGallery Connect]对应的应用配置中,证书指纹生成请参考应用开发准备中的[添加公钥指纹]章节。
- 在开通安全检测服务,具体Device Security Kit开发指南。
Sample工程使用说明
- 运行该 Sample 应用前,先对装备举行联网。
- 运行该 Sample 应用,点击"CheckSysIntegrity"按钮获取体系完备性检测结果,点击"CheckUrlThreat"按钮获取URL检测结果,假如获取成功,页面会体现检测结果,假如获取失败,页面会体现相应的错误码。
具体实现
本示例展示体系完备性检测,URL检测的功能在页面中直接调用,使用safetyDetect.checkSysIntegrity()方法获取当前装备的体系完备性检测结果,使用safetyDetect.checkUrlThreat()方法获取URL检测结果。
源码参考SafetyDetectModel.ts
- import { hilog } from '@kit.PerformanceAnalysisKit';
- import { safetyDetect } from '@kit.DeviceSecurityKit';
- import { BusinessError} from '@kit.BasicServicesKit';
- const TAG: string = '[SafetyDetectModel]';
- function checkSysIntegrityPromise(): Promise<String> {
- return new Promise(async (resolve, reject) => {
- let strLen: number = 16;
- let srcStr: string = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefhijklmnopqrstuvwxyz0123456789";
- let randomStr: string = "";
- for (let i = 0; i < strLen; i++) {
- randomStr += srcStr.charAt(Math.floor(Math.random() * srcStr.length));
- }
- let sysIntegrityRequest: safetyDetect.SysIntegrityRequest = {
- nonce: randomStr
- }
- try {
- hilog.info(0x0000, TAG, 'CheckSysIntegrity begin.');
- let sysIntegrityResponse: safetyDetect.SysIntegrityResponse =
- await safetyDetect.checkSysIntegrity(sysIntegrityRequest);
- let result: string = sysIntegrityResponse.result;
- resolve(result);
- hilog.info(0x0000, TAG, 'Succeeded in checkSysIntegrity: %{public}s', result);
- }
- catch (err) {
- hilog.error(0x0000, TAG, 'CheckSysIntegrity failed: %{public}d %{public}s', err.code, err.message);
- reject(err);
- }
- });
- }
- function checkUrlThreatPromise(): Promise<String> {
- return new Promise(async (resolve, reject) => {
- let urlCheckRequest: safetyDetect.UrlCheckRequest = {
- urls: ['https://an.example.test','https://www.huawei.com']
- }
- try {
- hilog.info(0x0000, TAG, 'CheckUrlThreat begin.');
- let urlCheckResponse: safetyDetect.UrlCheckResponse = await safetyDetect.checkUrlThreat(urlCheckRequest);
- let results: safetyDetect.UrlCheckResult[] = urlCheckResponse.results;
- let resultStr: string = "";
- for (let result of results) {
- let url: string = result.url;
- let threat: safetyDetect.UrlThreatType = result.threat;
- resultStr = resultStr + "url: " + url + " threat: " + threat + "\n";
- }
- resolve(resultStr);
- hilog.info(0x0000, TAG, 'Succeeded in checkUrlThreat: %{public}s', resultStr);
- }
- catch (err) {
- hilog.error(0x0000, TAG, 'CheckUrlThreat failed: %{public}d %{public}s', err.code, err.message);
- reject(err);
- }
- });
- }
- export class SafetyDetectModel {
- private dispalyText: String = '';
- async checkSysIntegrity(callback: Function) {
- this.dispalyText = '';
- await checkSysIntegrityPromise().then((token) => {
- this.dispalyText = token;
- callback(this.dispalyText);
- }).catch((err: BusinessError) => {
- this.dispalyText = 'check SysIntegrity failed, errCode is ' + err.code;
- callback(this.dispalyText);
- });
- }
- async checkUrlThreat(callback: Function) {
- this.dispalyText = '';
- await checkUrlThreatPromise().then((token) => {
- this.dispalyText = token;
- callback(this.dispalyText);
- }).catch((err: BusinessError) => {
- this.dispalyText = 'check UrlThreat failed, errCode is ' + err.code;
- callback(this.dispalyText);
- });
- }
- }
- let safetyDetectModel = new SafetyDetectModel();
- export default safetyDetectModel as SafetyDetectModel;
复制代码 以上就是本篇文章所带来的鸿蒙开发中一小部门技能讲解;想要学习完备的鸿蒙全栈技能。可以在末端找我可全部拿到!
下面是鸿蒙的完备学习路线,展示如下:
除此之外,根据这个学习鸿蒙全栈学习路线,也附带一整套完备的学习【文档+视频】,内容包含如下:
内容包含了:(ArkTS、ArkUI、Stage模型、多端摆设、分布式应用开发、音频、视频、WebGL、OpenHarmony多媒体技能、Napi组件、OpenHarmony内核、鸿蒙南向开发、鸿蒙项目实战)等技能知识点。帮助各人在学习鸿蒙路上快速成长!
鸿蒙【北向应用开发+南向体系层开发】文档
鸿蒙【基础+实战项目】视频
鸿蒙面经
为了制止各人在学习过程中产生更多的时间本钱,对比我把以上内容全部放在了↓↓↓想要的可以自拿喔!谢谢各人观看!
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。 |