• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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        "keymint_use_latest_hal_aidl_ndk_shared",
40    ],
41    srcs: [
42        "CborConverter.cpp",
43        "JavacardKeyMintDevice.cpp",
44        "JavacardKeyMintOperation.cpp",
45        "JavacardRemotelyProvisionedComponentDevice.cpp",
46        "JavacardSecureElement.cpp",
47        "JavacardSharedSecret.cpp",
48        "keymint_utils.cpp",
49    ],
50    cflags: ["-O0"],
51    shared_libs: [
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",
56        "libbase",
57        "libcppbor_external",
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_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    defaults: [
87        "keymint_use_latest_hal_aidl_ndk_shared",
88    ],
89    shared_libs: [
90        "android.hardware.security.sharedsecret-V1-ndk",
91        "lib_android_keymaster_keymint_utils",
92        "android.hardware.security.rkp-V3-ndk",
93        "libbase",
94        "libbinder_ndk",
95        "libcppbor_external",
96        "libcrypto",
97        "libkeymaster_portable",
98        "libjc_keymint3",
99        "libjc_keymint_transport",
100        "liblog",
101        "libutils",
102        "android.se.omapi-V1-ndk",
103    ],
104    srcs: [
105        "service.cpp",
106    ],
107    required: [
108        "android.hardware.hardware_keystore.jc-strongbox-keymint3.xml",
109    ],
110}
111
112prebuilt_etc {
113    name: "android.hardware.hardware_keystore.jc-strongbox-keymint3.xml",
114    sub_dir: "permissions",
115    vendor: true,
116    src: "android.hardware.hardware_keystore.jc-strongbox-keymint3.xml",
117}
118