1062 Commits

Author SHA1 Message Date
Seth Moore
c73fe01f16 Don't re-wrap DeviceIdAttestationExceptions
Instead of always wrapping errors in a DeviceIdAttestationException,
check to see if the underlying cause was originally a
DeviceIdAttestationException. If so, unwrap the cause and just re-throw
that, preserving the original error.

Bug: 183827468
Test: GtsGmsCoreSecurityTestApp
Change-Id: Iab78ccaff91dd1de615e1d2b18f709027aecd59e
2021-05-05 17:41:38 -07:00
Paul Crowley
0809d53d07 Merge changes from topic "biometric-unlocked-required" am: c36995ec84 am: cf5f4d6cbf am: 9c975f2335
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1671106

Change-Id: I2c7e8050ca82f81ca865a76bd11a39d82eb09dcc
2021-04-28 20:26:08 +00:00
Paul Crowley
336b5db809 Tell keystore which SIDs can unlock this user
If biometric unlock is enabled, we tell keystore at lock time so that
a key can be set up in KM which unlocks UNLOCKED_DEVICE_REQUIRED keys
based on auth tokens carrying those SIDs. This also has the effect that
if there is no biometric unlock, UNLOCKED_DEVICE_REQUIRED keys have
full cryptographic protection, per NIAP requirements.

Test: aosp/1686345
Bug: 163866361
Change-Id: Ia4d01faa998c76b2b33ad3520730466ac59e6d8d
2021-04-27 10:34:33 -07:00
Treehugger Robot
a5c88fd6ee Merge "Keystore 2.0 SPI: Fix engineDoFinal with null input." am: 06df6d84eb am: 3310a9a81f am: eaca45fcf3
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1680128

Change-Id: I2ad6bfc44915687bc24c0ec60ebf99244f4758b1
2021-04-23 18:26:33 +00:00
Treehugger Robot
06df6d84eb Merge "Keystore 2.0 SPI: Fix engineDoFinal with null input." 2021-04-23 17:53:34 +00:00
Pavel Grafov
f8cd83ff2d Merge "Make sure DPC knows if revoke fails" into sc-dev 2021-04-22 16:13:34 +00:00
Janis Danisevskis
70cf430ede Keystore 2.0 SPI: Fix engineDoFinal with null input.
AndroidKeyStoreCipherSpiBase.engineDoFinal may get called with a null
input argument. In the case where we forward the operation to the
default provider doFinal() needs to be called instead of
doFinal(byte[], int, int).

Bug: 183913233
Test: atest android.keystore.cts.CipherTest#testEncryptsAndDecryptsUsingCipherStreams
Change-Id: Ia3afaf281be7c8e5493ac8e4155a7aa02d1d37f0
2021-04-22 14:55:45 +00:00
Nikita Iashchenko
8798556669 Merge "Remove usage of Math.randomLongInternal" am: c931f43bcd am: 267fc8b764 am: 7716e67ea3
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1682025

Change-Id: I67913263f9bfb5380d915e716f19511db847a339
2021-04-22 10:10:54 +00:00
Nikita Iashchenko
c931f43bcd Merge "Remove usage of Math.randomLongInternal" 2021-04-22 09:10:52 +00:00
Treehugger Robot
9271023eed Merge "Keystore 2.0: Add namespace locksettings." am: 6bcd65c99e am: 965c7e3c91 am: c40e1d5131
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1676196

Change-Id: Ifa0aafc8c2f5d412e2336c55db027277d94ca84e
2021-04-21 17:02:29 +00:00
Rubin Xu
5c81a3b1b4 Merge "Keystore 2.0: Add key migration API." am: d42f1be8eb am: a48b43ec42 am: 87a312952c
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1676925

Change-Id: Id028c5a629cd6a5c58604af4bff12c5779e38911
2021-04-21 17:02:03 +00:00
Treehugger Robot
6bcd65c99e Merge "Keystore 2.0: Add namespace locksettings." 2021-04-21 15:53:32 +00:00
Rubin Xu
d42f1be8eb Merge "Keystore 2.0: Add key migration API." 2021-04-21 15:52:17 +00:00
Pavel Grafov
67f11e65ca Make sure DPC knows if revoke fails
Bug: 183098396
Test: atest MixedDeviceOwnerTest#testKeyManagement
Change-Id: I89b51a1fb4be3b53eb46a7c194924b5255cd262b
2021-04-21 15:48:45 +01:00
Nikita Iashchenko
1bc8a1f886 Remove usage of Math.randomLongInternal
As a part of internal libcore API cleanup some of the functions
previously exposed are getting removed from public surface.
Math#randomLongInternal is a wrapper around java.util.Random and has no
specific implications so its usages are get refactored.

