Merge "Dump and enforce certificate for apks"
This commit is contained in:
commit
bdf0ec03b6
|
@ -0,0 +1,12 @@
|
|||
|
||||
ifeq (true,$(filter true, \
|
||||
$(LOCAL_PRODUCT_MODULE) $(LOCAL_PRODUCT_SERVICES_MODULE) \
|
||||
$(LOCAL_VENDOR_MODULE) $(LOCAL_PROPRIETARY_MODULE)))
|
||||
ifneq (,$(filter $(dir $(DEFAULT_SYSTEM_DEV_CERTIFICATE))%,$(LOCAL_CERTIFICATE)))
|
||||
CERTIFICATE_VIOLATION_MODULES += $(LOCAL_MODULE)
|
||||
ifeq (true,$(PRODUCTS.$(INTERNAL_PRODUCT).PRODUCT_ENFORCE_ARTIFACT_SYSTEM_CERTIFICATE_REQUIREMENT))
|
||||
$(if $(filter $(LOCAL_MODULE),$(PRODUCTS.$(INTERNAL_PRODUCT).PRODUCT_ARTIFACT_SYSTEM_CERTIFICATE_REQUIREMENT_WHITELIST)),,\
|
||||
$(call pretty-error,The module in product partition cannot be signed with certificate in system.))
|
||||
endif
|
||||
endif
|
||||
endif
|
|
@ -77,6 +77,9 @@ ALL_FINDBUGS_FILES:=
|
|||
# GPL module license files
|
||||
ALL_GPL_MODULE_LICENSE_FILES:=
|
||||
|
||||
# Packages with certificate violation
|
||||
CERTIFICATE_VIOLATION_MODULES :=
|
||||
|
||||
# Target and host installed module's dependencies on shared libraries.
|
||||
# They are list of "<module_name>:<installed_file>:lib1,lib2...".
|
||||
TARGET_DEPENDENCIES_ON_SHARED_LIBRARIES :=
|
||||
|
|
|
@ -1096,6 +1096,13 @@ ifdef FULL_BUILD
|
|||
$(TARGET_OUT_SYSTEM_OTHER)/%.vdex \
|
||||
$(TARGET_OUT_SYSTEM_OTHER)/%.art
|
||||
endif
|
||||
|
||||
CERTIFICATE_VIOLATION_MODULES_FILENAME := $(PRODUCT_OUT)/certificate_violation_modules.txt
|
||||
$(CERTIFICATE_VIOLATION_MODULES_FILENAME):
|
||||
rm -f $@
|
||||
$(foreach m,$(sort $(CERTIFICATE_VIOLATION_MODULES)), echo $(m) >> $@;)
|
||||
$(call dist-for-goals,droidcore,$(CERTIFICATE_VIOLATION_MODULES_FILENAME))
|
||||
|
||||
all_offending_files :=
|
||||
$(foreach makefile,$(ARTIFACT_PATH_REQUIREMENT_PRODUCTS),\
|
||||
$(eval requirements := $(PRODUCTS.$(makefile).ARTIFACT_PATH_REQUIREMENTS)) \
|
||||
|
|
|
@ -535,6 +535,7 @@ endif
|
|||
ifeq ($(dir $(strip $(LOCAL_CERTIFICATE))),./)
|
||||
LOCAL_CERTIFICATE := $(dir $(DEFAULT_SYSTEM_DEV_CERTIFICATE))$(LOCAL_CERTIFICATE)
|
||||
endif
|
||||
include $(BUILD_SYSTEM)/app_certificate_validate.mk
|
||||
private_key := $(LOCAL_CERTIFICATE).pk8
|
||||
certificate := $(LOCAL_CERTIFICATE).x509.pem
|
||||
additional_certificates := $(foreach c,$(LOCAL_ADDITIONAL_CERTIFICATES), $(c).x509.pem $(c).pk8)
|
||||
|
|
|
@ -306,6 +306,8 @@ else
|
|||
$(built_module) : PRIVATE_CERTIFICATE := $(LOCAL_CERTIFICATE).x509.pem
|
||||
endif
|
||||
|
||||
include $(BUILD_SYSTEM)/app_certificate_validate.mk
|
||||
|
||||
# Disable dex-preopt of prebuilts to save space, if requested.
|
||||
ifndef LOCAL_DEX_PREOPT
|
||||
ifeq ($(DONT_DEXPREOPT_PREBUILTS),true)
|
||||
|
|
|
@ -204,6 +204,8 @@ _product_var_list := \
|
|||
PRODUCT_COMPATIBLE_PROPERTY_OVERRIDE \
|
||||
PRODUCT_ACTIONABLE_COMPATIBLE_PROPERTY_DISABLE \
|
||||
PRODUCT_ENFORCE_ARTIFACT_PATH_REQUIREMENTS \
|
||||
PRODUCT_ENFORCE_ARTIFACT_SYSTEM_CERTIFICATE_REQUIREMENT \
|
||||
PRODUCT_ARTIFACT_SYSTEM_CERTIFICATE_REQUIREMENT_WHITELIST \
|
||||
PRODUCT_ARTIFACT_PATH_REQUIREMENT_HINT \
|
||||
PRODUCT_ARTIFACT_PATH_REQUIREMENT_WHITELIST \
|
||||
PRODUCT_USE_DYNAMIC_PARTITION_SIZE \
|
||||
|
|
|
@ -367,6 +367,11 @@ PRODUCT_PRODUCT_PROPERTIES := \
|
|||
$(strip $(PRODUCTS.$(INTERNAL_PRODUCT).PRODUCT_PRODUCT_PROPERTIES))
|
||||
.KATI_READONLY := PRODUCT_PRODUCT_PROPERTIES
|
||||
|
||||
ENFORCE_SYSTEM_CERTIFICATE := \
|
||||
$(PRODUCTS.$(INTERNAL_PRODUCT).PRODUCT_ENFORCE_ARTIFACT_SYSTEM_CERTIFICATE_REQUIREMENT)
|
||||
|
||||
ENFORCE_SYSTEM_CERTIFICATE_WHITELIST := \
|
||||
$(strip $(PRODUCTS.$(INTERNAL_PRODUCT).PRODUCT_ARTIFACT_SYSTEM_CERTIFICATE_REQUIREMENT_WHITELIST))
|
||||
|
||||
# A list of property assignments, like "key = value", with zero or more
|
||||
# whitespace characters on either side of the '='.
|
||||
|
|
|
@ -108,7 +108,7 @@ ifdef LOCAL_CERTIFICATE
|
|||
PACKAGES.$(LOCAL_MODULE).CERTIFICATE := $(LOCAL_CERTIFICATE)
|
||||
PACKAGES.$(LOCAL_MODULE).PRIVATE_KEY := $(patsubst %.x509.pem,%.pk8,$(LOCAL_CERTIFICATE))
|
||||
endif
|
||||
|
||||
include $(BUILD_SYSTEM)/app_certificate_validate.mk
|
||||
PACKAGES.$(LOCAL_MODULE).OVERRIDES := $(strip $(LOCAL_OVERRIDES_PACKAGES))
|
||||
|
||||
ifdef LOCAL_SOONG_BUNDLE
|
||||
|
|
|
@ -146,6 +146,9 @@ $(call add_json_str, DexpreoptGlobalConfig, $(DEX_PREOPT_CONFIG))
|
|||
|
||||
$(call add_json_list, ManifestPackageNameOverrides, $(PRODUCT_MANIFEST_PACKAGE_NAME_OVERRIDES))
|
||||
|
||||
$(call add_json_bool, EnforceSystemCertificate, $(ENFORCE_SYSTEM_CERTIFICATE))
|
||||
$(call add_json_list, EnforceSystemCertificateWhitelist, $(ENFORCE_SYSTEM_CERTIFICATE_WHITELIST))
|
||||
|
||||
$(call add_json_map, VendorVars)
|
||||
$(foreach namespace,$(SOONG_CONFIG_NAMESPACES),\
|
||||
$(call add_json_map, $(namespace))\
|
||||
|
|
Loading…
Reference in New Issue