鸿蒙API14开发【SafetyDetect(安全检测)】设备证书服务

  • 判断设备环境是否安全,比如是否被越狱、被模拟等,您可基于结果评估如何响应。
  • 判断用户访问的URL是否为恶意网址,对于恶意网址,由您评估提示或拦截用户的访问风险。

起始版本: 5.0.0(12)

导入模块

import { safetyDetect } from '@kit.DeviceSecurityKit';

SysIntegrityRequest

系统完整性检测的请求参数。

元服务API: 从版本5.0.2(14)开始,该接口支持在元服务中使用。

系统能力: SystemCapability.Security.SafetyDetect

起始版本: 5.0.0(12)

名称类型只读可选说明
noncestring开发者应用传入的一个随机生成的nonce值,用于防重放攻击,在检测结果中会包含该值。

SysIntegrityResponse

系统完整性检测返回值。

元服务API: 从版本5.0.2(14)开始,该接口支持在元服务中使用。

系统能力: SystemCapability.Security.SafetyDetect

起始版本: 5.0.0(12)

名称类型只读可选说明
resultstringJWS格式的系统完整性检测结果。

UrlCheckRequest

URL检测请求参数。

元服务API: 从版本5.0.2(14)开始,该接口支持在元服务中使用。

系统能力: SystemCapability.Security.SafetyDetect

起始版本: 5.0.0(12)

名称类型只读可选说明
urlsArray被检测的URL列表

UrlCheckResponse

URL检测返回值。

元服务API: 从版本5.0.2(14)开始,该接口支持在元服务中使用。

系统能力: SystemCapability.Security.SafetyDetect

起始版本: 5.0.0(12)

名称类型只读可选说明
resultsArray<[UrlCheckResult]>URL检测返回的检测结果

UrlCheckResult

URL检测结果详情。

元服务API: 从版本5.0.2(14)开始,该接口支持在元服务中使用。

系统能力: SystemCapability.Security.SafetyDetect

起始版本: 5.0.0(12)

名称类型只读可选说明
urlstring对应到输入参数中被检测的URL
threat[UrlThreatType]URL的威胁类型

UrlThreatType

枚举URL威胁类型。

元服务API: 从版本5.0.2(14)开始,该接口支持在元服务中使用。

系统能力: SystemCapability.Security.SafetyDetect

起始版本: 5.0.0(12)

名称说明
NORMAL0未发现威胁。
MALWARE1恶意类型的URL。
PHISHING2钓鱼类型的URL
OTHERS3其他威胁类型的URL

checkSysIntegrity

checkSysIntegrity(req: [SysIntegrityRequest]): Promise<[SysIntegrityResponse]>

获取本设备的系统完整性。使用Promise异步回调。

元服务API: 从版本5.0.2(14)开始,该接口支持在元服务中使用。

系统能力: SystemCapability.Security.SafetyDetect

起始版本: 5.0.0(12)

参数

参数名类型必填说明
req[SysIntegrityRequest]请求参数,包含nonce。nonce长度必须16至66字节之间,有效值为base64编码范围。

返回值:

类型说明
Promise<[SysIntegrityResponse]>Promise对象,返回系统完整性检测结果。
错误码ID错误信息
201Permission denied.
401Invalid parameters.Possible causes:1. Mandatory parameters are left unspecified.2. Incorrect parameter types.3. Parameter verification failed.
1010800001Internal error
1010800002The network is unreachable.
1010800003Access cloud server fail.

示例:

import { safetyDetect } from '@kit.DeviceSecurityKit';
import { BusinessError} from '@kit.BasicServicesKit';
import { hilog } from '@kit.PerformanceAnalysisKit';

const TAG = "SafetyDetectJsTest";

// 请求系统完整性检测,并处理结果
let req : safetyDetect.SysIntegrityRequest = {
  nonce : 'imEe1PCRcjGkBCAhOCh6ImADztOZ8ygxlWRs' // 从服务器生成的随机的nonce值
};
try {
  hilog.info(0x0000, TAG, 'CheckSysIntegrity begin.');
  const data: safetyDetect.SysIntegrityResponse = await safetyDetect.checkSysIntegrity(req);
  hilog.info(0x0000, TAG, 'Succeeded in checkSysIntegrity: %{public}s', data.result);
} catch (err) {
  let e: BusinessError = err as BusinessError;
  hilog.error(0x0000, TAG, 'CheckSysIntegrity failed: %{public}d %{public}s', e.code, e.message);
}


checkUrlThreat

checkUrlThreat(req: [UrlCheckRequest]): Promise<[UrlCheckResponse]>

检测URL是否为恶意网址。使用Promise异步回调。

元服务API: 从版本5.0.2(14)开始,该接口支持在元服务中使用。

系统能力: SystemCapability.Security.SafetyDetect

起始版本: 5.0.0(12)

参数

参数名类型必填说明
req[UrlCheckRequest]请求参数,包含被检测的URL列表。传入的URL数量最多10个并且每个URL长度不大于4096字节。

返回值:

类型说明
Promise<[UrlCheckResponse]>Promise对象,返回URL检测结果。
错误码ID错误信息
201Permission denied
401Invalid parameters.Possible causes:1. Mandatory parameters are left unspecified.2. Incorrect parameter types.3. Parameter verification failed.
1010800001Internal error
1010800002The network is unreachable.
1010800003Access cloud server fail.

示例:

import { safetyDetect } from '@kit.DeviceSecurityKit';
import { BusinessError} from '@kit.BasicServicesKit';
import { hilog } from '@kit.PerformanceAnalysisKit';

const TAG = "SafetyDetectJsTest";

// 请求URL检测,并处理结果
let req : safetyDetect.UrlCheckRequest = {
  urls : ['https://test1.com']
};
try {
  hilog.info(0x0000, TAG, 'CheckUrlThreat begin.');
  const data: safetyDetect.UrlCheckResponse = await safetyDetect.checkUrlThreat(req);
  hilog.info(0x0000, TAG, 'Succeeded in checkUrlThreat: %{public}s %{public}d', data.results[0].url, data.results[0].threat);
} catch (err) {
  let e: BusinessError = err as BusinessError;
  hilog.error(0x0000, TAG, 'CheckUrlThreat failed: %{public}d %{public}s', e.code, e.message);
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值