blob: 68dde3d39a817c43ce3ac1bb980b3101caa0cf23 [file] [log] [blame]
Jeff Sharkeyc493cf92017-10-23 10:39:50 -06001cc_defaults {
2 name: "keystore_defaults",
3
4 cflags: [
5 "-Wall",
6 "-Werror",
7 "-Wextra",
8 "-Wunused",
9 ],
10
11 sanitize: {
12 misc_undefined: ["integer"],
13 },
14
15 clang: true,
16}
17
18cc_binary {
19 name: "keystore",
20 defaults: ["keystore_defaults"],
21
22 srcs: [
23 ":IKeyAttestationApplicationIdProvider.aidl",
Shawn Willdenfa5702f2017-12-03 15:14:58 -070024 "KeyStore.cpp",
Jeff Sharkeyc493cf92017-10-23 10:39:50 -060025 "auth_token_table.cpp",
26 "blob.cpp",
David Zeuthenc6eb7cd2017-11-27 11:33:55 -050027 "confirmation_manager.cpp",
Jeff Sharkeyc493cf92017-10-23 10:39:50 -060028 "entropy.cpp",
29 "grant_store.cpp",
30 "key_store_service.cpp",
31 "keyblob_utils.cpp",
32 "keymaster_enforcement.cpp",
Jeff Sharkeyc493cf92017-10-23 10:39:50 -060033 "keystore_attestation_id.cpp",
34 "keystore_main.cpp",
35 "keystore_utils.cpp",
36 "legacy_keymaster_device_wrapper.cpp",
37 "operation.cpp",
38 "permissions.cpp",
39 "user_state.cpp",
40 ],
41 shared_libs: [
David Zeuthenc6eb7cd2017-11-27 11:33:55 -050042 "android.hardware.confirmationui@1.0",
Jeff Sharkeyc493cf92017-10-23 10:39:50 -060043 "android.hardware.keymaster@3.0",
Shawn Willden0329a822017-12-04 13:55:14 -070044 "android.hardware.keymaster@4.0",
Jeff Sharkeyc493cf92017-10-23 10:39:50 -060045 "android.system.wifi.keystore@1.0",
Shawn Willdenc67a8aa2017-12-03 17:51:29 -070046 "libbase",
Jeff Sharkeyc493cf92017-10-23 10:39:50 -060047 "libbinder",
48 "libcrypto",
Jeff Sharkeyc493cf92017-10-23 10:39:50 -060049 "libhardware",
50 "libhidlbase",
51 "libhidltransport",
52 "libhwbinder",
Shawn Willdenbb22a6c2017-12-06 19:35:28 -070053 "libkeymaster4support",
Jeff Sharkeyc493cf92017-10-23 10:39:50 -060054 "libkeymaster_messages",
55 "libkeymaster_portable",
Dmitry Dementyevab8aa1c2017-11-28 12:13:22 -080056 "libkeystore_aidl",
Jeff Sharkeyc493cf92017-10-23 10:39:50 -060057 "libkeystore_binder",
Dmitry Dementyevab8aa1c2017-11-28 12:13:22 -080058 "libkeystore_parcelables",
Jeff Sharkeyc493cf92017-10-23 10:39:50 -060059 "liblog",
60 "libselinux",
Jeff Sharkeyc493cf92017-10-23 10:39:50 -060061 "libsoftkeymasterdevice",
62 "libutils",
63 "libwifikeystorehal",
64 ],
65 init_rc: ["keystore.rc"],
66 aidl: {
67 include_dirs: ["frameworks/base/core/java/"],
68 },
69
70 product_variables: {
71 pdk: {
72 enabled: false,
73 },
74 },
Rubin Xu0d0e1132017-12-08 15:50:50 +000075
76 required: ["keystore_cli_v2"],
Jeff Sharkeyc493cf92017-10-23 10:39:50 -060077}
78
79cc_binary {
80 name: "keystore_cli",
81 defaults: ["keystore_defaults"],
82 tags: ["debug"],
83
84 srcs: ["keystore_cli.cpp"],
85 shared_libs: [
86 "android.hardware.keymaster@3.0",
Brian C. Young5407bf12017-12-08 13:29:09 -080087 "android.hardware.keymaster@4.0",
Jeff Sharkeyc493cf92017-10-23 10:39:50 -060088 "libbinder",
89 "libcrypto",
90 "libcutils",
91 "libhidlbase",
92 "libhwbinder",
Dmitry Dementyevab8aa1c2017-11-28 12:13:22 -080093 "libkeystore_aidl", // for IKeyStoreService.asInterface()
Jeff Sharkeyc493cf92017-10-23 10:39:50 -060094 "libkeystore_binder",
Dmitry Dementyevab8aa1c2017-11-28 12:13:22 -080095 "libkeystore_parcelables",
Jeff Sharkeyc493cf92017-10-23 10:39:50 -060096 "liblog",
97 "libutils",
98 ],
99}
100
101cc_binary {
102 name: "keystore_cli_v2",
103 defaults: ["keystore_defaults"],
104 tags: ["debug"],
105
106 cflags: [
107 "-DKEYMASTER_NAME_TAGS",
108 "-Wno-unused-parameter",
109 ],
110 srcs: ["keystore_cli_v2.cpp"],
111 shared_libs: [
David Zeuthenc6eb7cd2017-11-27 11:33:55 -0500112 "android.hardware.confirmationui@1.0",
David Zeuthenc6eb7cd2017-11-27 11:33:55 -0500113 "libbinder",
Brian C. Young5407bf12017-12-08 13:29:09 -0800114 "android.hardware.keymaster@4.0",
Jeff Sharkeyc493cf92017-10-23 10:39:50 -0600115 "libchrome",
David Zeuthenc6eb7cd2017-11-27 11:33:55 -0500116 "libutils",
Jeff Sharkeyc493cf92017-10-23 10:39:50 -0600117 "libhidlbase",
118 "libhwbinder",
Shawn Willdenbb22a6c2017-12-06 19:35:28 -0700119 "libkeymaster4support",
David Zeuthenc6eb7cd2017-11-27 11:33:55 -0500120 "libkeystore_aidl",
Jeff Sharkeyc493cf92017-10-23 10:39:50 -0600121 "libkeystore_binder",
David Zeuthenc6eb7cd2017-11-27 11:33:55 -0500122 "libkeystore_parcelables",
Jeff Sharkeyc493cf92017-10-23 10:39:50 -0600123 ],
124
125 local_include_dirs: ["include"],
126}
127
Dmitry Dementyevab8aa1c2017-11-28 12:13:22 -0800128cc_library_shared {
129 name: "libkeystore_parcelables",
130 defaults: ["keystore_defaults"],
Dmitry Dementyevaf2968c2017-11-21 20:19:03 -0800131 export_include_dirs: ["include"],
Dmitry Dementyevab8aa1c2017-11-28 12:13:22 -0800132 srcs: [
133 "KeyAttestationApplicationId.cpp",
134 "KeyAttestationPackageInfo.cpp",
135 "KeymasterArguments.cpp",
136 "KeystoreArguments.cpp",
137 "OperationResult.cpp",
138 "Signature.cpp",
139 "keystore_aidl_hidl_marshalling_utils.cpp",
140 ],
Dmitry Dementyevaf2968c2017-11-21 20:19:03 -0800141 shared_libs: [
Shawn Willden0329a822017-12-04 13:55:14 -0700142 "android.hardware.keymaster@4.0",
Dmitry Dementyevaf2968c2017-11-21 20:19:03 -0800143 "libbinder",
Dmitry Dementyevab8aa1c2017-11-28 12:13:22 -0800144 "libhardware",
Dmitry Dementyevaf2968c2017-11-21 20:19:03 -0800145 "libhidlbase",
146 "libhwbinder",
Shawn Willdenbb22a6c2017-12-06 19:35:28 -0700147 "libkeymaster4support",
Dmitry Dementyevaf2968c2017-11-21 20:19:03 -0800148 "liblog",
149 "libprotobuf-cpp-lite",
150 "libutils",
151 ],
152 export_shared_lib_headers: [
Shawn Willden0329a822017-12-04 13:55:14 -0700153 "android.hardware.keymaster@4.0",
Dmitry Dementyevaf2968c2017-11-21 20:19:03 -0800154 "libbinder",
155 "libhidlbase",
156 "libhwbinder",
Shawn Willdenbb22a6c2017-12-06 19:35:28 -0700157 "libkeymaster4support",
Dmitry Dementyevaf2968c2017-11-21 20:19:03 -0800158 ],
159}
Jeff Sharkeyc493cf92017-10-23 10:39:50 -0600160// Library for keystore clients
161cc_library_shared {
162 name: "libkeystore_binder",
163 defaults: ["keystore_defaults"],
164
165 srcs: [
Jeff Sharkeyc493cf92017-10-23 10:39:50 -0600166 "keyblob_utils.cpp",
Jeff Sharkeyc493cf92017-10-23 10:39:50 -0600167 "keystore_client.proto",
168 "keystore_client_impl.cpp",
169 "keystore_get.cpp",
Jeff Sharkeyc493cf92017-10-23 10:39:50 -0600170 ],
171 shared_libs: [
Shawn Willdenbb22a6c2017-12-06 19:35:28 -0700172 "android.hardware.keymaster@4.0",
Jeff Sharkeyc493cf92017-10-23 10:39:50 -0600173 "libbinder",
174 "libhidlbase",
175 "libhwbinder",
Shawn Willdenbb22a6c2017-12-06 19:35:28 -0700176 "libkeymaster4support",
Dmitry Dementyevab8aa1c2017-11-28 12:13:22 -0800177 "libkeystore_aidl",
178 "libkeystore_parcelables",
Shawn Willdenbb22a6c2017-12-06 19:35:28 -0700179 "liblog",
Jeff Sharkeyc493cf92017-10-23 10:39:50 -0600180 "libprotobuf-cpp-lite",
181 "libutils",
182 ],
183
184 proto: {
185 type: "lite",
186 export_proto_headers: true,
187 },
Dmitry Dementyeva447b3c2017-10-27 23:09:53 -0700188 aidl: {
189 export_aidl_headers: true,
190 include_dirs: ["frameworks/base/core/java/"],
191 },
Jeff Sharkeyc493cf92017-10-23 10:39:50 -0600192 export_include_dirs: ["include"],
Jeff Sharkeyc493cf92017-10-23 10:39:50 -0600193 export_shared_lib_headers: [
Shawn Willdenbb22a6c2017-12-06 19:35:28 -0700194 "android.hardware.keymaster@4.0",
Jeff Sharkeyc493cf92017-10-23 10:39:50 -0600195 "libbinder",
196 "libhidlbase",
197 "libhwbinder",
Dmitry Dementyevab8aa1c2017-11-28 12:13:22 -0800198 "libkeystore_aidl",
199 "libkeystore_parcelables",
Jeff Sharkeyc493cf92017-10-23 10:39:50 -0600200 ],
201}
202
203// Library for keystore clients using the WiFi HIDL interface
204cc_library_shared {
205 name: "libkeystore-wifi-hidl",
206 defaults: ["keystore_defaults"],
207
208 srcs: ["keystore_get_wifi_hidl.cpp"],
209 shared_libs: [
210 "android.system.wifi.keystore@1.0",
211 "libbase",
212 "libhidlbase",
213 "libhidltransport",
214 "liblog",
215 "libutils",
216 ],
217
218 export_include_dirs: ["include"],
219
220 vendor: true,
221}
222
223// Library for unit tests
224cc_library_static {
225 name: "libkeystore_test",
226 defaults: ["keystore_defaults"],
227
Janis Danisevskis8f737ad2017-11-21 12:30:15 -0800228 srcs: [
229 "auth_token_table.cpp",
Janis Danisevskis8f737ad2017-11-21 12:30:15 -0800230 ],
Shawn Willdenbb22a6c2017-12-06 19:35:28 -0700231 cflags: [ "-O0", ],
Jeff Sharkeyc493cf92017-10-23 10:39:50 -0600232 static_libs: ["libgtest_main"],
233 shared_libs: [
Shawn Willden0329a822017-12-04 13:55:14 -0700234 "android.hardware.keymaster@4.0",
Jeff Sharkeyc493cf92017-10-23 10:39:50 -0600235 "libhidlbase",
236 "libhwbinder",
Shawn Willdenbb22a6c2017-12-06 19:35:28 -0700237 "libkeymaster4support",
Jeff Sharkeyc493cf92017-10-23 10:39:50 -0600238 "libutils",
239 ],
240 export_shared_lib_headers: [
Shawn Willden0329a822017-12-04 13:55:14 -0700241 "android.hardware.keymaster@4.0",
Jeff Sharkeyc493cf92017-10-23 10:39:50 -0600242 "libhidlbase",
243 "libhwbinder",
Shawn Willdenbb22a6c2017-12-06 19:35:28 -0700244 "libkeymaster4support",
Jeff Sharkeyc493cf92017-10-23 10:39:50 -0600245 ],
246
247 export_include_dirs: ["include"],
248}
249
250subdirs = ["tests"]