Bug: 154796679
Test: m droid
Change-Id: I29e0e9307fbaf9c1ac018b83014efb2d3dd74479
2021-04-21 14:10:43 +00:00
Alex Johnston
c271813dcf Cred mng app URI documentation
* Add URI matching documentation

Bug: 177979648
Test: build docs
Change-Id: I44d40e919cce1b4f955f562b1cf6cbad450b4b58
2021-04-21 13:50:35 +01:00
Janis Danisevskis
52e19940b1 Keystore 2.0: Add namespace locksettings.
This namespace is required by LocksettingsService to protect the
synthetic password key from removal when the user removes the
credentials or wipes AID_SYSTEM app data.

Bug: 184664830
Test: N/A
Change-Id: Ie752a75d2cb2ebf1f4e5814bc2cbc807cc754c21
2021-04-20 15:32:56 +00:00
Janis Danisevskis
e5ae08e49d Merge "Fix operation auth bound keys." am: b3671c4ab5 am: f941d3fb5b am: 0992040e48
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1677200

Change-Id: Ie4972c2b9da95515b3e98f66af716e7d1fcf156c
2021-04-17 07:09:40 +00:00
Janis Danisevskis
8c97d4fe79 Fix operation auth bound keys.
CryptoObject still called the legacy AndroidKeystoreProvider which did
not return the correct operation handle for per operation auth bound
keys.

Bug: 184804041
Bug: 185181377
Test: CtsVerifier->Security->Biometric Tests->2a Strong Biometrics +
      Crypto
Merged-In: I0bceff0425e7ef32c394f33deda3c78f729c0c6c
Change-Id: I0bceff0425e7ef32c394f33deda3c78f729c0c6c
2021-04-16 12:55:33 -07:00
Janis Danisevskis
cbe7e963ab Keystore 2.0: Add key migration API.
The key migration API is required by locksettingsservice to move the
synthetic password key out of AID_SYSTEM to protect it from deletion
when the user removes credentials from AID_SYSTEM.

Bug: 184664830
Test: N/A
Change-Id: I8d0ffb79870affc8ac055574b6f808a984aa5e52
2021-04-16 14:21:40 +01:00
Treehugger Robot
41069eb17e Merge "Keystore 2.0 SPI: Make getAttestationIds return an empty array." am: 1f82f476c0 am: cf64e636a8 am: 1a4f20ceac
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1664321

Change-Id: I8c1146a0b86cfca21bf9f3e837b4315cca3d5f86
2021-04-08 18:14:54 +00:00
Janis Danisevskis
464e6c415f Keystore 2.0 SPI: Make getAttestationIds return an empty array.
getAttestationIds shall return an empty array instead of null.

Bug: 184026478
Test: N/A
Change-Id: I6c6233fa50a83cf7d6354d2783525704a3b39d0d
2021-04-07 14:38:57 -07:00
Max Bires
abe43dcc85 Merge "Fixing array cast." am: caa4617084 am: 4737ee5fa4 am: ce59601017
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1649541

Change-Id: I88ec6146f4b2bbfd159eb124fd01dcdc4b0b6f1f
2021-04-06 02:18:11 +00:00
Max Bires
caa4617084 Merge "Fixing array cast." 2021-04-06 01:17:24 +00:00
Janis Danisevskis
9ba0f37f8a Merge "Keystore 2.0: Remove Keystore 1.0 SPI with all remaining references" am: a8b1b1a2e6 am: 08945c21ef am: 66ead4fb0b
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1624872

Change-Id: I08fcf329e59c309d9292edc846653b02e7a60f21
2021-04-03 02:02:03 +00:00
Janis Danisevskis
a6dcf091f5 Keystore 2.0: Remove Keystore 1.0 SPI with all remaining references
Bug: 171305684
Test: CtsKeystoreTestCases
Change-Id: I337515dadc9e45b909bff058d4e13371b4fa843c
2021-04-01 17:06:41 -07:00
Treehugger Robot
9864e155a8 Merge "[LSC] Add LOCAL_LICENSE_KINDS to frameworks/base" am: 7226ad3729 am: a087245e03 am: 3dd40d172b
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1661581

