History log of /system/keymaster/ec_key_factory.cpp
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
3560f7be392fa7f59844b8c5c54c2d75a62aad7b 01-Dec-2016 Shawn Willden <swillden@google.com> Fully support input to finish() in SoftKeymasterDevice.

SoftKeymasterDevice did not support sending input data to finish() when
wrapping keymaster1 hardware.

Test: CL includes unit tests
Change-Id: Ia1e30295904e93093e1ef7b0514304fbb424bbb7
/system/keymaster/ec_key_factory.cpp
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/ec_key_factory.cpp
fabacaf3e6019804cc8a98a2b8296be1d0125519 26-Mar-2015 Thai Duong <thaidn@google.com> ECIES: add ECIES-KEM. This version supports HKDF and ECDH with NIST curves.

Change-Id: I5af3215e96bb015049574aa18327cd7f7499dbd3
/system/keymaster/ec_key_factory.cpp
1181779c5e6c8627b94067d86db6a2f7d5309674 23-Nov-2015 Shawn Willden <swillden@google.com> Revert "ECIES: add ECIES-KEM. This version supports HKDF and ECDH with NIST curves."

This reverts commit 41998988331ff38e922a59ef008896beb3145ba0.

Change-Id: Ifed6b4e5a69310770373a396271f02da5c9d8934
/system/keymaster/ec_key_factory.cpp
41998988331ff38e922a59ef008896beb3145ba0 26-Mar-2015 Thai Duong <thaidn@google.com> ECIES: add ECIES-KEM. This version supports HKDF and ECDH with NIST curves.

Change-Id: Iea5877eba0a9b13610d3d1b33d04b5657edc3550
/system/keymaster/ec_key_factory.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/ec_key_factory.cpp
efbd7e432228cf1e65abb6d85dffa38ec03f7a26 01-Jun-2015 Shawn Willden <swillden@google.com> Add support for all digests for ECDSA.

Also, switch to useing the EVP API rather than the ECDSA API.

Bug: 21048758
Change-Id: I088b3332285ce2060cac5a7282ec42bea2fa5950
/system/keymaster/ec_key_factory.cpp
398c158a0206217025f327c2d26bb6c86659f5a0 28-May-2015 Shawn Willden <swillden@google.com> Move assymetric key factory declarations to includes.

This exposes EcKeyFactory and RsaKeyFactory so they can be used for
constructing the Trusty KeymasterContext. Note that there are no code
changes, just reorganization.

Change-Id: I8e8e068fb875f9d9c5c35320a545347dc33bc507
/system/keymaster/ec_key_factory.cpp