Add support for DSA and ECDSA key types

Change-Id: Ibee8d172eeb36f1a2e2ce62f275aea55ada5bcbf
Merge "Add support for DSA and ECDSA key types"
am 96427baf: Add support for DSA and ECDSA key types

* commit '96427baf0094d50047049d329b0779c3c910402c':
  Add support for DSA and ECDSA key types
am 17208e0d: Provide fallback for keymaster implementations

* commit '17208e0de5a42722901d803118745cca25fd10c1':
  Provide fallback for keymaster implementations
am 1b0e3933: Add argument to binder call to check key types

* commit '1b0e3933900c7ea21189704d5db64e7346aee7af':
  Add argument to binder call to check key types
am 47041552: Revert to old-style API for EC_KEY handling

* commit '47041552bd545846a1b7787823af4b5ca9e36dea':
  Revert to old-style API for EC_KEY handling
am 86b16e8c: Move key name creation to common path

* commit '86b16e8c0d353af97f0411917789308dba417295':
  Move key name creation to common path
am f25805e3: am 1d486fb3: am 02d44fe7: Move key name creation to common path

* commit 'f25805e36356cf09dc4853224b24e969ad55651f':
  Move key name creation to common path
Revert to old-style API for EC_KEY handling

Nothing using the EVP_PKEY correctly, so we should revert to the EC_KEY
and ECDSA interfaces. Unfortunately, the SSL client certificate library
uses EC_KEY directly, so just having the EVP_PKEY interface doesn't
work.

Remove the EVP_PKEY interface entirely because it just adds complexity
since the EC_KEY path will do the same thing.

(cherry picked from commit 47041552bd545846a1b7787823af4b5ca9e36dea)

Bug: 10655329
Change-Id: Ibf8c36780fe93284b88e91b7860baf1b951b4266
Merge "Revert to old-style API for EC_KEY handling"
Provide fallback for keymaster implementations

Some implementations won't support ECDSA or DSA, so provide a fallback
for them by using the softkeymaster implementation. This will allow us
to universally support ECDSA and DSA on all platforms regardless of HAL
version.

(cherry picked from commit 17208e0de5a42722901d803118745cca25fd10c1)

Bug: 10600582
Change-Id: Ic02102cb2b7f66e2ad3469f4edd9d03c4ae3fdf4
Add argument to binder call to check key types

Before there was only one key type supported, so we didn't need to query
a key type. Now there is DSA, EC, and RSA, so there needs to be another
argument.

(cherry picked from commit 1b0e3933900c7ea21189704d5db64e7346aee7af)

Bug: 10600582
Change-Id: I52418ade881d053229dd3c1d0cf438823468b51b
Merge changes I52418ade,Ic02102cb

* changes:
  Add argument to binder call to check key types
  Provide fallback for keymaster implementations
am c7fe66ea: Merge "Revert to old-style API for EC_KEY handling"

* commit 'c7fe66ead0ce5fde575359527110fe2616321594':
  Revert to old-style API for EC_KEY handling
am cabc0202: Merge changes I52418ade,Ic02102cb

* commit 'cabc02029fb9027df7dcde287396ddcc11f3c279':
  Add argument to binder call to check key types
  Provide fallback for keymaster implementations
Use canonical UniquePtr.h header

Change-Id: Iab1dc428c2330a07a5944a1cfbb25c8134b11950
Merge "Use canonical UniquePtr.h header"
am ace0b422: Merge "Use canonical UniquePtr.h header"

* commit 'ace0b4229a8ad6682e4439e3853de923c91628dc':
  Use canonical UniquePtr.h header
am ee8068b9: Set encrypted flag when appropriate

* commit 'ee8068b9e7bfb2770635062fc9c2035be2142bd8':
  Set encrypted flag when appropriate
Fix some spots where targetUid was missed

Some of the targetUid arguments weren't used where they should have
been.

Change-Id: Ief5df897440ddfb572feb57026a6057d64c7c09b