Commit Graph

9 Commits

Author SHA1 Message Date
Alex Klyubin
6f023640a3 Document what algorithms Android Keystore supports.
This updates the Android platform SDK documentation to list which
algorithms are supported by Android Keystore on which Android
platforms.

The list is similar in design to the one in SSLSocket and SSLEngine.

Bug: 22661043
Change-Id: I08fcf65ca58ead644100b673dceb93c67f34f507
2015-07-22 12:04:39 -07:00
Alex Klyubin
83cc7a347f Improve documentation for keys requiring user auth.
Bug: 18088752
Change-Id: I24eeb33790a74d8d81d10fcdb1eb058d47144c44
2015-06-17 11:08:29 -07:00
Jim Miller
f501b58de8 Update and cleanup FingerprintManager API to new spec
Fixes bug 21040383

Change-Id: Ib97d486535869814d5b449cccb31670e8f412552
2015-06-08 16:36:29 -07:00
Alex Klyubin
3c5d5f0b4a Document the security features of Android Keystore.
Bug: 18088752
Change-Id: Iec995e39065d9c4f159cb4eea38486f9c75de072
2015-05-19 08:39:31 -07:00
Alex Klyubin
3f8d4d8408 New AndroidKeyStore API in android.security.keystore.
This CL addresses the comments from API Council about Android KeyStore
KeyPairGeneratorSpec, KeyGeneratorSpec and KeyStoreParameter:
1. These abstractions should not take or hold references to Context.
2. The Builders of these abstractions should take all mandatory
   parameters in their constructors rather than expose them as
   setters -- only optional paratemers should be exposed via setters.

These comments cannot be addressed without deprecation in the already
launched KeyPairGeneratorSpec and KeyStoreParameter. Instead of
deprecating just the getContext methods and Builder constructors, this
CL goes for the nuclear option of deprecating KeyPairGeneratorSpec and
KeyStoreParameter as a whole and exposing all of the AndroidKeyStore
API in the new package android.security.keystore. This enables this CL
to correct all of the accrued design issues with KeyPairGeneratorSpec
(e.g., naming of certificate-related methods) and KeyStoreParameter.

This also makes the transition to API Level M more clear for existing
users of the AndroidKeyStore API. These users will only have to deal
with the new always-mandatory parameters (e.g., purposes) and
sometimes-mandatory (e.g., digests, block modes, paddings) if they
switch to the new API. Prior to this CL they would've had to deal with
this if they invoked any of the new methods of KeyPairGeneratorSpec
or KeyStoreParameter introduced in API Level M.

This CL rips out all the new API introduced into KeyPairGeneratorSpec
and KeyStoreParameter classes for Android M, thus reverting these
classes to the API launched in L MR1. This is because the new API is
now in android.security.keystore.KeyGenParameterSpec and KeyProtection
respectively.

Bug: 21039983
Change-Id: I59672b3c6ef7bc25c40aa85f1c47d9d8a05d627c
2015-05-13 12:49:58 -07:00
Alex Klyubin
68c33d52bf Switch to KeyguardManager.isDeviceSecure.
isKeyguardSecure also returns true when SIM PIN is required. We don't
care about that because entering SIM PIN does not unlock keys
requiring user authentication. isDeviceSecure returns true only if
secure lock screen is set up, which is exactly what we want.

Bug: 18088752
Change-Id: I47b21f3351f55c11e8e9bcfd7654762973dd9271
2015-05-08 08:47:19 -07:00
Alex Klyubin
1eda77ae21 Align AndroidKeyStore API with user auth API.
This simplifies the AndroidKeyStore API around user authentication: no
more explicit control over which user authenticators are bound to
which keys.

User-authenticated keys with timeout are unlocked by whatever unlocks
the secure lock screen (currently, password/PIN/pattern or
fingerprint). User-authenticated keys that need authentication for
every use are unlocked by fingerprint only.

Bug: 20526234
Bug: 20642549
Change-Id: I1e5e6c988f32657d820797ad5696797477a9ebe9
2015-04-28 17:39:30 -07:00
Alex Klyubin
9b3e005a4e Unhide the new AndroidKeyStore API.
Bug: 18088752
Change-Id: I93f87cbb1cd04a4a2e34f3d544d678c92cf052ee
2015-04-13 11:34:04 -07:00
Robert Ly
716cc7dcac Add documentation for AndroidKeyStore
Add exposition about the use cases for AndroidKeyStore and links to the
API sample application for different use cases.

Bug: 8608817
Change-Id: Ic4ce9405781c92f12687895b28c671661ea5524f
2014-05-07 21:20:01 -07:00