Change-Id: I99cb5fd94c4ee02688709ad00e3ffbc3e2f388e7
2021-04-01 13:47:07 +00:00
Bob Badour
de423b7a58 [LSC] Add LOCAL_LICENSE_KINDS to frameworks/base
Added SPDX-license-identifier-Apache-2.0 to:
  drm/java/Android.bp
  graphics/java/Android.bp
  identity/Android.bp
  identity/java/Android.bp
  keystore/java/Android.bp
  location/java/Android.bp
  location/tests/Android.bp
  lowpan/java/Android.bp
  media/mca/effect/java/Android.bp
  media/mca/filterfw/java/Android.bp
  media/mca/filterpacks/java/Android.bp
  mime/java/Android.bp
  mms/java/Android.bp
  opengl/java/Android.bp
  rs/java/Android.bp
  sax/java/Android.bp
  services/tests/servicestests/test-apps/PackageParsingTestManifests/Android.bp
  telecomm/java/Android.bp
  telephony/common/Android.bp
  tests/FlickerTests/test-apps/Android.bp

Added SPDX-license-identifier-Apache-2.0 SPDX-license-identifier-BSD to:
  telephony/java/Android.bp

Bug: 68860345
Bug: 151177513
Bug: 151953481

Test: m all

Exempt-From-Owner-Approval: janitorial work
Change-Id: I2ee0af9ce8f74de2172b359b41d2c52a8b8f7e6c
2021-03-31 19:55:25 -07:00
Anton Hansson
5013902a24 Merge changes I97086e30,Ic55df4cf,I81a08c29 am: 4199ef90b9 am: 4bc578052d am: ec1f981309
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1655736

Change-Id: I5d242cf5b18c4b556105cfcfe78df2ac18a8544e
2021-03-31 18:01:32 +00:00
Anton Hansson
9b2c4a650b Move framework java filegroups into subdirectories
All the java code used to build the framework jar and run metalava
was previously defined in the toplevel Android.bp files. Move these
into the subdirs where the source actually lives.

This simplifies the rules themselves (no path and needless prefix) and
declutters the top level Android.bp.

Test: m
Change-Id: I97086e309eacb879d16facb8497d9940fa5ddaf6
2021-03-30 12:26:55 +01:00
Steven Moreland
dffcfd90c9 Merge "Keystore 2.0: Update to canonical service name." am: 5fdf93fc9d am: 615236ca66 am: d99097637f
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1649648

Change-Id: I9b247f6b3372f1babb19505bd67d026a279b5ec3
2021-03-29 19:08:45 +00:00
Steven Moreland
5fdf93fc9d Merge "Keystore 2.0: Update to canonical service name." 2021-03-29 17:02:31 +00:00
Max Bires
8b190a9d68 Merge "Adding AIDL and functions for talking to RemoteProvisioner" am: e7f48b9926 am: 2ace49a7bf am: 6cd0a977b5
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1650991

Change-Id: I1e6c2d71e3ab7f9331df45d233e23619a50e5f38
2021-03-25 01:38:03 +00:00
Max Bires
e7f48b9926 Merge "Adding AIDL and functions for talking to RemoteProvisioner" 2021-03-25 00:03:09 +00:00
Janis Danisevskis
048f9ac0b4 Merge "Keystore 2.0: Disable BackendBusyException." am: 11c25156a2 am: 5c1c388b7e am: 5f23e40e43
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1651535

Change-Id: If8e9025292ae3bcde4b1b8fe14f6bd93bd4e1dbc
2021-03-24 20:40:05 +00:00
Janis Danisevskis
11c25156a2 Merge "Keystore 2.0: Disable BackendBusyException." 2021-03-24 19:02:46 +00:00
Janis Danisevskis
e8884d1aff Merge "Keystore 2.0: Add onDeviceOffBody to AndroidKeyStoreMaintenance." am: e36f515441 am: bbc3e7552a am: 79a4f2b785
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1651545

Change-Id: Ie8034c409dfb4bb25eeca697723849309addbe8d
2021-03-24 19:00:49 +00:00
Janis Danisevskis
e36f515441 Merge "Keystore 2.0: Add onDeviceOffBody to AndroidKeyStoreMaintenance." 2021-03-24 18:32:35 +00:00
Janis Danisevskis
5d1c590723 Keystore 2.0: Disable BackendBusyException.
This disables throwing BackendBusyException in Android S. Instead we
keep the legacy behavior of spinning until an operation can be created.

