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
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
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
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
Added paragraph describing security precautions for apps that use
WebView on devices running versions older than Android 4.4. See first
comment for doc stage location.
bug: 19075466
Change-Id: I69937d8dfc37ec1ba693f969500b9dc7404c4635
Most of them are pointless links to a "text/plain" constant which are
far clearer when inlined with the relevant text.
Change-Id: Iaed51b4548cb2836741106dc19c9cf500c205d32
Wrote a training page on how to use Google Play services to update a
device's security provider, which (int. al.) installs a fix against
the recently-discovered SSL CCS injection vulnerability.
Doc is staged to:
http://asolovay.mtv:9338/training/articles/security-gms-provider.html
bug: 16296338
Change-Id: I5b0dd052113998d585a46262b216ef0c1b432362
Add exposition about the use cases for AndroidKeyStore and links to the
API sample application for different use cases.
Bug: 8608817
Change-Id: Ic4ce9405781c92f12687895b28c671661ea5524f
Also remove the duplicate copy of this file. There's a redirect in place
from the old location.
Bug: http://code.google.com/p/android/issues/detail?id=41623
(cherry picked from commit 965da34de94cdb845b64bd676e45b260000cd09d)
Change-Id: I5a940383fb27900ba560822c060cc5ed864eb771