SignApk: update SignApk to support SHA256withRSA signing

(cherry picked from commit c0581a02ede48007623030c4ce13174ee972cc42)

Change-Id: I6212e0f3a6aa3265b111f0f7348b667af4a668b0
Merge "SignApk: update SignApk to support SHA256withRSA signing"
SignApk: add support for EC keys

Change-Id: I09bc0e52fc84ec321b997016a8f97de1bfd2770d
Merge "SignApk: add support for EC keys"
Read algorithm OID directly from PKCS#8 container

The PKCS#8 PrivateKeyInfo structure has the algorithm OID encoded right
before the actual key octet stream is encoded. Use Bouncycastle to read
the OID for creation with the key factory.

This aids in the creation of custom key types that are backed by
hardware devices (e.g., HSMs) and have their own assigned OIDs.

Change-Id: If5d8fe07bc157e9bb5a3fb5f99091e924143105f
SignApk: add argument for loading a Provider

For supporting loading a custom key type provider, add a -providerClass
argument that loads the selected JCE at the front of the provider list.

Change-Id: I3df16f7c570d36e08806b614d6f30c41cb117565
Merge "Read algorithm OID directly from PKCS#8 container"
Merge "SignApk: add argument for loading a Provider"
x86_64: Adding new target

Add x86_64 Android builds. Compiler is expected to be able to understand
-m64 code generation option.

Change-Id: I99e7337c5a5766afc5e528a481bd21631ff44dd5
Signed-off-by: Pavel Chupin <pavel.v.chupin@intel.com>
Duplicate i686 target arch options for x86_64.

Change-Id: I94a18562c38a20bac526b348eb98c2aba67a431f
Merge "x86_64: Adding new target"
Merge "Duplicate i686 target arch options for x86_64."
Remove useless x86 options that were always hardcoded on.

ARCH_X86_HAVE_MMX, ARCH_X86_HAVE_SSE, ARCH_X86_HAVE_SSE2,
and ARCH_X86_HAVE_SSE3 were all always on. There are no longer any makefiles
or code that are conditional on any of these, so let's just remove them
rather than encourage anyone to mess with knobs that don't work.

Change-Id: I5ee095e8041eecff4554ad4801894fbfca69093f
Merge "Remove useless x86 options that were always hardcoded on."
Add generic aarch64 board config and build rules.

Change-Id: I8b4a377596705dfa0a3bd234162d183ec2ae9530
Merge "Add generic aarch64 board config and build rules."
Remove explicit passing of dynamic loader name

We should trust toolchain on that.

Change-Id: I20dd882d167cc84c262aef245ea2d86c17bc1785
Signed-off-by: Pavel Chupin <pavel.v.chupin@intel.com>
Merge "Remove explicit passing of dynamic loader name"
Explictily specify the dynamic linker name.

Change-Id: Ie456f19cbe3dc8e3a9677638cc705b6eaf77c2b4
Merge "Explictily specify the dynamic linker name."