From c97701a346e1747c2c1ebc77c9cb58800511b72d Mon Sep 17 00:00:00 2001 From: wanghaixiang Date: Fri, 13 Aug 2021 17:29:03 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9UDID=E6=8E=A5=E5=8F=A3?= =?UTF-8?q?=E8=8E=B7=E5=8F=96=E6=96=B9=E5=BC=8F=EF=BC=9A=E4=BB=8Esyspara?= =?UTF-8?q?=5Flite=E8=8E=B7=E5=8F=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: wanghaixiang --- .../os_dependency/sysinfo/src/hks_get_udid.c | 36 ++++++++----------- interfaces/innerkits/huks_lite/BUILD.gn | 10 +++--- 2 files changed, 20 insertions(+), 26 deletions(-) diff --git a/frameworks/huks_standard/main/os_dependency/sysinfo/src/hks_get_udid.c b/frameworks/huks_standard/main/os_dependency/sysinfo/src/hks_get_udid.c index 61b2e1663..a38bd38fa 100644 --- a/frameworks/huks_standard/main/os_dependency/sysinfo/src/hks_get_udid.c +++ b/frameworks/huks_standard/main/os_dependency/sysinfo/src/hks_get_udid.c @@ -25,24 +25,15 @@ #ifndef _CUT_AUTHENTICATE_ #ifdef GET_DEV_UDID_ENABLE -#include "pms_interface_inner.h" +#include "hks_crypto_hal.h" +#include "parameter.h" #define HKS_HARDWARE_UDID_STRING_LEN (HKS_HARDWARE_UDID_LEN * 2 + 1) -static uint8_t CharToHex(char data) +static int32_t ComputeHash(const char *data, uint32_t len, struct HksBlob *hash) { - if (data >= 'a' && data <= 'f') { - return ((uint8_t)(data - 'a') + 10); // ASCII hex(16) to decimal(10) - } else if (data >= 'A' && data <= 'F') { - return ((uint8_t)(data - 'A') + 10); // ASCII hex(16) to decimal(10) - } else { - return (uint8_t)(data - '0'); - } -} - -static uint8_t StringToHex(char high, char low) -{ - return (CharToHex(high) << 0x4) | CharToHex(low); // ASCII hex to hex + struct HksBlob srcData = { len, (uint8_t *)data }; + return HksCryptoHalHash(HKS_DIGEST_SHA256, &srcData, hash); } #endif @@ -50,18 +41,19 @@ static uint8_t StringToHex(char high, char low) int32_t HksGetHardwareUdid(uint8_t *udid, uint32_t udidLen) { #ifdef GET_DEV_UDID_ENABLE - int ret; char devUdidString[HKS_HARDWARE_UDID_STRING_LEN] = { 0 }; - uint8_t devUdid[HKS_HARDWARE_UDID_LEN] = { 0 }; - - ret = RequestDevUdid((unsigned char*)devUdidString, sizeof(devUdidString)); - if (ret != EOK) { - HKS_LOG_E("Get dev udid error!"); + int32_t ret = GetDevUdid(devUdidString, sizeof(devUdidString)); + if (ret != 0) { + HKS_LOG_E("Get dev udid error, ret = 0x%x", ret); return HKS_ERROR_NO_PERMISSION; } - for (uint32_t i = 0; i < HKS_HARDWARE_UDID_LEN; i++) { - devUdid[i] = StringToHex(devUdidString[i * 2], devUdidString[i * 2 + 1]); // 2 : two characters + uint8_t devUdid[HKS_HARDWARE_UDID_LEN] = { 0 }; + struct HksBlob hashData = { HKS_HARDWARE_UDID_LEN, devUdid }; + ret = ComputeHash(devUdidString, sizeof(devUdidString), &hashData); + if (ret != HKS_SUCCESS) { + HKS_LOG_E("compute udid hash failed"); + return ret; } #else /* simulation implementation */ diff --git a/interfaces/innerkits/huks_lite/BUILD.gn b/interfaces/innerkits/huks_lite/BUILD.gn index 922d6cb52..229833609 100755 --- a/interfaces/innerkits/huks_lite/BUILD.gn +++ b/interfaces/innerkits/huks_lite/BUILD.gn @@ -148,7 +148,7 @@ config("public_huks_config") { config("get_dev_udid_config") { cflags = [ "-DGET_DEV_UDID_ENABLE" ] include_dirs = [ - "//base/security/permission/interfaces/innerkits/permission_lite/", + "//base/startup/syspara_lite/interfaces/kits", ] } @@ -194,20 +194,22 @@ if (ohos_kernel_type == "liteos_m") { sources += huks_access_sources sources += [ "../../../frameworks/huks_standard/main/os_dependency/log/hks_log_lite.c" ] - deps = [ "//base/security/permission/services/permission_lite/pms_client:pms_client" ] + deps = [ "//base/startup/syspara_lite/frameworks/parameter/src:sysparam" ] if (huks_use_mbedtls == true) { sources += huks_mbedtls_engine_sources deps += [ "//build/lite/config/component/openssl:openssl_shared", - "//third_party/bounds_checking_function:libsec_shared", "//third_party/mbedtls:mbedtls_shared", ] configs += [ ":mbedtls_engine" ] } configs += [ ":hilog_dir" ] - deps += [ "//base/hiviewdfx/hilog_lite/frameworks/featured:hilog_shared" ] + deps += [ + "//base/hiviewdfx/hilog_lite/frameworks/featured:hilog_shared", + "//third_party/bounds_checking_function:libsec_shared", + ] } #if (ohos_build_type == "debug") { # group("huks_new_test") { -- Gitee