Wrap incomplete keymaster1 implementations with sw keymaster.

SoftKeymasteDevice can provide software digesting and padding for
keymaster1 implementations that don't provide all of the required
digests.  This CL modifies keymaster to check for such keymaster1
implementations and add a SoftKeymasterDevice wrapper.

The SoftKeymasterDevice work necessary to make this function would have
required adding an implementation of the keymaster0 API import_keypair
in terms of keymaster1 API calls (import_key).  Rather than do that, I
instead implemented the relevant keystore function directly on the
keymaster1 API.  This approach is cleaner than adding the same code into
the translation layer, and allows removal of the last vestiges of
keymaster0 API usage from keystore.

Bug: 22529223
Change-Id: Ie4c7bba7943a549f35df3086dccea001edb5bb2b
1 file changed
tree: 246d99085befe94534590f9cefcc8555e9d39e8e
  1. keystore/
  2. keystore-engine/
  3. softkeymaster/