1#
2# Copyright (c) 2023-2023 Huawei Device Co., Ltd.
3# Licensed under the Apache License, Version 2.0 (the "License");
4# you may not use this file except in compliance with the License.
5# You may obtain a copy of the License at
6#
7#     http://www.apache.org/licenses/LICENSE-2.0
8#
9# Unless required by applicable law or agreed to in writing, software
10# distributed under the License is distributed on an "AS IS" BASIS,
11# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12# See the License for the specific language governing permissions and
13# limitations under the License.
14#
15
16import("//base/security/huks/build/config.gni")
17import("//base/security/huks/huks.gni")
18import("//build/ohos.gni")
19
20config("public_huks_config") {
21  include_dirs = [
22    ".",
23    "../../../services/huks_standard/huks_service/main/core/include",
24  ]
25}
26
27ohos_static_library("huks_modify_old_version_key_util") {
28  sources = []
29
30  sources += [ "./hks_test_modify_old_key.c" ]
31
32  subsystem_name = "security"
33  part_name = "huks"
34
35  include_dirs = [
36    "../../../interfaces/inner_api/huks_standard/main/include",
37    "../../../frameworks/huks_standard/main/common/include",
38    "../../../services/huks_standard/huks_service/main/core/include",
39  ]
40
41  include_dirs += [ "." ]
42
43  public_configs = [ ":public_huks_config" ]
44
45  deps = []
46
47  cflags = [
48    "-Wall",
49    "-Werror",
50  ]
51
52  sources += [
53    "../../../services/huks_standard/huks_engine/main/core/src/hks_auth.c",
54    "../../../services/huks_standard/huks_engine/main/core/src/hks_core_interfaces.c",
55    "../../../services/huks_standard/huks_engine/main/core/src/hks_core_service_key_attest.c",
56    "../../../services/huks_standard/huks_engine/main/core/src/hks_core_service_key_chipset_platform_derive.c",
57    "../../../services/huks_standard/huks_engine/main/core/src/hks_core_service_key_generate.c",
58    "../../../services/huks_standard/huks_engine/main/core/src/hks_core_service_key_operate_one_stage.c",
59    "../../../services/huks_standard/huks_engine/main/core/src/hks_core_service_key_operate_three_stage.c",
60    "../../../services/huks_standard/huks_engine/main/core/src/hks_core_service_key_other.c",
61    "../../../services/huks_standard/huks_engine/main/core/src/hks_core_service_three_stage.c",
62    "../../../services/huks_standard/huks_engine/main/core/src/hks_keyblob.c",
63    "../../../services/huks_standard/huks_engine/main/core/src/hks_keynode.c",
64    "../../../services/huks_standard/huks_engine/main/core/src/hks_secure_access.c",
65    "../../../services/huks_standard/huks_engine/main/core/src/hks_sm_import_wrap_key.c",
66    "../../../services/huks_standard/huks_engine/main/core/src/hks_upgrade_key.c",
67  ]
68
69  if (os_level == "standard") {
70    external_deps = [ "hilog:libhilog" ]
71    deps += [
72      "../../../frameworks/huks_standard/main:huks_standard_frameworks",
73      "../../../services/huks_standard/huks_engine/main/core_dependency:libhuks_core_hal_api_static",
74      "../../../services/huks_standard/huks_service/main:libhuks_service_standard_static",
75      "../../../utils/crypto_adapter:libhuks_utils_client_service_adapter_static",
76      "../../../utils/file_operator:libhuks_utils_file_operator_static",
77      "../../../utils/list:libhuks_utils_list_static",
78      "../../../utils/mutex:libhuks_utils_mutex_static",
79    ]
80
81    if (enable_hks_mock) {
82      deps += [ "../../../services/huks_standard/huks_service/main/systemapi_mock:libhuks_service_systemapi_mock_static" ]
83    } else {
84      deps += [ "../../../services/huks_standard/huks_service/main/systemapi_wrap/useridm:libhuks_service_systemapi_wrap_static" ]
85    }
86
87    sources += [
88      "../../../services/huks_standard/huks_engine/main/core/src/hks_chipset_platform_decrypt.c",
89      "../../../services/huks_standard/huks_engine/main/device_cert_manager/src/dcm_asn1.c",
90      "../../../services/huks_standard/huks_engine/main/device_cert_manager/src/dcm_attest.c",
91      "../../../services/huks_standard/huks_engine/main/device_cert_manager/src/dcm_attest_utils.c",
92    ]
93
94    cflags += [ "-D_HARDWARE_ROOT_KEY_" ]
95  } else {
96    deps += [
97      "../../../frameworks/huks_standard/main:huks_small_frameworks",
98      "../../../services/huks_standard/huks_service/main:libhuks_service_small_static",
99      "../../../utils/crypto_adapter:libhuks_utils_client_service_adapter_static",
100      "../../../utils/file_operator:libhuks_utils_file_operator_static",
101      "../../../utils/list:libhuks_utils_list_static",
102      "../../../utils/mutex:libhuks_utils_mutex_static",
103    ]
104    external_deps = [ "hilog_lite:hilog_shared" ]
105
106    if (huks_use_hardware_root_key == true) {
107      cflags += [ "-D_HARDWARE_ROOT_KEY_" ]
108    }
109  }
110
111  include_dirs += [
112    "../../../services/huks_standard/huks_engine/main/core/include",
113    "../../../services/huks_standard/huks_engine/main/device_cert_manager/include",
114    "../../../utils/crypto_adapter",
115    "../../../utils/file_operator",
116    "../../../utils/list",
117    "../../../utils/mutex",
118  ]
119
120  defines = []
121
122  if (huks_use_mbedtls) {
123    defines += [ "HKS_USE_MBEDTLS" ]
124  }
125
126  cflags += [ "-DHKS_KEY_VERSION=1" ]
127
128  cflags += [ "-flto" ]
129
130  cflags += [ "-D_BSD_SOURCE" ]
131  cflags += [ "-D_HUKS_LOG_ENABLE_" ]
132  cflags += [ "-DGET_DEV_UDID_ENABLE" ]
133
134  if (huks_config_file != "") {
135    print(huks_config_file)
136    cflags += [ "-DHKS_CONFIG_FILE=\"${huks_config_file}\"" ]
137  }
138}
139