1. 15 Apr, 2013 2 commits
    • Kenny Root's avatar
      keystore: Add flag for blobs to be unencrypted · f9119d64
      Kenny Root authored
      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 0c540aad)
      
      Bug: 8122243
      Change-Id: Ie97f6df1ba141b1ed8007413ec1a834b0486cc2a
      f9119d64
    • Kenny Root's avatar
      keystore: fix bug in clear_uid · 5f531242
      Kenny Root authored
      (cherry picked from commit aae26fc0)
      
      Bug: 8566369
      Change-Id: Ic1b604f6cc0c3a950e7ce1b98604a9fd7419f720
      5f531242
  2. 06 Apr, 2013 1 commit
    • Kenny Root's avatar
      keystore: Add multi-user support · 655b958e
      Kenny Root authored
      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
      655b958e
  3. 05 Apr, 2013 1 commit
  4. 04 Apr, 2013 2 commits
    • Kenny Root's avatar
      Fix CL split and build · ff620c25
      Kenny Root authored
      Change-Id: Ie96b2d22af839b67daed4f194e37864cd50e8463
      ff620c25
    • Kenny Root's avatar
      keystore: fix upgrades · cfeae072
      Kenny Root authored
      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
      cfeae072
  5. 02 Apr, 2013 1 commit
  6. 29 Mar, 2013 1 commit
  7. 21 Mar, 2013 1 commit
    • Kenny Root's avatar
      keystore: change migrate to duplicate · d53bc92f
      Kenny Root authored
      After discussion, it was determined that duplicate would be less
      disruptive and it still fit in the current HAL model.
      
      Change-Id: Id6ff97bfa5ec4cca9def177677263e9be1c9619f
      d53bc92f
  8. 20 Mar, 2013 1 commit
    • Kenny Root's avatar
      keystore: add "migrate" command · 02254077
      Kenny Root authored
      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
      02254077
  9. 19 Mar, 2013 1 commit
    • Kenny Root's avatar
      keystore: allow system UID to WiFi or VPN · 49468908
      Kenny Root authored
      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
      49468908
  10. 14 Feb, 2013 1 commit
    • Kenny Root's avatar
      keystore: Check for unlock, not for specific state · 9d45d1ca
      Kenny Root authored
      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
      9d45d1ca
  11. 13 Feb, 2013 2 commits
    • Kenny Root's avatar
      keystore: add UID to certain APIs · b88c3eb9
      Kenny Root authored
      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
      b88c3eb9
    • Kenny Root's avatar
      keystore: rename uid to callingUid · d38a0b07
      Kenny Root authored
      Change-Id: Ib056ad6b4f2149292100cda9106de19eb7b2e259
      d38a0b07
  12. 07 Feb, 2013 1 commit
  13. 04 Feb, 2013 1 commit
  14. 21 Nov, 2012 1 commit
  15. 14 Nov, 2012 2 commits
    • Kenny Root's avatar
      EINTR handling and debugging for error cases · 150ca934
      Kenny Root authored
      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
      150ca934
    • Kenny Root's avatar
      Switch keystore to binder · 07438c8d
      Kenny Root authored
      Change-Id: I6dacdc43bcc1a56e47655e37e825ee6a205eb56b
      07438c8d
  16. 27 Sep, 2012 1 commit
  17. 20 Aug, 2012 1 commit
  18. 14 Aug, 2012 1 commit
    • Kenny Root's avatar
      keymaster HAL users don't need delete_keypair · 9a53d3ea
      Kenny Root authored
      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
      9a53d3ea
  19. 18 Jul, 2012 2 commits
  20. 11 Apr, 2012 1 commit
  21. 10 Apr, 2012 1 commit
    • Kenny Root's avatar
      Turn on extra compiler checks · da1ed9ab
      Kenny Root authored
      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
      da1ed9ab
  22. 27 Mar, 2012 1 commit
    • Kenny Root's avatar
      Add support for upgrading key types · 822c3a99
      Kenny Root authored
      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
      822c3a99
  23. 26 Mar, 2012 1 commit
    • Kenny Root's avatar
      Add keymaster delete_all call on reset · 298e7b1b
      Kenny Root authored
      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
      298e7b1b
  24. 22 Mar, 2012 1 commit
    • Kenny Root's avatar
      Add keymaster to keystore with soft implementation · 70e3a86a
      Kenny Root authored
      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
      70e3a86a
  25. 13 Mar, 2012 1 commit
    • Kenny Root's avatar
      keystore_client shared library · 51878188
      Kenny Root authored
      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
      51878188
  26. 15 Feb, 2012 1 commit
    • Kenny Root's avatar
      Move keystore from frameworks/base · a91203b0
      Kenny Root authored
      Move keystore from frameworks/base at commit
      57ff581bd9b16a192a567f84d0e0a5c82d866343
      
      Change-Id: I1e62488d63810f14e40ffb3d192925ff4eeb8906
      a91203b0