xref: /aosp_15_r20/external/libese/ready_se/google/keymint/KM300/HAL/Android.bp (revision 5c4dab75aa57366379dce576b1a9e082a44e2b3a)
1// Copyright (C) 2020 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
16package {
17    default_applicable_licenses: [
18        "external_libese_ready_se_google_keymint_KM300_HAL_license",
19    ],
20}
21
22// Added automatically by a large-scale-change
23// See: http://go/android-license-faq
24license {
25    name: "external_libese_ready_se_google_keymint_KM300_HAL_license",
26    visibility: [":__subpackages__"],
27    license_kinds: [
28        "SPDX-license-identifier-Apache-2.0",
29    ],
30    license_text: [
31        "LICENSE",
32    ],
33}
34
35cc_library {
36    name: "libjc_keymint3",
37    defaults: [
38        "keymaster_defaults",
39    ],
40    srcs: [
41        "CborConverter.cpp",
42        "JavacardKeyMintDevice.cpp",
43        "JavacardKeyMintOperation.cpp",
44        "JavacardRemotelyProvisionedComponentDevice.cpp",
45        "JavacardSecureElement.cpp",
46        "JavacardSharedSecret.cpp",
47        "keymint_utils.cpp",
48    ],
49    cflags: ["-O0"],
50    shared_libs: [
51        "android.hardware.security.keymint-V3-ndk",
52        "android.hardware.security.secureclock-V1-ndk",
53        "android.hardware.security.sharedsecret-V1-ndk",
54        "android.hardware.security.rkp-V3-ndk",
55        "lib_android_keymaster_keymint_utils_V3",
56        "libbase",
57        "libcppbor",
58        "libkeymaster_portable",
59        "libkeymaster_messages",
60        "libsoft_attestation_cert",
61        "liblog",
62        "libcrypto",
63        "libcutils",
64        "libjc_keymint_transport_V3",
65        "libbinder_ndk",
66    ],
67    export_include_dirs: [
68        ".",
69    ],
70    vendor_available: true,
71}
72
73cc_binary {
74    name: "android.hardware.security.keymint3-service.strongbox",
75    relative_install_path: "hw",
76    init_rc: ["android.hardware.security.keymint3-service.strongbox.rc"],
77    vintf_fragments: [
78        "android.hardware.security.keymint3-service.strongbox.xml",
79        "android.hardware.security.sharedsecret3-service.strongbox.xml",
80    ],
81    vendor: true,
82    cflags: [
83        "-Wall",
84        "-Wextra",
85    ],
86    shared_libs: [
87        "android.hardware.security.keymint-V3-ndk",
88        "android.hardware.security.sharedsecret-V1-ndk",
89        "lib_android_keymaster_keymint_utils_V3",
90        "android.hardware.security.rkp-V3-ndk",
91        "libbase",
92        "libbinder_ndk",
93        "libcppbor",
94        "libcrypto",
95        "libkeymaster_portable",
96        "libjc_keymint3",
97        "libjc_keymint_transport_V3",
98        "liblog",
99        "libutils",
100        "android.se.omapi-V1-ndk",
101    ],
102    srcs: [
103        "service.cpp",
104    ],
105    required: [
106        "android.hardware.hardware_keystore.jc-strongbox-keymint3.xml",
107    ],
108}
109
110prebuilt_etc {
111    name: "android.hardware.hardware_keystore.jc-strongbox-keymint3.xml",
112    sub_dir: "permissions",
113    vendor: true,
114    src: "android.hardware.hardware_keystore.jc-strongbox-keymint3.xml",
115}
116