Bug: 180133780
Test: N/A
Change-Id: I802148c59338b91e751498607fa903e156e40aa6
2021-03-24 09:22:56 -07:00
Max Bires
7fd458dc44 Adding AIDL and functions for talking to RemoteProvisioner
This change adds an AIDL interface which the RemoteProvisioner app
implements that allows the keystore SPI to inform the app when an
attestation key may have been used, and when the underlying attestation
key pool is totally empty. The former is a non-blocking call, and the
latter blocks until completion.

Since the latter involves network, there are timeouts involved on the
app side to ensure that the blocking call doesn't hang indefinitely if
there's no network.

Test: atest CtsKeystoreTestCases && atest RemoteProvisionerUnitTests

Change-Id: Ie49e37659c96ce5c1626d1b99a4a7ccc62028156
2021-03-24 01:13:10 -07:00
Janis Danisevskis
fd5cba4483 Keystore 2.0: Add onDeviceOffBody to AndroidKeyStoreMaintenance.
Also have KeyStore.onDeviceOffBody call
AndroidKeyStoreMaintenance.onDeviceOffBody.

Test: N/A
Bug: 171305684
Change-Id: I0b01764bfc4c5828d17ccfffb4f8dad5f3bcea6d
2021-03-23 19:18:55 -07:00
Janis Danisevskis
146ae7ffbb Merge "Keystore 2.0: Add @IntDef for Keystore namespaces." am: faabd1a836 am: 15d9a3ab42 am: a32dc0fbe2
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1649668

Change-Id: I9059f8c84bf57ea2668ea1209d2a2125796bb178
2021-03-23 20:34:27 +00:00
Max Bires
68ebc12979 Fixing array cast.
This fix properly casts the Certificate[] returned by KeyStore to an
X509Certificate.

Bug: 182825370
Test: atest GtsGmscoreHostTestCases
Change-Id: If1e7cbbe612217b92067f76f8d13d1a0002e1579
2021-03-23 09:15:31 -07:00
Treehugger Robot
860c3a8ea3 Merge "Keystore: Fix Device ID attestation test." am: c56709a2c4 am: 738d6b3be4 am: e3409f7af4
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1646359

Change-Id: I7382cd13ac4cfc99f2b72b7185fa4af8152bedb9
2021-03-23 13:57:30 +00:00
Janis Danisevskis
68570cc5a7 Keystore 2.0: Add @IntDef for Keystore namespaces.
Bug: 182914789
Test: N/A
Change-Id: Ibdfd2a4a37d7200317ef449ef857f34401625237
2021-03-22 17:43:32 -07:00
Janis Danisevskis
f3064ba0b3 Keystore 2.0: Update to canonical service name.
Bug: 179907868
Test: N/A
Change-Id: I74adab04bd84f120bc547011151ea77769b6bda9
2021-03-22 14:57:28 -07:00
Janis Danisevskis
8875f872de Keystore: Fix Device ID attestation test.
Test: atest android.keystore.cts.KeyAttestationTest#testDeviceIdAttestation
Bug: 182606921
Change-Id: Ie8dbc4a2829fb7f70188c5d903e748060c5869ce
2021-03-20 21:29:21 -07:00
Yo Chiang
7d66876dce Merge "Keystore 2.0: Fix infinit recursion." am: 544f3d5211 am: d68724597d am: bcd0c980ff
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1645913

Change-Id: I685b5bf126dd50c2b9ac1e062132e782110e3e9d
2021-03-19 09:44:27 +00:00
Janis Danisevskis
8758b2ceaf Keystore 2.0: Fix infinit recursion.
Fix endless recursion when Cipher is initialized with
AndroidKeyStorePrivateKey.

Fixes: 183167349
Test: atest android.keystore.cts.AndroidKeyStoreTest#testKeyStore_Encrypting_RSA_NONE_NOPADDING
Change-Id: I5b4166fb1a4e298072f7156ba61a64966e86dc53
2021-03-19 08:09:34 +00:00
Treehugger Robot
be1b1d5550 Merge "Keystore 2.0: Fix diagnosing invalid key in CipherSpiBase." 2021-03-18 23:46:37 +00:00