HarmonyOS 设备完整性检测checkSysIntegrity不需要对结果进行判断么?

https://developer.huawei.com/consumer/cn/codelabsPortal/carddetails/tutorials\_NEXT-DeviceSecurityKit-SafetyDetect

// 请求设备完整性检测,并处理结果
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);
}

请求的里面携带了nonce值imEe1PCRcjGkBCAhOCh6ImADztOZ8ygxlWRs,返回结果data.result里面也有nonce值,nonce值是防止重放攻击的,这个返回的data.result携带的nonce值不需要之前设置的nonce(imEe1PCRcjGkBCAhOCh6ImADztOZ8ygxlWRs)进行一致性判断么?

阅读 682
1 个回答

从服务器生成的随机的nonce值,在检测结果中会包含这个nonce值,可以通过校验这个nonce值来确定返回结果能够对应的请求,并且没有被重放攻击。

参考文档:系统完整性检测

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进