xref: /aosp_15_r20/external/libese/ready_se/google/keymint/KM200/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_KM200_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_KM200_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_keymint",
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-V2-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_V2",
56        "libbase",
57        "libcppbor",
58        "libkeymaster_portable",
59        "libkeymaster_messages",
60        "libsoft_attestation_cert",
61        "liblog",
62        "libcrypto",
63        "libcutils",
64        "libjc_keymint_transport",
65        "libbinder_ndk",
66    ],
67    export_include_dirs: [
68        ".",
69    ],
70    vendor_available: true,
71}
72
73cc_library {
74    name: "libjc_keymint_transport",
75    vendor_available: true,
76    srcs: [
77        "SocketTransport.cpp",
78        "OmapiTransport.cpp",
79    ],
80    export_include_dirs: [
81        ".",
82    ],
83    shared_libs: [
84        "android.hardware.security.keymint-V2-ndk",
85        "libbinder",
86        "libbase",
87        "liblog",
88        "libbinder_ndk",
89        "android.se.omapi-V1-ndk",
90        "libhardware",
91    ],
92}
93
94cc_library {
95    name: "libjc_keymint_transport_V3",
96    vendor_available: true,
97    srcs: [
98        "SocketTransport.cpp",
99        "OmapiTransport.cpp",
100    ],
101    export_include_dirs: [
102        ".",
103    ],
104    shared_libs: [
105        "android.hardware.security.keymint-V3-ndk",
106        "libbinder",
107        "libbase",
108        "liblog",
109        "libbinder_ndk",
110        "android.se.omapi-V1-ndk",
111        "libhardware",
112    ],
113}
114
115cc_binary {
116    name: "android.hardware.security.keymint-service.strongbox",
117    relative_install_path: "hw",
118    init_rc: ["android.hardware.security.keymint-service.strongbox.rc"],
119    vintf_fragments: [
120        "android.hardware.security.keymint-service.strongbox.xml",
121        "android.hardware.security.sharedsecret-service.strongbox.xml",
122    ],
123    vendor: true,
124    cflags: [
125        "-Wall",
126        "-Wextra",
127    ],
128    shared_libs: [
129        "android.hardware.security.keymint-V2-ndk",
130        "android.hardware.security.sharedsecret-V1-ndk",
131        "lib_android_keymaster_keymint_utils_V2",
132        "android.hardware.security.rkp-V3-ndk",
133        "libbase",
134        "libbinder_ndk",
135        "libcppbor",
136        "libcrypto",
137        "libkeymaster_portable",
138        "libjc_keymint",
139        "libjc_keymint_transport",
140        "liblog",
141        "libutils",
142        "android.se.omapi-V1-ndk",
143    ],
144    srcs: [
145        "service.cpp",
146    ],
147    required: [
148        "android.hardware.hardware_keystore.jc-strongbox-keymint.xml",
149    ],
150}
151
152prebuilt_etc {
153    name: "android.hardware.hardware_keystore.jc-strongbox-keymint.xml",
154    sub_dir: "permissions",
155    vendor: true,
156    src: "android.hardware.hardware_keystore.jc-strongbox-keymint.xml",
157}
158