History log of /system/keymaster/android_keymaster_utils.cpp
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
ba0d5d01bde427b7d7a22cec84cd9304c00b4e14 25-Apr-2016 Shawn Willden <swillden@google.com> Fix SoftKeymaster handling of EC curve specification.

Keymaster2 should accept EC curve specification either by key size (as
done in KM1) or with the new KM_TAG_EC_CURVE, filling in the other value
if not specified, and validating that they match if both are
provided. SoftKeymaster doesn't correctly implement this KM2
requirement.

Bug: 28365747
Change-Id: I27d98b71730b69bb2f0c2543af6c027b1a5670f1
/system/keymaster/android_keymaster_utils.cpp
e3e33cc8688fbf037974d1f1ae22c11b9e67d361 24-Jun-2015 Shawn Willden <swillden@google.com> Limit dup_buffer to 16 MiB allocations.

Bug: 21888473
Change-Id: I14c658f5c57bd551e4d136b7d6146b8efdfacf27
/system/keymaster/android_keymaster_utils.cpp
0f906ec40f6ade7955c6b967ea522aade54ea2e4 20-Jun-2015 Shawn Willden <swillden@google.com> Add buffer wrap checks and disable throwing of std::bad_alloc.

Android is built with exceptions disabled, but "operator new" and
"operator new[]" still throw std::bad_alloc on failure rather than
returning new. In general this is a good thing, because it will cause
an immediate crash of the process rather than assigning a null pointer
which is probably not checked. But most memory allocations in Keymaster
are checked, because it's written to run in an environment where new
does *not* throw. This CL updates the code to explicitly use the
non-throwing new.

A handful of throwing news remain, but only in places where a crash on
failure is appropriate.

In addition, this CL also inserts buffer wrap checks in key locations
and changes the development-machine Makefile to build in 32-bit mode, to
make memory problems more apparent.

Bug: 21888473
Change-Id: I8ebc5ec12053e4f5274f6f57ce312abc10611cef
/system/keymaster/android_keymaster_utils.cpp
b6837e7a62a1192e33beef586282812239ee8b28 16-May-2015 Shawn Willden <swillden@google.com> Remove references to Google in Android keymaster reference implementation.

Change-Id: I05de61353fc806b90232fab7c1d1cf76aefa35fc
/system/keymaster/android_keymaster_utils.cpp