History log of /frameworks/base/core/java/android/security/keymaster/KeymasterArguments.java
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
c781405f43ca06041777f2e382c0d5b7bdeac43a 25-Jun-2015 Alex Klyubin <klyubin@google.com> Merge "Use standard copyright banner in android/security/keymaster." into mnc-dev
8effa36ca6440604cf10bbc34fba2b60ff304f54 25-Jun-2015 Alex Klyubin <klyubin@google.com> Use standard copyright banner in android/security/keymaster.

Bug: 18088752
Change-Id: I22eec18130cc46222d50481164069e7714154979
/frameworks/base/core/java/android/security/keymaster/KeymasterArguments.java
3e7a9e4ec611a1306f8aa5e593c95237030bb5ba 25-Jun-2015 Alex Klyubin <klyubin@google.com> Track rename of INT and LONG Keymaster tag types.

Bug: 22008538
Change-Id: Id0091e59738c828a96305edbfc4f3958e712278b
/frameworks/base/core/java/android/security/keymaster/KeymasterArguments.java
ae6cb7aad56bb006769cd8a69b92af7236644fc1 23-Jun-2015 Alex Klyubin <klyubin@google.com> Keymaster INT, LONG and DATE tag values are unsigned.

This CL ensures that Android Keystore framework code complies with
signedness of keymaster tags. In particular:
* INT tags are unsigned 32-bit numbers, and
* LONG and DATE tags are unsigned 64-bit numbers.

The ensure compliance, KeymasterArguments and KeyCharacteristics
classes through which Android Keystore interacts with Keymaster tags
have been modified as follows:
* ENUM and INT tags which used to be conflated are now added/queried
via separate methods, because ENUM can remain represented as an int
data type whereas INT is now represented as a long data type with
permitted range being [0; 2^32).
* Methods for adding/quering LONG tags have been switched from the long
data type to the BigInteger data type and now ensure that the value
is in the permitted [0; 2^63).
* Methods for adding/querying DATE tags now ensure the Date value is
in the permitted range [0; 2^63) ms since Unix epoch.
* Methods for adding tags throw an IllegalArgumentException if the tag
type is unsuitable for the method. This is to ensure that tags with
invalid values cannot be added through similar methods (e.g., INT tag
added via an ENUM tag addition method invoked with a negative value).

Bug: 22008538
Change-Id: I6eefd5cbb561cc52d27de952691af4d9d5e1af1e
/frameworks/base/core/java/android/security/keymaster/KeymasterArguments.java
d6c7799b9a8b00d160a1d2d32c7326132cbc7b7b 23-Jun-2015 Alex Klyubin <klyubin@google.com> Keymaster key validity dates are optional.

This CL makes Android Keystore framework code add
KM_TAG_ACTIVE_DATETIME, KM_TAG_ORIGINATION_EXPIRE_DATETIME, and
KM_TAG_USAGE_EXPIRE_DATETIME tags to the authorizations set only
if the corresponding time instants were specified through the
framework-level API. This is fine because these tags are optional as
it turns out.

Bug: 18088752
Change-Id: I6a5ae4cadb441e61576231815e6bec6e9248bc72
/frameworks/base/core/java/android/security/keymaster/KeymasterArguments.java
b543b393549ccb2f1aa2cf3a198811fafbc309eb 16-Apr-2015 Chad Brubaker <cbrubaker@google.com> Support KM_LONG_REP

Change-Id: I37814bcb03dc8918e27226ec43230fa4218723d0
/frameworks/base/core/java/android/security/keymaster/KeymasterArguments.java
5927c9f1b12f597839a664c1c6593114175cbcd8 10-Apr-2015 Alex Klyubin <klyubin@google.com> Use JCA names for block modes, paddings, and digests.

This replaces int-based enums from KeyStoreKeyConstraints with
String values commonly used in JCA API.

As part of under the hood refactoring:
* KeyStoreKeyCharacteristics and KeyStoreKeyConstraints have been
merged into KeyStoreKeyProperties.
* KeymasterUtils methods operating on KeymasterArguments and
KeymasterCharacteristics have been moved to their respective
classes.

Bug: 18088752
Change-Id: I9c8b984cb3c28184adb617e34d87f2837bd1d3a1
/frameworks/base/core/java/android/security/keymaster/KeymasterArguments.java
45ff13ea28005b5af0caa80dbdeb09d49bd73faf 21-Jan-2015 Chad Brubaker <cbrubaker@google.com> Add Keymaster 0.4 binder API

This adds the classes for creating and serializing arguments and results
from keymaster as well as the enum values from
hardware/libhardware/include/hardware/keymaster_defs.h which will be
needed for argument creation as well as converting keymaster error
codes into Java exceptions.

Change-Id: I61046756361d43d9f02eea370c2cbd07c3638ea3
/frameworks/base/core/java/android/security/keymaster/KeymasterArguments.java