Additional certificates support for an apk.

Change-Id: I5b35d5728ba9d65f7ece956127270a9ca2ea0efe
diff --git a/core/clear_vars.mk b/core/clear_vars.mk
index e7edbf3..853f9a0 100644
--- a/core/clear_vars.mk
+++ b/core/clear_vars.mk
@@ -128,6 +128,7 @@
 LOCAL_SOURCE_FILES_ALL_GENERATED:= # '',true
 # Don't delete the META_INF dir when merging static Java libraries.
 LOCAL_DONT_DELETE_JAR_META_INF:=
+LOCAL_ADDITIONAL_CERTIFICATES:=
 
 # Trim MAKEFILE_LIST so that $(call my-dir) doesn't need to
 # iterate over thousands of entries every time.
diff --git a/core/definitions.mk b/core/definitions.mk
index 97a909b..8926b2b 100644
--- a/core/definitions.mk
+++ b/core/definitions.mk
@@ -1659,7 +1659,8 @@
 define sign-package
 $(hide) mv $@ $@.unsigned
 $(hide) java -jar $(SIGNAPK_JAR) \
-	$(PRIVATE_CERTIFICATE) $(PRIVATE_PRIVATE_KEY) $@.unsigned $@.signed
+    $(PRIVATE_CERTIFICATE) $(PRIVATE_PRIVATE_KEY) \
+    $(PRIVATE_ADDITIONAL_CERTIFICATES) $@.unsigned $@.signed
 $(hide) mv $@.signed $@
 endef
 
diff --git a/core/package.mk b/core/package.mk
index 358caee..3af1afb 100644
--- a/core/package.mk
+++ b/core/package.mk
@@ -376,6 +376,9 @@
 PACKAGES.$(LOCAL_PACKAGE_NAME).PRIVATE_KEY := $(private_key)
 PACKAGES.$(LOCAL_PACKAGE_NAME).CERTIFICATE := $(certificate)
 
+$(LOCAL_BUILT_MODULE): PRIVATE_ADDITIONAL_CERTIFICATES := $(foreach c,\
+    $(LOCAL_ADDITIONAL_CERTIFICATES), $(c).x509.pem $(c).pk8)
+
 # Define the rule to build the actual package.
 $(LOCAL_BUILT_MODULE): $(AAPT) | $(ZIPALIGN)
 ifdef LOCAL_DEX_PREOPT