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