blob: cd6e5a00b76ef5a239faa421c20e27a3b8442968 [file] [log] [blame] [edit]
//
// Copyright (C) 2020 The Android Open Source Project
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
package {
default_applicable_licenses: ["Android-Apache-2.0"],
}
cc_defaults {
name: "secure_env_defaults",
shared_libs: [
"libext2_blkid",
"libbase",
"libcppbor_external",
"libcppcose_rkp",
"libcuttlefish_fs",
"libcuttlefish_kernel_log_monitor_utils",
"libcuttlefish_security",
"libcuttlefish_utils",
"libfruit",
"libgatekeeper",
"libjsoncpp",
"libkeymaster_portable",
"libkeymaster_messages",
"libsoft_attestation_cert",
"liblog",
"libcrypto",
"libcutils",
"libpuresoftkeymasterdevice_host",
"ms-tpm-20-ref-lib",
"tpm2-tss2-esys",
"tpm2-tss2-mu",
"tpm2-tss2-rc",
"tpm2-tss2-tcti",
],
static_libs: [
"libcuttlefish_host_config",
"libgflags",
"libscrypt_static",
],
cflags: [
"-fno-rtti", // Required for libkeymaster_portable
],
}
cc_library_host_static {
name: "libsecure_env",
srcs: [
"composite_serialization.cpp",
"confui_sign_server.cpp",
"device_tpm.cpp",
"encrypted_serializable.cpp",
"fragile_tpm_storage.cpp",
"gatekeeper_responder.cpp",
"hmac_serializable.cpp",
"in_process_tpm.cpp",
"insecure_fallback_storage.cpp",
"json_serializable.cpp",
"keymaster_responder.cpp",
"primary_key_builder.cpp",
"secure_env.cpp",
"tpm_attestation_record.cpp",
"tpm_auth.cpp",
"tpm_commands.cpp",
"tpm_encrypt_decrypt.cpp",
"tpm_gatekeeper.cpp",
"tpm_hmac.cpp",
"tpm_key_blob_maker.cpp",
"tpm_keymaster_context.cpp",
"tpm_keymaster_enforcement.cpp",
"tpm_random_source.cpp",
"tpm_remote_provisioning_context.cpp",
"tpm_resource_manager.cpp",
"tpm_serialize.cpp",
],
defaults: ["cuttlefish_buildhost_only", "secure_env_defaults"],
}
cc_binary_host {
name: "secure_env",
srcs: [
"secure_env.cpp",
],
static_libs: [
"libsecure_env",
],
defaults: ["cuttlefish_buildhost_only", "secure_env_defaults"],
}
cc_test_host {
name: "libsecure_env_test",
srcs: [
"test_tpm.cpp",
"encrypted_serializable_test.cpp",
],
static_libs: [
"libsecure_env",
],
defaults: ["cuttlefish_buildhost_only", "secure_env_defaults"],
test_options: {
unit_test: true,
},
}