ee8068b9e7bfb2770635062fc9c2035be2142bd8 |
07-Oct-2013 |
Kenny Root <kroot@google.com> |
Set encrypted flag when appropriate "generate" and "put" were not setting the encrypted flag in the blob written to disk. Add setting the flag whenever appropriate for these functions. Additinally, the master key should always be encrypted. Bug: 11113056 Change-Id: Ibf8f2ad4d5de0732dcc25e1005ad4751683e3b80
eystore.cpp
|
86b16e8c0d353af97f0411917789308dba417295 |
09-Sep-2013 |
Kenny Root <kroot@google.com> |
Move key name creation to common path Bug: 10676015 Change-Id: I781e142217959a8a068844b9cb041282b8ae2a74
eystore.cpp
|
1b0e3933900c7ea21189704d5db64e7346aee7af |
05-Sep-2013 |
Kenny Root <kroot@google.com> |
Add argument to binder call to check key types Before there was only one key type supported, so we didn't need to query a key type. Now there is DSA, EC, and RSA, so there needs to be another argument. Bug: 10600582 Change-Id: I864e5aa0484ae44ccfaf859560700cfc34f58711
KeystoreService.cpp
nclude/keystore/IKeystoreService.h
eystore.cpp
|
17208e0de5a42722901d803118745cca25fd10c1 |
04-Sep-2013 |
Kenny Root <kroot@google.com> |
Provide fallback for keymaster implementations Some implementations won't support ECDSA or DSA, so provide a fallback for them by using the softkeymaster implementation. This will allow us to universally support ECDSA and DSA on all platforms regardless of HAL version. Bug: 10600582 Change-Id: Ib842816cc1415ec00abb7d22c8e9b6bbe58f6a86
ndroid.mk
nclude/keystore/keystore.h
eyblob_utils.cpp
eystore.cpp
|
96427baf0094d50047049d329b0779c3c910402c |
16-Aug-2013 |
Kenny Root <kroot@google.com> |
Add support for DSA and ECDSA key types (cherry picked from commit 6071179a371fcd4c238375068ffd7d3cedea615d) Bug: 10600582 Change-Id: I0d851bbe1230a31033614c9f9b9de94f1f842618
KeystoreService.cpp
efaults.h
nclude/keystore/IKeystoreService.h
eystore.cpp
|
0fa9b7f8ffa47fee236656ce0a2f03250f86c9dc |
24-Jun-2013 |
Kenny Root <kroot@android.com> |
am a65d5236: Merge "Add 1 byte for the NULL char. This bug was causing CTS failures and stack corruption for Mips." * commit 'a65d5236d0823b5ef72554ffb3ec15ae02596047': Add 1 byte for the NULL char. This bug was causing CTS failures and stack corruption for Mips.
|
a77e809ecff5190790906fb7a3c527259c735071 |
14-Jun-2013 |
Douglas Leung <douglas@mips.com> |
Add 1 byte for the NULL char. This bug was causing CTS failures and stack corruption for Mips. Change-Id: Ib7e8eb0e79ee55fffb8cf36371688ba544734029 Signed-off-by: Douglas Leung <douglas@mips.com>
eystore.cpp
|
60898896c3f3b2245d10076cac64346c956dbaa5 |
17-Apr-2013 |
Kenny Root <kroot@google.com> |
keystore: fix import as other UIDs The targetUid was not being used as the user to store the key as, so it was ending up under the calling UID. This change matches the code for insert and generate now. (cherry picked from commit 360f51f7af191316cd739f229db1c5f7233be063) Bug: 8634328 Change-Id: I6bb9f66687552af990fdf90501f183930910ba8d
eystore.cpp
|
360f51f7af191316cd739f229db1c5f7233be063 |
17-Apr-2013 |
Kenny Root <kroot@google.com> |
keystore: fix import as other UIDs The targetUid was not being used as the user to store the key as, so it was ending up under the calling UID. This change matches the code for insert and generate now. Bug: 8634328 Change-Id: Iedbbdaa0ac77f3aedb32a719458b5b503a66efd5
eystore.cpp
|
f9119d6414f43ef669d64e9e53feb043eda49cf3 |
03-Apr-2013 |
Kenny Root <kroot@google.com> |
keystore: Add flag for blobs to be unencrypted In order to let apps use keystore more productively, make the blob encryption optional. As more hardware-assisted keystores (i.e., hardware that has a Keymaster HAL) come around, encrypting blobs start to make less sense since the thing it's encrypting is usually a token and not any raw key material. (cherry picked from commit 0c540aad5915e6aa34345049be96f28b64d0e84c) Bug: 8122243 Change-Id: Ie97f6df1ba141b1ed8007413ec1a834b0486cc2a
KeystoreService.cpp
nclude/keystore/IKeystoreService.h
nclude/keystore/keystore.h
eystore.cpp
eystore_cli.cpp
|
5f53124250025d3113c9c598a2f101330144b10c |
12-Apr-2013 |
Kenny Root <kroot@google.com> |
keystore: fix bug in clear_uid (cherry picked from commit aae26fc0e58c99ac8e0df69b913523e81fa15d66) Bug: 8566369 Change-Id: Ic1b604f6cc0c3a950e7ce1b98604a9fd7419f720
eystore.cpp
|
5d884972cac7c20b6b1c9ad9148872b07c974e69 |
13-Apr-2013 |
Kenny Root <kroot@google.com> |
Merge "keystore: Add flag for blobs to be unencrypted" into jb-mr2-dev
|
aae26fc0e58c99ac8e0df69b913523e81fa15d66 |
12-Apr-2013 |
Kenny Root <kroot@google.com> |
keystore: fix bug in clear_uid Bug: 8566369 Change-Id: I92a37bb709bc491a305cf5b6a5e68b6ac1a8aa24
eystore.cpp
|
0c540aad5915e6aa34345049be96f28b64d0e84c |
03-Apr-2013 |
Kenny Root <kroot@google.com> |
keystore: Add flag for blobs to be unencrypted In order to let apps use keystore more productively, make the blob encryption optional. As more hardware-assisted keystores (i.e., hardware that has a Keymaster HAL) come around, encrypting blobs start to make less sense since the thing it's encrypting is usually a token and not any raw key material. Bug: 8122243 Change-Id: I7d70122beb32b59f06a923ade93234393b75a2cd
KeystoreService.cpp
nclude/keystore/IKeystoreService.h
nclude/keystore/keystore.h
eystore.cpp
eystore_cli.cpp
|
a6fe620941f04b55ecefb8f82d866a264cac9b9e |
10-Apr-2013 |
Ying Wang <wangying@google.com> |
Add liblog Bug: 8580410 Change-Id: I0d9b208021c35ad37fdbc4518aa6e76d65184c25
ndroid.mk
|
68b4631982761f3fdad8886fb7bb81defad79363 |
04-Apr-2013 |
Kenny Root <kroot@google.com> |
keystore: Add multi-user support Split the directories out per-user. Each Android user ID gets its own directory and master key. This gives each user its own locked/unlocked state. Add migration code that converts existing keystores to this scheme. This even migrates keys that used the non-public API, but only for the primary user. The secondary users may have a different lock screen pattern that would no longer work to unlock the master key. (cherry picked from commit 655b958eb2180c7c06889f83f606d23421bf038c) Bug: 7249554 Change-Id: Icfc117d9bc68bd88997ab03673fb77b581acf3f7
eystore.cpp
|
655b958eb2180c7c06889f83f606d23421bf038c |
04-Apr-2013 |
Kenny Root <kroot@google.com> |
keystore: Add multi-user support Split the directories out per-user. Each Android user ID gets its own directory and master key. This gives each user its own locked/unlocked state. Add migration code that converts existing keystores to this scheme. This even migrates keys that used the non-public API, but only for the primary user. The secondary users may have a different lock screen pattern that would no longer work to unlock the master key. Bug: 7249554 Change-Id: Ie135235ab1eb88ddb2d89a6cb4ffd8fb6736c573
eystore.cpp
|
4d93d24624f270f024b7d4b9d3bf6c11a1e209a6 |
05-Apr-2013 |
Kenny Root <kroot@google.com> |
keystore: fix inverted hardware keystore check Check should be that the 'is_software' flag is off. (cherry picked from commit 483407eaca108d3717bb49770915d6d95d5d0e0c) Change-Id: I031a035beeec581e9af2207ae37c39aa39e3539c
eystore.cpp
|
483407eaca108d3717bb49770915d6d95d5d0e0c |
05-Apr-2013 |
Kenny Root <kroot@google.com> |
keystore: fix inverted hardware keystore check Check should be that the 'is_software' flag is off. Change-Id: Ic03ef957f6aa62b959b24fe8e4ff202f431aab89
eystore.cpp
|
2ca3b1b25e8ceb841396061a318d3a043cbfcb54 |
04-Apr-2013 |
Kenny Root <kroot@google.com> |
Fix CL split and build (cherry picked from commit ff620c25d1af495c74cdeb4e5a652adf6858cf88) Change-Id: I8cdf964a6ca8ad0206b263dfcab297fd894f6927
eystore.cpp
|
ff620c25d1af495c74cdeb4e5a652adf6858cf88 |
04-Apr-2013 |
Kenny Root <kroot@google.com> |
Fix CL split and build Change-Id: Ie96b2d22af839b67daed4f194e37864cd50e8463
eystore.cpp
|
7a310fbb5815b3c1ad965d58f4976afca2a721c6 |
04-Apr-2013 |
Kenny Root <kroot@google.com> |
keystore: fix upgrades During an upgrade, a blob would be written out to disk. Whenever a blob is written to disk, it is encrypted in-place. After upgrade, keystore would attempt to use the blob, but get garbage instead of what it expected since it was encrypted. This moves the work of writing up a level so it can then re-read the blob after upgrade. (cherry picked from commit cfeae072c96d84f286ddbf0aff8055c12c7c4f15) Bug: 7249554 Change-Id: I1be5ecafa6d39fdcce10d9d3623f23440cac8c6e
eystore.cpp
|
cfeae072c96d84f286ddbf0aff8055c12c7c4f15 |
04-Apr-2013 |
Kenny Root <kroot@google.com> |
keystore: fix upgrades During an upgrade, a blob would be written out to disk. Whenever a blob is written to disk, it is encrypted in-place. After upgrade, keystore would attempt to use the blob, but get garbage instead of what it expected since it was encrypted. This moves the work of writing up a level so it can then re-read the blob after upgrade. Bug: 7249554 Change-Id: I3946c5db1c2fc57ace476db04f792e3b82d1cb15
eystore.cpp
|
2ecc7a1efbb21d86d38b9e0348dfbf0e1213d920 |
02-Apr-2013 |
Kenny Root <kroot@google.com> |
keystore: command to clear all keys for UID Add ability for system UID to clear all entries for a different UID. (cherry picked from commit a9bb549868035e05450a9b918f8d7de9deca5343) Bug: 3020069 Change-Id: Ibd5ce287f024b89df3dd7bfc3a4e5f979a34c75c
KeystoreService.cpp
nclude/keystore/IKeystoreService.h
eystore.cpp
|
a9bb549868035e05450a9b918f8d7de9deca5343 |
02-Apr-2013 |
Kenny Root <kroot@google.com> |
keystore: command to clear all keys for UID Add ability for system UID to clear all entries for a different UID. Bug: 3020069 Change-Id: Ibfeea6aae9006cb2ef7052ead72b2704dfce3cb4
KeystoreService.cpp
nclude/keystore/IKeystoreService.h
eystore.cpp
|
4306123e81371bd8bd85f77c2375d29ac53ff771 |
29-Mar-2013 |
Kenny Root <kroot@google.com> |
keystore: add API to query storage type Add an API to query the HAL to see what kind of storage it reports the device is. (cherry picked from commit 8ddf35a6e1fd80a7d0685041d2bfc77078277c9d) Change-Id: I04a9421053a0b8bbe4f0dd73fefdfdbe4ab4add9
KeystoreService.cpp
nclude/keystore/IKeystoreService.h
eystore.cpp
|
8ddf35a6e1fd80a7d0685041d2bfc77078277c9d |
29-Mar-2013 |
Kenny Root <kroot@google.com> |
keystore: add API to query storage type Add an API to query the HAL to see what kind of storage it reports the device is. Change-Id: I37951e989ad724e2352df6e321f03f19e58b4fca
KeystoreService.cpp
nclude/keystore/IKeystoreService.h
eystore.cpp
|
d53bc92f1cc4eb669ec015480cebe5ae7aaaf7cf |
21-Mar-2013 |
Kenny Root <kroot@google.com> |
keystore: change migrate to duplicate After discussion, it was determined that duplicate would be less disruptive and it still fit in the current HAL model. Change-Id: Id6ff97bfa5ec4cca9def177677263e9be1c9619f
KeystoreService.cpp
nclude/keystore/IKeystoreService.h
eystore.cpp
|
0225407783ee339164a0cd8ca5ef04c99d27c59a |
20-Mar-2013 |
Kenny Root <kroot@google.com> |
keystore: add "migrate" command To support the WiFi service, we need to support migration from the system UID to the wifi UID. This adds a command to achieve the migration. Bug: 8122243 Change-Id: I31e2ba3b3a92c582a6f8d71bbb139c408c06814f
KeystoreService.cpp
nclude/keystore/IKeystoreService.h
eystore.cpp
|
494689083467ec372a58f094f041c8f102f39393 |
19-Mar-2013 |
Kenny Root <kroot@google.com> |
keystore: allow system UID to WiFi or VPN Previously we redirected all calls from the wifi or vpn UIDs to the system UID's namespace. This switches the paradigm to allow system to write into wifi and vpn UID keystore spaces instead. Change-Id: Ib9144cb12435b09ab2e8c24b75366cf9762965fe
eystore.cpp
|
9d45d1caba5135e6b8bd6d05d449e8dcf52b6802 |
14-Feb-2013 |
Kenny Root <kroot@google.com> |
keystore: Check for unlock, not for specific state Most callers only care if the keystore is unlocked for use and not whether it's in a specific state. Change this now so we can change the states later. Change-Id: I2de87c84fd16b33ee9e3eca3843a8260e1f5af87
eystore.cpp
|
e289c404b9d2735fbd67c42086e33c972b46aa33 |
14-Feb-2013 |
Kenny Root <kroot@google.com> |
KeyStore: return null instead of empty list During a failure, return a null value instead of an empty list. Change-Id: I34763c90eb65b0ed6bbe2757310992541feeb1a8
KeystoreService.cpp
|
b88c3eb96625513df4cc998d739d17266ebaf89f |
13-Feb-2013 |
Kenny Root <kroot@google.com> |
keystore: add UID to certain APIs This will allow explicit indication of which UID to put things under for trusted UIDs (e.g., system UID) in a future change instead of putting things only in the calling UID. Change-Id: Ifc321a714d874a1142890138101ce4166906f413
KeystoreService.cpp
nclude/keystore/IKeystoreService.h
eystore.cpp
eystore_cli.cpp
|
d38a0b07a3104fcb1e747a0fa06641dee8fc058f |
13-Feb-2013 |
Kenny Root <kroot@google.com> |
keystore: rename uid to callingUid Change-Id: Ib056ad6b4f2149292100cda9106de19eb7b2e259
eystore.cpp
|
70c9889c5ca912e7c492580e1999f18ab65b267b |
07-Feb-2013 |
Kenny Root <kroot@google.com> |
Remove Value and ValueString classes This was left-over from previous changes and nothing really used it any more. Change-Id: Id7bb58ffbc3f5b7f337e9bdbe8d0be315105cb26
eystore.cpp
|
a806bbd518ff3e67e4d4efb937ff8f23bae18585 |
05-Feb-2013 |
Kenny Root <kroot@google.com> |
Merge "Fix for error condition in IKeystoreService"
|
b03c9fb5f9c058a8ae0485c986a8ab934ab73eaa |
05-Feb-2013 |
Kenny Root <kroot@google.com> |
Fix for error condition in IKeystoreService When an error condition happens, keystore might memcpy a NULL pointer which would cause a SIGSEGV. Avoid trying to copy it in that case. Bug: 8019596 Change-Id: Ifcfc75401c41595fc2c2f0172c718c8d3bb93020
KeystoreService.cpp
|
36a9e231e03734cd2143383d26388455c1764e17 |
04-Feb-2013 |
Kenny Root <kroot@google.com> |
Fix mtime via Binder Change-Id: I3d5e3d4114d40902a6cf25a4c8ffabea4cc7851f
eystore.cpp
|
5281edbc9445065479e92a6c86da462f3943c2ca |
22-Nov-2012 |
Kenny Root <kroot@google.com> |
Actually terminate on EOF Change-Id: I02729444a822bd2d3c9a6fd6e118079e2d8973e4
eystore.cpp
|
6a9cafc30a90b3dfd188212a105ef57c32ed7541 |
16-Nov-2012 |
Kenny Root <kroot@google.com> |
Add Android.mk as a dependency as well Change-Id: I19e91eb766fcc55e9a610421a67a7c8706fdaa46
ndroid.mk
|
150ca934edb745de3666a6492b039900df228ff0 |
14-Nov-2012 |
Kenny Root <kroot@google.com> |
EINTR handling and debugging for error cases Some interruptable syscalls were not wrapped with TEMP_FAILURE_RETRY while others were. Add them where necessary. Additionally, some error cases were not logging any messages so things would mysteriously fail if there was an underlying filesystem problem. Change-Id: I0b789376b2971fa8aaaff7eac21a90a9a94afac8
eystore.cpp
|
07438c8d7256d3788dac323b4d0055f201e0bec9 |
02-Nov-2012 |
Kenny Root <kroot@google.com> |
Switch keystore to binder Change-Id: I6dacdc43bcc1a56e47655e37e825ee6a205eb56b
ndroid.mk
KeystoreService.cpp
nclude/keystore/IKeystoreService.h
nclude/keystore/keystore.h
nclude/keystore/keystore_get.h
eystore.cpp
eystore.h
eystore_cli.cpp
eystore_client.cpp
eystore_client.h
eystore_get.cpp
eystore_get.h
|
c3cb851b5028011d7bdd0afbfbd7d9d62c2d8997 |
14-Sep-2012 |
Pavel Chupin <pavel.v.chupin@intel.com> |
Add casts to avoid build warnings with gcc-4.7 Example: keystore.cpp:1339:35: error: narrowing conversion of 'CommandCodes[0]' from 'command_code_t {aka unsigned char}' to 'int8_t {aka signed char}' Change-Id: I8cd239880821724050d1716b78851807e0246ef2 Signed-off-by: Pavel Chupin <pavel.v.chupin@intel.com>
eystore.cpp
eystore_client.cpp
|
344e0bc23ca46b9acec97ac8bcd87949bde0ccab |
15-Aug-2012 |
Kenny Root <kroot@google.com> |
Add getmtime command for keys This allows you to check when a key was last modified. Change-Id: I167844d9a50e26aadfc73a2252b937d2ef09f09d
eystore.cpp
eystore.h
|
9a53d3eaf42104ddf02feeccec3cf7f5c1a34bae |
14-Aug-2012 |
Kenny Root <kroot@google.com> |
keymaster HAL users don't need delete_keypair The keymaster HAL implementations don't need the delete_keypair method, but keystore currently throws an error when it's not implemented. This causes problems with at least the OpenSSL software implementation. Bug: 6985351 Change-Id: I3d7f7dce2a6d4aad38c20f555ab16aa45f1823b8
eystore.cpp
|
a8c703d9fdd98e3caefb6e74cd03c2878cecd0a1 |
17-Jul-2012 |
Brian Carlstrom <bdc@google.com> |
Handle keynames with special characters such as - and . Bug: http://code.google.com/p/android/issues/detail?id=34577 Bug: 6837950 (cherry-picked from 0114bd9f9bbc2458ca77bf3508e7c15992a432b1) Change-Id: I0c265fe73c1b2c430ffd196a21691264f8f3b555
eystore.cpp
|
e95ce35d10d6e0a7315a57f30d9c88d89880a4e1 |
07-Apr-2012 |
Amith Yamasani <yamasani@google.com> |
Allow calls from secondary user Settings app. This is so that Face Unlock can be a valid option for a lockscreen. Otherwise get a PERMISSION_DENIED when uid = 101000. Change-Id: I0085b27dbd4d2f1988ba654acadd72c30f76a47e
eystore.cpp
|
da1ed9ab99c00698af64ec655ff668efffe2960d |
10-Apr-2012 |
Kenny Root <kroot@google.com> |
Turn on extra compiler checks Turn on the compiler flags -Wall -Wextra -Werror to make sure no compiler warnings are added to the project. Eliminate all unused arguments. Remove unused variables in code. Change-Id: I0940ba897ac716b4a256f94fcd671f1ff5abc62c
ndroid.mk
eystore.cpp
|
822c3a99d930e9299e2fad2fb3e0ff91b119b95a |
24-Mar-2012 |
Kenny Root <kroot@google.com> |
Add support for upgrading key types Old key types were not distinguished by the keystore itself. This change takes some of the reserved fields in the old format and changes it to a version number and key type. Change-Id: I45bd4cdce042617641fe7bd742bbe26da6024996
ndroid.mk
eyblob_utils.cpp
eystore.cpp
eystore.h
|
298e7b1b0f9116e2054d594d7538379d86585035 |
26-Mar-2012 |
Kenny Root <kroot@google.com> |
Add keymaster delete_all call on reset To allow efficient deletion by hardware keymaster modules, add a direct delete_all call when keystore is reset. This will also probably fix problems where the hardware keymaster gets more keys than keystore knows about and fills up its storage. Change-Id: I452e2e609802201dc7db2f52f95b44d72f79efa2
eystore.cpp
|
70e3a86abd2c412d602a018967c01c177eb6cf4e |
16-Feb-2012 |
Kenny Root <kroot@google.com> |
Add keymaster to keystore with soft implementation Add hardware crypto capabilities to keystore. This allows hardware escrow of private key material. There is also an OpenSSL engine that connects to keystore to allow use of the keystore keys from native code built into the platform. This includes a software implementation of keymaster using OpenSSL as the backend. This is just as insecure as the previous solution, but it's needed so devices without hardware support can continue to operate in the new scheme without a lot of compatibility code. Change-Id: I2bc67766e1f633ef1cbbd2874a65962074e84f4f
ndroid.mk
eystore.cpp
eystore.h
|
5187818895c4c5f650a611c40531b1dff7764c18 |
13-Mar-2012 |
Kenny Root <kroot@google.com> |
keystore_client shared library Add a libkeystore_client.so library for clients to use. Add const-correctness to the keystore.cpp classes. Increase maximum arguments for future work. Change-Id: Ia22f8b893aea3115a7b4a0543ad392c17c8528f2
ndroid.mk
eystore.cpp
eystore.h
eystore_client.cpp
eystore_client.h
|
a91203b08350b2fc7efda5b1eab39e7541476b3a |
16-Feb-2012 |
Kenny Root <kroot@google.com> |
Move keystore from frameworks/base Move keystore from frameworks/base at commit 57ff581bd9b16a192a567f84d0e0a5c82d866343 Change-Id: I1e62488d63810f14e40ffb3d192925ff4eeb8906
ndroid.mk
eystore.cpp
eystore.h
eystore_cli.cpp
eystore_get.h
est-keystore
|