254 lines
8.2 KiB
Plaintext
254 lines
8.2 KiB
Plaintext
//
|
|
// Copyright (C) 2010 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_visibility: ["//visibility:private"],
|
|
default_applicable_licenses: ["external_bouncycastle_license"],
|
|
}
|
|
|
|
// Added automatically by a large-scale-change that took the approach of
|
|
// 'apply every license found to every target'. While this makes sure we respect
|
|
// every license restriction, it may not be entirely correct.
|
|
//
|
|
// e.g. GPL in an MIT project might only apply to the contrib/ directory.
|
|
//
|
|
// Please consider splitting the single license below into multiple licenses,
|
|
// taking care not to lose any license_kind information, and overriding the
|
|
// default license using the 'licenses: [...]' property on targets as needed.
|
|
//
|
|
// For unused files, consider creating a 'fileGroup' with "//visibility:private"
|
|
// to attach the license to, and including a comment whether the files may be
|
|
// used in the current project.
|
|
// See: http://go/android-license-faq
|
|
license {
|
|
name: "external_bouncycastle_license",
|
|
visibility: [":__subpackages__"],
|
|
license_kinds: [
|
|
"SPDX-license-identifier-Apache-2.0",
|
|
"SPDX-license-identifier-BSD",
|
|
"SPDX-license-identifier-MIT",
|
|
],
|
|
license_text: [
|
|
"NOTICE",
|
|
],
|
|
}
|
|
|
|
java_defaults {
|
|
name: "bouncycastle-errorprone-defaults",
|
|
errorprone: {
|
|
javacflags: [
|
|
"-Xep:MissingOverride:OFF", // Ignore missing @Override.
|
|
],
|
|
},
|
|
}
|
|
|
|
// These cannot build in the PDK, because the PDK requires all libraries
|
|
// compile against SDK versions.
|
|
java_defaults {
|
|
name: "bouncycastle-defaults",
|
|
defaults: [
|
|
"bouncycastle-errorprone-defaults",
|
|
],
|
|
hostdex: true,
|
|
target: {
|
|
android: {
|
|
product_variables: {
|
|
pdk: {
|
|
enabled: false,
|
|
},
|
|
},
|
|
},
|
|
},
|
|
}
|
|
|
|
// The src files for bouncycastle, used to generate core platform / intra-core
|
|
// API stubs.
|
|
filegroup {
|
|
name: "bouncycastle_java_files",
|
|
visibility: [
|
|
"//libcore",
|
|
],
|
|
srcs: ["repackaged/bcprov/src/main/java/**/*.java"],
|
|
}
|
|
|
|
// A bouncycastle library repackaged in com.android.org.bouncycastle for use
|
|
// in the ART module. Repackaging is needed to avoid conflict with the
|
|
// original org.bouncycastle package.
|
|
java_library {
|
|
name: "bouncycastle",
|
|
// Restrict visibility to only those targets that need to access it.
|
|
visibility: [
|
|
"//art/build/apex",
|
|
"//art/build/sdk",
|
|
"//external/wycheproof",
|
|
"//libcore",
|
|
"//packages/modules/ArtPrebuilt",
|
|
],
|
|
apex_available: [
|
|
"com.android.art",
|
|
"com.android.art.debug",
|
|
],
|
|
min_sdk_version: "31",
|
|
defaults: ["bouncycastle-defaults"],
|
|
installable: true,
|
|
|
|
srcs: [":bouncycastle_java_files"],
|
|
|
|
libs: ["unsupportedappusage"],
|
|
|
|
sdk_version: "none",
|
|
system_modules: "art-module-intra-core-api-stubs-system-modules",
|
|
}
|
|
|
|
// A bouncycastle library repackaged in com.android.internal.org.bouncycastle
|
|
// for use in the Android platform where it is important not to conflict with
|
|
// the original org.bouncycastle package or the one in the ART module.
|
|
java_library {
|
|
name: "bouncycastle-repackaged-unbundled",
|
|
visibility: [
|
|
"//cts/tests/libcore/wycheproof-bc",
|
|
"//external/sl4a/Common",
|
|
"//external/wycheproof",
|
|
"//frameworks/base",
|
|
"//frameworks/base/packages/Connectivity/tests/unit",
|
|
"//frameworks/base/tests/net",
|
|
"//packages/modules/Connectivity/tests/unit",
|
|
],
|
|
defaults: ["bouncycastle-defaults"],
|
|
installable: true,
|
|
sdk_version: "core_current",
|
|
srcs: ["repackaged_platform/bcprov/src/main/java/**/*.java"],
|
|
}
|
|
|
|
unbundled_visibility = [
|
|
"//art/build/sdk",
|
|
"//build/make/tools/signapk",
|
|
"//build/make/tools/signtos",
|
|
"//cts/hostsidetests/devicepolicy/app/DeviceOwner",
|
|
"//cts/tests/libcore/okhttp",
|
|
"//cts/tests/security",
|
|
"//cts/tests/tests/keystore",
|
|
"//external/conscrypt",
|
|
"//external/okhttp",
|
|
"//external/robolectric-shadows",
|
|
"//external/robolectric-shadows/robolectric",
|
|
"//external/robolectric-shadows/shadows/supportv4",
|
|
"//external/robolectric-shadows/shadows/httpclient",
|
|
"//frameworks/opt/net/wifi/service",
|
|
"//frameworks/opt/net/wifi/tests/wifitests",
|
|
"//packages/apps/CertInstaller",
|
|
"//packages/apps/KeyChain",
|
|
"//packages/apps/RemoteProvisioner/tests/unittests",
|
|
"//packages/modules/Connectivity/tests/cts/net",
|
|
"//packages/modules/Wifi/service",
|
|
"//packages/modules/Wifi/service/tests/wifitests",
|
|
"//libcore",
|
|
"//system/extras/verity",
|
|
"//tools/security/remote_provisioning/attestation_testing",
|
|
"//vendor:__subpackages__",
|
|
]
|
|
|
|
// A bouncycastle library in the original org.bouncycastle package for use
|
|
// outside of the platform. e.g. for host or in unbundled apps.
|
|
java_library {
|
|
name: "bouncycastle-unbundled",
|
|
visibility: unbundled_visibility,
|
|
defaults: ["bouncycastle-defaults"],
|
|
host_supported: true,
|
|
|
|
srcs: ["bcprov/src/main/java/**/*.java"],
|
|
exclude_srcs: [
|
|
"bcprov/src/main/java/org/bouncycastle/asn1/ocsp/**/*.java",
|
|
],
|
|
|
|
sdk_version: "core_current",
|
|
min_sdk_version: "30",
|
|
java_version: "1.7",
|
|
}
|
|
|
|
// Bouncycastle PKIX classes in the original org.bouncycastle package for use
|
|
// outside of the platform. e.g. for host or in unbundled apps / CTS tests.
|
|
java_library {
|
|
name: "bouncycastle-bcpkix-unbundled",
|
|
visibility: unbundled_visibility,
|
|
defaults: ["bouncycastle-defaults"],
|
|
host_supported: true,
|
|
|
|
srcs: ["bcpkix/src/main/java/**/*.java"],
|
|
exclude_srcs: ["bcpkix/src/main/java/org/bouncycastle/cert/ocsp/**/*.java"],
|
|
libs: ["bouncycastle-unbundled"],
|
|
|
|
sdk_version: "core_current",
|
|
}
|
|
|
|
// Bouncycastle OCSP classes in the original org.bouncycastle package for use
|
|
// outside of the platform. e.g. for host or in unbundled apps / CTS tests.
|
|
java_library_static {
|
|
name: "bouncycastle-ocsp-unbundled",
|
|
visibility: unbundled_visibility,
|
|
defaults: ["bouncycastle-defaults"],
|
|
host_supported: true,
|
|
|
|
srcs: [
|
|
"bcpkix/src/main/java/org/bouncycastle/cert/ocsp/**/*.java",
|
|
"bcprov/src/main/java/org/bouncycastle/asn1/ocsp/**/*.java",
|
|
],
|
|
libs: [
|
|
"bouncycastle-unbundled",
|
|
"bouncycastle-bcpkix-unbundled",
|
|
],
|
|
|
|
sdk_version: "core_current",
|
|
}
|
|
|
|
// For compatibility with old bouncycastle-host name.
|
|
//
|
|
// When converting .mk files to .bp files do not change the visibility of this
|
|
// module, instead replace usages of this with bouncycastle-unbundled.
|
|
java_library_host {
|
|
name: "bouncycastle-host",
|
|
static_libs: ["bouncycastle-unbundled"],
|
|
}
|
|
|
|
// Bouncycastle subset for use by frameworks/opt/net/ike project.
|
|
//
|
|
// Avoids including the whole of bouncycastle_unbundled in ike.
|
|
//
|
|
// Specifically, SHA1Digest and MD4Digest (and their dependencies) must be used by IKEv2 to support
|
|
// legacy authentication methods.
|
|
java_library {
|
|
name: "bouncycastle_ike_digests",
|
|
visibility: [
|
|
"//art/build/sdk",
|
|
"//packages/modules/IPsec",
|
|
],
|
|
apex_available: [
|
|
"com.android.ipsec",
|
|
"test_com.android.ipsec",
|
|
],
|
|
srcs: [
|
|
"bcprov/src/main/java/org/bouncycastle/crypto/Digest.java",
|
|
"bcprov/src/main/java/org/bouncycastle/crypto/ExtendedDigest.java",
|
|
"bcprov/src/main/java/org/bouncycastle/crypto/digests/EncodableDigest.java",
|
|
"bcprov/src/main/java/org/bouncycastle/crypto/digests/GeneralDigest.java",
|
|
"bcprov/src/main/java/org/bouncycastle/crypto/digests/MD4Digest.java",
|
|
"bcprov/src/main/java/org/bouncycastle/crypto/digests/SHA1Digest.java",
|
|
"bcprov/src/main/java/org/bouncycastle/util/Memoable.java",
|
|
"bcprov/src/main/java/org/bouncycastle/util/Pack.java",
|
|
],
|
|
sdk_version: "core_current",
|
|
}
|