blob: cbac78b447cebaeec748ef0d96875949da128a0e [file] [log] [blame]
Steven Moreland7d6416c2017-04-18 10:06:28 -07001// Copyright (C) 2014 The Android Open Source Project
2//
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// libkeymaster_messages contains just the code necessary to communicate with a
16// AndroidKeymaster implementation, e.g. one running in TrustZone.
Bob Badourb6556852021-02-12 17:45:20 -080017package {
18 default_applicable_licenses: ["system_keymaster_license"],
19}
20
21// Added automatically by a large-scale-change that took the approach of
22// 'apply every license found to every target'. While this makes sure we respect
23// every license restriction, it may not be entirely correct.
24//
25// e.g. GPL in an MIT project might only apply to the contrib/ directory.
26//
27// Please consider splitting the single license below into multiple licenses,
28// taking care not to lose any license_kind information, and overriding the
29// default license using the 'licenses: [...]' property on targets as needed.
30//
31// For unused files, consider creating a 'fileGroup' with "//visibility:private"
32// to attach the license to, and including a comment whether the files may be
33// used in the current project.
34// See: http://go/android-license-faq
35license {
36 name: "system_keymaster_license",
37 visibility: [":__subpackages__"],
38 license_kinds: [
39 "SPDX-license-identifier-Apache-2.0",
40 "SPDX-license-identifier-ISC",
41 "legacy_unencumbered",
42 ],
43 license_text: [
44 "NOTICE",
45 ],
46}
47
Shawn Willdenf7375d12020-01-15 17:01:27 -070048cc_defaults {
49 name: "keymaster_defaults",
50 vendor_available: true,
51 cflags: [
52 "-Wall",
53 "-Werror",
54 "-Wunused",
55 ],
56 clang: true,
57 clang_cflags: [
58 "-Wno-error=unused-const-variable",
59 "-Wno-error=unused-private-field",
60 "-Wimplicit-fallthrough",
61 // TODO(krasin): reenable coverage flags, when the new Clang toolchain is released.
62 // Currently, if enabled, these flags will cause an internal error in Clang.
63 "-fno-sanitize-coverage=edge,indirect-calls,8bit-counters,trace-cmp"
64 ],
65 sanitize: {
66 integer_overflow: false,
67 },
68}
69
Steven Moreland7d6416c2017-04-18 10:06:28 -070070cc_library_shared {
71 name: "libkeymaster_messages",
72 srcs: [
Janis Danisevskisf54cc932017-05-10 15:29:10 -070073 "android_keymaster/android_keymaster_messages.cpp",
74 "android_keymaster/android_keymaster_utils.cpp",
75 "android_keymaster/authorization_set.cpp",
76 "android_keymaster/keymaster_tags.cpp",
77 "android_keymaster/logger.cpp",
78 "android_keymaster/serializable.cpp",
79 "android_keymaster/keymaster_stl.cpp",
Steven Moreland7d6416c2017-04-18 10:06:28 -070080 ],
Yifan Hongf0b39bb2017-04-18 17:07:58 -070081 header_libs: ["libhardware_headers"],
Shawn Willdenf7375d12020-01-15 17:01:27 -070082 defaults: ["keymaster_defaults" ],
83 clang_cflags: [
Steven Moreland7d6416c2017-04-18 10:06:28 -070084 "-DKEYMASTER_NAME_TAGS",
85 ],
Janis Danisevskisf38a0022017-04-26 14:44:46 -070086 stl: "none",
Steven Moreland7d6416c2017-04-18 10:06:28 -070087 export_include_dirs: ["include"],
A. Cody Schuffelen65667f82020-04-29 14:52:49 -070088 host_supported: true,
89 target: {
90 host: {
91 clang_cflags: [
92 "-fno-rtti", // TODO(b/156427382): Remove workaround when possible.
93 ],
94 },
95 },
Steven Moreland7d6416c2017-04-18 10:06:28 -070096}
97
Janis Danisevskisf38a0022017-04-26 14:44:46 -070098// libkeymaster_portable contains almost everything needed for a keymaster
Steven Moreland7d6416c2017-04-18 10:06:28 -070099// implementation, lacking only a subclass of the (abstract) KeymasterContext
100// class to provide environment-specific services and a wrapper to translate from
101// the function-based keymaster HAL API to the message-based AndroidKeymaster API.
Shawn Willden25814f02018-04-02 10:55:34 -0600102cc_library {
Janis Danisevskisf38a0022017-04-26 14:44:46 -0700103 name: "libkeymaster_portable",
Steven Moreland7d6416c2017-04-18 10:06:28 -0700104 srcs: [
Shawn Willdenfb9b2a42017-12-21 12:35:06 -0700105 "android_keymaster/android_keymaster.cpp",
106 "android_keymaster/android_keymaster_messages.cpp",
107 "android_keymaster/android_keymaster_utils.cpp",
108 "android_keymaster/authorization_set.cpp",
109 "android_keymaster/keymaster_enforcement.cpp",
Shawn Willdenfb9b2a42017-12-21 12:35:06 -0700110 "android_keymaster/keymaster_tags.cpp",
111 "android_keymaster/logger.cpp",
112 "android_keymaster/operation.cpp",
113 "android_keymaster/operation_table.cpp",
114 "android_keymaster/serializable.cpp",
115 "key_blob_utils/auth_encrypted_key_blob.cpp",
116 "key_blob_utils/integrity_assured_key_blob.cpp",
117 "key_blob_utils/ocb.c",
118 "key_blob_utils/ocb_utils.cpp",
119 "key_blob_utils/software_keyblobs.cpp",
Janis Danisevskisf54cc932017-05-10 15:29:10 -0700120 "km_openssl/aes_key.cpp",
121 "km_openssl/aes_operation.cpp",
122 "km_openssl/asymmetric_key.cpp",
123 "km_openssl/asymmetric_key_factory.cpp",
124 "km_openssl/attestation_record.cpp",
Mustafa Yigit Bilgen01a9b8b2018-11-07 16:08:08 -0800125 "km_openssl/attestation_utils.cpp",
Shawn Willdena2f1a9b2018-01-09 09:37:43 -0700126 "km_openssl/block_cipher_operation.cpp",
Janis Danisevskis197c17f2020-10-30 15:25:52 -0700127 "km_openssl/certificate_utils.cpp",
Shawn Willden8b940582018-01-02 10:53:39 -0700128 "km_openssl/ckdf.cpp",
Janis Danisevskisf54cc932017-05-10 15:29:10 -0700129 "km_openssl/ec_key.cpp",
130 "km_openssl/ec_key_factory.cpp",
David Zeuthena843b3d2021-01-19 16:01:00 -0500131 "km_openssl/ecdh_operation.cpp",
Shawn Willdenfb9b2a42017-12-21 12:35:06 -0700132 "km_openssl/ecdsa_operation.cpp",
133 "km_openssl/ecies_kem.cpp",
134 "km_openssl/hkdf.cpp",
135 "km_openssl/hmac.cpp",
Janis Danisevskisf54cc932017-05-10 15:29:10 -0700136 "km_openssl/hmac_key.cpp",
137 "km_openssl/hmac_operation.cpp",
Shawn Willdenfb9b2a42017-12-21 12:35:06 -0700138 "km_openssl/iso18033kdf.cpp",
139 "km_openssl/kdf.cpp",
140 "km_openssl/nist_curve_key_exchange.cpp",
Janis Danisevskisf54cc932017-05-10 15:29:10 -0700141 "km_openssl/openssl_err.cpp",
142 "km_openssl/openssl_utils.cpp",
143 "km_openssl/rsa_key.cpp",
144 "km_openssl/rsa_key_factory.cpp",
145 "km_openssl/rsa_operation.cpp",
Janis Danisevskis41d5a742017-05-12 10:43:12 -0700146 "km_openssl/software_random_source.cpp",
Janis Danisevskisf54cc932017-05-10 15:29:10 -0700147 "km_openssl/symmetric_key.cpp",
Shawn Willden7efc7722018-01-08 22:00:12 -0700148 "km_openssl/triple_des_key.cpp",
149 "km_openssl/triple_des_operation.cpp",
Shawn Willdendd7e8a02018-01-12 13:03:37 -0700150 "km_openssl/wrapped_key.cpp",
Steven Moreland7d6416c2017-04-18 10:06:28 -0700151 ],
152
153 shared_libs: [
154 "libcrypto",
Bram Bonné738feea2020-09-15 21:17:07 +0200155 "libcppbor_external",
Steven Moreland7d6416c2017-04-18 10:06:28 -0700156 ],
Colin Cross79277d32020-12-10 12:08:19 -0800157 export_shared_lib_headers: ["libcppbor_external"],
158 header_libs: ["libhardware_headers"],
159 export_header_lib_headers: ["libhardware_headers"],
Shawn Willdenf7375d12020-01-15 17:01:27 -0700160 defaults: ["keymaster_defaults" ],
Steven Moreland7d6416c2017-04-18 10:06:28 -0700161 cflags: [
Janis Danisevskisf38a0022017-04-26 14:44:46 -0700162 "-DBORINGSSL_NO_CXX",
163 ],
A. Cody Schuffelen65667f82020-04-29 14:52:49 -0700164 host_supported: true,
Janis Danisevskisf38a0022017-04-26 14:44:46 -0700165 export_include_dirs: ["include"],
A. Cody Schuffelen65667f82020-04-29 14:52:49 -0700166 target: {
167 host: {
168 clang_cflags: [
169 "-fno-rtti", // TODO(b/156427382): Remove workaround when possible.
170 ],
171 },
172 },
Steven Moreland7d6416c2017-04-18 10:06:28 -0700173}
174
175// libsoftkeymaster provides a software-based keymaster HAL implementation.
176// This is used by keystore as a fallback for when the hardware keymaster does
177// not support the request.
Tri Vo0b674d02017-08-04 13:00:33 -0700178cc_library {
Steven Moreland7d6416c2017-04-18 10:06:28 -0700179 name: "libsoftkeymasterdevice",
Steven Moreland7d6416c2017-04-18 10:06:28 -0700180 srcs: [
Janis Danisevskis3bfda162017-05-12 13:10:41 -0700181 "android_keymaster/keymaster_configuration.cpp",
Shawn Willden903367c2020-12-15 09:48:08 -0700182 "contexts/pure_soft_keymaster_context.cpp",
183 "contexts/soft_attestation_context.cpp",
184 "contexts/soft_keymaster_context.cpp",
185 "contexts/soft_keymaster_device.cpp",
186 "contexts/soft_keymaster_logger.cpp",
187 "km_openssl/soft_keymaster_enforcement.cpp",
Janis Danisevskisf54cc932017-05-10 15:29:10 -0700188 "legacy_support/ec_keymaster1_key.cpp",
189 "legacy_support/ecdsa_keymaster1_operation.cpp",
Janis Danisevskisf54cc932017-05-10 15:29:10 -0700190 "legacy_support/keymaster1_engine.cpp",
Shawn Willden903367c2020-12-15 09:48:08 -0700191 "legacy_support/keymaster1_legacy_support.cpp",
Janis Danisevskisf54cc932017-05-10 15:29:10 -0700192 "legacy_support/rsa_keymaster1_key.cpp",
193 "legacy_support/rsa_keymaster1_operation.cpp",
Steven Moreland7d6416c2017-04-18 10:06:28 -0700194 ],
Shawn Willdenf7375d12020-01-15 17:01:27 -0700195 defaults: ["keymaster_defaults"],
Steven Moreland7d6416c2017-04-18 10:06:28 -0700196 shared_libs: [
197 "libkeymaster_messages",
Janis Danisevskisf38a0022017-04-26 14:44:46 -0700198 "libkeymaster_portable",
Selene Huangb0d38302020-02-14 17:39:36 -0800199 "libsoft_attestation_cert",
Steven Moreland7d6416c2017-04-18 10:06:28 -0700200 "liblog",
Janis Danisevskis2fea2352017-07-26 16:52:33 -0700201 "libbase",
Steven Moreland7d6416c2017-04-18 10:06:28 -0700202 "libcrypto",
203 "libcutils",
204 ],
Steven Moreland7d6416c2017-04-18 10:06:28 -0700205 export_include_dirs: ["include"],
206}
207
Shawn Willden25814f02018-04-02 10:55:34 -0600208cc_library {
Selene Huangb0d38302020-02-14 17:39:36 -0800209 name: "libsoft_attestation_cert",
210 srcs: [
211 "contexts/soft_attestation_cert.cpp",
212 ],
213 defaults: ["keymaster_defaults"],
214 shared_libs: [
215 "libkeymaster_portable",
216 ],
217
A. Cody Schuffelen65667f82020-04-29 14:52:49 -0700218 host_supported: true,
Selene Huangb0d38302020-02-14 17:39:36 -0800219 export_include_dirs: ["include"],
220}
221
222cc_library {
Janis Danisevskis1f8b1c92017-05-08 11:24:41 -0700223 name: "libpuresoftkeymasterdevice",
Janis Danisevskis1f8b1c92017-05-08 11:24:41 -0700224 srcs: [
Janis Danisevskis1f8b1c92017-05-08 11:24:41 -0700225 "android_keymaster/keymaster_configuration.cpp",
Shawn Willden903367c2020-12-15 09:48:08 -0700226 "contexts/soft_attestation_context.cpp",
Janis Danisevskis1f8b1c92017-05-08 11:24:41 -0700227 "contexts/pure_soft_keymaster_context.cpp",
228 "contexts/soft_keymaster_logger.cpp",
229 "km_openssl/soft_keymaster_enforcement.cpp",
230 ],
Shawn Willdenf7375d12020-01-15 17:01:27 -0700231 defaults: ["keymaster_defaults"],
Janis Danisevskis1f8b1c92017-05-08 11:24:41 -0700232 shared_libs: [
233 "libkeymaster_messages",
234 "libkeymaster_portable",
Selene Huangb0d38302020-02-14 17:39:36 -0800235 "libsoft_attestation_cert",
Janis Danisevskis1f8b1c92017-05-08 11:24:41 -0700236 "liblog",
237 "libcrypto",
238 "libcutils",
Wei Wangc33ecdf2018-06-27 11:53:26 -0700239 "libbase",
Janis Danisevskis1f8b1c92017-05-08 11:24:41 -0700240 ],
Janis Danisevskis1f8b1c92017-05-08 11:24:41 -0700241 export_include_dirs: ["include"],
242}
243
A. Cody Schuffelen24ba1e22020-05-06 19:41:36 -0700244cc_library {
245 name: "libpuresoftkeymasterdevice_host",
246 srcs: [
247 "contexts/pure_soft_keymaster_context.cpp",
Shawn Willden903367c2020-12-15 09:48:08 -0700248 "contexts/soft_attestation_context.cpp",
A. Cody Schuffelen24ba1e22020-05-06 19:41:36 -0700249 "contexts/soft_keymaster_logger.cpp",
250 "km_openssl/soft_keymaster_enforcement.cpp",
251 ],
252 defaults: ["keymaster_defaults"],
253 host_supported: true,
254 device_supported: false,
255 shared_libs: [
256 "libkeymaster_messages",
257 "libkeymaster_portable",
258 "libsoft_attestation_cert",
259 "liblog",
260 "libcrypto",
261 "libcutils",
262 "libbase",
263 ],
264 clang_cflags: [
265 "-DKEYMASTER_NAME_TAGS",
266 "-fno-rtti", // TODO(b/156427382): Remove workaround when possible.
267 ],
268 export_include_dirs: ["include"],
269}
270
Janis Danisevskisa68669b2017-02-06 11:46:54 +0000271cc_library_shared {
272 name: "libkeymaster3device",
273 srcs: [
Janis Danisevskis2fea2352017-07-26 16:52:33 -0700274 "legacy_support/keymaster_passthrough_key.cpp",
275 "legacy_support/keymaster_passthrough_engine.cpp",
276 "legacy_support/keymaster_passthrough_operation.cpp",
277 "contexts/keymaster1_passthrough_context.cpp",
278 "contexts/keymaster2_passthrough_context.cpp",
Janis Danisevskisa68669b2017-02-06 11:46:54 +0000279 "ng/AndroidKeymaster3Device.cpp",
Janis Danisevskis2fea2352017-07-26 16:52:33 -0700280 "android_keymaster/keymaster_configuration.cpp",
Janis Danisevskis2fea2352017-07-26 16:52:33 -0700281 "legacy_support/ec_keymaster1_key.cpp",
282 "legacy_support/ecdsa_keymaster1_operation.cpp",
Janis Danisevskis2fea2352017-07-26 16:52:33 -0700283 "legacy_support/keymaster1_engine.cpp",
284 "legacy_support/keymaster1_legacy_support.cpp",
Janis Danisevskis2fea2352017-07-26 16:52:33 -0700285 "legacy_support/rsa_keymaster1_key.cpp",
286 "legacy_support/rsa_keymaster1_operation.cpp",
Janis Danisevskisa68669b2017-02-06 11:46:54 +0000287 ],
Shawn Willdenf7375d12020-01-15 17:01:27 -0700288 defaults: ["keymaster_defaults"],
Janis Danisevskisa68669b2017-02-06 11:46:54 +0000289 shared_libs: [
290 "libkeymaster_messages",
291 "android.hardware.keymaster@3.0",
292 "libcrypto",
293 "libcutils",
Janis Danisevskis2fea2352017-07-26 16:52:33 -0700294 "libbase",
Janis Danisevskisa68669b2017-02-06 11:46:54 +0000295 "libhidlbase",
Janis Danisevskisa68669b2017-02-06 11:46:54 +0000296 "libkeymaster_portable",
Janis Danisevskisa68669b2017-02-06 11:46:54 +0000297 "liblog",
Selene Huangb0d38302020-02-14 17:39:36 -0800298 "libpuresoftkeymasterdevice",
299 "libsoft_attestation_cert",
Janis Danisevskisa68669b2017-02-06 11:46:54 +0000300 "libutils",
301 ],
Janis Danisevskisa68669b2017-02-06 11:46:54 +0000302 export_include_dirs: ["include", "ng/include"],
303}
304
Shawn Willden9e149572017-10-30 16:08:21 -0600305cc_library_shared {
306 name: "libkeymaster4",
Shawn Willden9e149572017-10-30 16:08:21 -0600307 srcs: [
308 "legacy_support/keymaster_passthrough_key.cpp",
309 "legacy_support/keymaster_passthrough_engine.cpp",
310 "legacy_support/keymaster_passthrough_operation.cpp",
Shawn Willdenefd06732017-11-30 19:34:16 -0700311 "ng/AndroidKeymaster4Device.cpp",
Shawn Willden9e149572017-10-30 16:08:21 -0600312 "android_keymaster/keymaster_configuration.cpp",
Shawn Willden9e149572017-10-30 16:08:21 -0600313 ],
Shawn Willdenf7375d12020-01-15 17:01:27 -0700314 defaults: ["keymaster_defaults"],
Shawn Willden9e149572017-10-30 16:08:21 -0600315 shared_libs: [
316 "libkeymaster_messages",
317 "android.hardware.keymaster@4.0",
318 "libcrypto",
319 "libcutils",
320 "libbase",
321 "libhidlbase",
Shawn Willden9e149572017-10-30 16:08:21 -0600322 "libkeymaster_portable",
Shawn Willden9e149572017-10-30 16:08:21 -0600323 "libpuresoftkeymasterdevice",
324 "liblog",
325 "libutils",
326 "libkeymaster4support",
327 ],
Shawn Willden6daf9842020-11-19 10:11:47 -0700328 export_include_dirs: [
329 "ng/include",
330 "include"
331 ],
Shawn Willden9e149572017-10-30 16:08:21 -0600332}
333
Shawn Willden8ae41b52019-10-28 12:54:16 -0600334cc_library_shared {
335 name: "libkeymaster41",
336 vendor_available: true,
337 srcs: [
Shawn Willden8ae41b52019-10-28 12:54:16 -0600338 "ng/AndroidKeymaster41Device.cpp",
Shawn Willden8ae41b52019-10-28 12:54:16 -0600339 ],
Shawn Willdenf7375d12020-01-15 17:01:27 -0700340 defaults: ["keymaster_defaults"],
Shawn Willden8ae41b52019-10-28 12:54:16 -0600341 shared_libs: [
Shawn Willden8ae41b52019-10-28 12:54:16 -0600342 "android.hardware.keymaster@4.0",
Shawn Willdenf7375d12020-01-15 17:01:27 -0700343 "android.hardware.keymaster@4.1",
Shawn Willden8ae41b52019-10-28 12:54:16 -0600344 "libbase",
345 "libcrypto",
346 "libcutils",
347 "libhidlbase",
Shawn Willdenf7375d12020-01-15 17:01:27 -0700348 "libkeymaster4",
Shawn Willden8ae41b52019-10-28 12:54:16 -0600349 "libkeymaster4_1support",
Shawn Willdenf7375d12020-01-15 17:01:27 -0700350 "libkeymaster4support",
Shawn Willden8ae41b52019-10-28 12:54:16 -0600351 "libkeymaster_messages",
352 "libkeymaster_portable",
353 "liblog",
354 "libpuresoftkeymasterdevice",
355 "libutils",
356 ],
Shawn Willden8ae41b52019-10-28 12:54:16 -0600357 export_include_dirs: ["ng/include"],
358}
359
Shawn Willden815e8962020-12-11 13:05:27 +0000360cc_library {
361 name: "libkeymint",
362 vendor_available: true,
363 srcs: [
364 "android_keymaster/keymaster_configuration.cpp",
365 "legacy_support/keymaster_passthrough_engine.cpp",
366 "legacy_support/keymaster_passthrough_key.cpp",
367 "legacy_support/keymaster_passthrough_operation.cpp",
368 "ng/AndroidKeyMintDevice.cpp",
369 "ng/AndroidKeyMintOperation.cpp",
Chirag Pathak7a079942021-01-25 20:16:30 +0000370 "ng/AndroidSharedSecret.cpp",
371 "ng/AndroidSecureClock.cpp",
Shawn Willden815e8962020-12-11 13:05:27 +0000372 "ng/KeyMintUtils.cpp",
373 ],
374 defaults: ["keymaster_defaults"],
375 shared_libs: [
376 "libhidlbase",
Jeongik Chaa3202fa2021-01-26 22:35:10 +0900377 "android.hardware.security.keymint-V1-ndk_platform",
Chirag Pathak7a079942021-01-25 20:16:30 +0000378 "android.hardware.security.sharedsecret-unstable-ndk_platform",
379 "android.hardware.security.secureclock-unstable-ndk_platform",
Shawn Willden815e8962020-12-11 13:05:27 +0000380 "libbase",
381 "libbinder_ndk",
382 "libcppbor",
383 "libcrypto",
384 "libcutils",
385 "libkeymaster_messages",
386 "libkeymaster_messages",
387 "libkeymaster_portable",
388 "liblog",
389 "libpuresoftkeymasterdevice",
390 "libutils",
391 ],
392 export_include_dirs: ["include", "ng/include"],
393}
Selene Huangfb818292020-05-27 04:58:16 -0700394
Steven Moreland7d6416c2017-04-18 10:06:28 -0700395// libkeymasterfiles is an empty library that exports all of the files in keymaster as includes.
396cc_library_static {
397 name: "libkeymasterfiles",
398 export_include_dirs: [
399 ".",
400 "include",
401 ],
402}
Corbin Souffrante9474442020-08-28 16:46:58 -0700403
404cc_defaults {
405 name: "keymaster_fuzz_defaults",
406 header_libs: ["libhardware_headers"],
407 shared_libs: [
408 "libkeymaster_messages",
409 ],
410 // Not using defaults because the fuzzer relies on sanitizers that are explicitly disabled there.
411 cflags: [
412 "-Wall",
413 "-Werror",
414 "-Wunused",
415 "-Wno-error=unused-const-variable",
416 "-Wno-error=unused-private-field",
417 "-Wimplicit-fallthrough",
418 "-DKEYMASTER_NAME_TAGS",
419 ],
420 host_supported: true,
421 target: {
422 host: {
423 clang_cflags: [
424 "-fno-rtti", // TODO(b/156427382): Remove when default library removes this
425 ],
426 },
427 },
428}
429
430cc_fuzz {
431 name: "libkeymaster_fuzz_buffer",
432 defaults: ["keymaster_fuzz_defaults"],
433 srcs: [
434 "tests/fuzzers/buffer_fuzz.cpp",
435 ],
436}
437
438cc_fuzz {
439 name: "libkeymaster_fuzz_serializable",
440 defaults: ["keymaster_fuzz_defaults"],
441 srcs: [
442 "tests/fuzzers/message_serializable_fuzz.cpp",
443 ],
444}