5c38e7918aea36ee8f516793d5641b05a8de710e |
|
08-Jul-2015 |
Alex Klyubin <klyubin@google.com> |
Reject AlgorithmParameters of wrong type. This makes Android Keystore Cipher implementations reject rather than ignore AlgorithmParameters of wrong algorithm type. The danger in not doing so is that a Cipher will produce output that does not actually depend on the provided AlgorithmParameters. Bug: 22330716 Change-Id: Ifa9de2c74f2fe4b738a3731c895059dddd075a13
/frameworks/base/keystore/java/android/security/keystore/AndroidKeyStoreUnauthenticatedAESCipherSpi.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/keystore/java/android/security/keystore/AndroidKeyStoreUnauthenticatedAESCipherSpi.java
|
00af27b7d9010eb41e45959dab7c4ff6de119897 |
|
02-Jun-2015 |
Alex Klyubin <klyubin@google.com> |
Expose AES GCM backed by Android Keystore. Bug: 18088752 Bug: 21786749 Change-Id: Ica90491037d2920f7635195894ba18882fc4406d
/frameworks/base/keystore/java/android/security/keystore/AndroidKeyStoreUnauthenticatedAESCipherSpi.java
|
a72b55195c23fc06d1600efe8f6aac85290c7f8f |
|
12-Jun-2015 |
Alex Klyubin <klyubin@google.com> |
Obtain entropy later in crypto operations, when possible. This makes Android Keystore crypto operations defer pulling entropy from provided SecureRandom until KeyStore.finish, where appropriate. Such as when performing asymmetric encryption or generating signatures. Bug: 18088752 Change-Id: I4a897754e9a846214cf0995c5514f98cf0edd76b
/frameworks/base/keystore/java/android/security/keystore/AndroidKeyStoreUnauthenticatedAESCipherSpi.java
|
7cbcfd4fc1e538bd391a20cdd00dd1494ace2d0e |
|
28-May-2015 |
Alex Klyubin <klyubin@google.com> |
Refactor Android Keystore CipherSpi base class. This makes Android Keystore's CipherSpi base class suitable for implementing AES and RSA ciphers. Previously, the class was heavily biased towards only AES. Bug: 18088752 Change-Id: I6bd1ca54165592d28482e56471dcfe0344337cf4
/frameworks/base/keystore/java/android/security/keystore/AndroidKeyStoreUnauthenticatedAESCipherSpi.java
|