Commit Graph

458 Commits

Author SHA1 Message Date
Eran Messeri
5da05ee3ed KeyStore: Verbose error reporting
Report KeyStore/KeyMint error messages via public API.

This lets developers find out:
* Whether an error is transient or not.
* Whether a failure is due to a system error
(system configuration/state/capabilities), or a key-related error.
* Whether user authentication is required to use the key.

Test: atest CtsKeystorePerformanceTestCases CtsKeystoreTestCases
Bug: 197890905
Change-Id: I776d9e9cc01a9dc3542a63000ee0709847760963
2021-12-14 15:22:35 +00:00
Dave McCloskey
2a548a596a Create the system service for AVF & hook the manager to it.
Bug: 201696614
Change-Id: I4a7a830ba809ed59a030a87c4f479199685d8a42
Test: atest AttestationVerificationTest
2021-11-29 14:55:24 -08:00
Dave McCloskey
b9b25ef742 Adds the basic API of the attestation verification framework.
Bug: 201696614
Change-Id: I59d90091106db6e6343f3a6fb698f01559841137
Test: N/A (non-functional API definition)
CTS-Coverage-Bug: 201337503
2021-11-29 10:08:41 -08:00
Dave McCloskey
8c168ff244 Adds OWNERS files for files related to Attestation Verification
Framework.

Bug: 201696614
Test: N/A
Change-Id: Id1758282963875de5c4909ab6ffff92df4e0d30f
2021-10-20 14:46:53 -07:00
Eran Messeri
71d57d976e Remove ASSOCIATED_DATA tag
Remove the ASSOCIATED_DATA tag since it is unused.

Bug: 183737811
Test: That it compiles.
Change-Id: If0d051c36f9f7ba6fa8578b6c99256c71f1f03df
2021-06-22 13:15:01 +01:00
David Drysdale
390dbd728a Merge "Align KeyMint AIDL with usage" am: 6b8f292b17 am: eb393d45f0 am: 3a19c2f0fc
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1682041

Change-Id: I49b837ec97c427131c40fe9a4b88d5383cceb65b
2021-04-27 18:06:44 +00:00
David Drysdale
5e4e97fc06 Align KeyMint AIDL with usage
- Drop unused Tag::BLOB_USAGE_REQUIREMENTS

Test: TreeHugger, VtsKeyMintAidlTargetTest (CF)
Change-Id: I2550e941afd06cf24896b77b644f8a56f20727c7
2021-04-22 15:55:30 +01: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
Dmitry Dementyev
7d21d719a5 Merge "Migrate recoverablekeystore to KeyStore V2." am: dbf8a7c1bd am: 26085ee2ff am: 25de7c49b8
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1603470

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I4c23d408e34d6305784e54b7ef00a258b4ea6fab
2021-03-01 08:07:59 +00:00
Dmitry Dementyev
16491e1316 Migrate recoverablekeystore to KeyStore V2.
Test: manual
Bug: 171305545
Change-Id: Id415be48cab6852df155b5b2dbaf941ef54cd5a4
2021-02-25 16:42:15 -08:00
Shawn Willden
c418d4ef15 Merge "Add support for app-generated attestation keys." am: 50a66e39cd am: 2da3a280d2 am: bbdb4d9ee5
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1584474

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I0e4b2bcfa54953e37452a7533a89b49586596502
2021-02-17 20:49:09 +00:00
Shawn Willden
bffded442a Add support for app-generated attestation keys.
This allows apps to request that AndroidKeyStore generate attestation
keys that can be used to sign attestations of other keys that the app
generates or imports.

Bug: 163606833
Test: atest CtsKeystoreTests
Change-Id: I943a6922271cbe909cb3a9d67021663b5646aa70
2021-02-17 06:46:13 -07:00
Janis Danisevskis
9741311bc4 Merge "Keystore 2.0 SPI: Add CERTIFICATE_* tags." am: 14a82f7983 am: 4b875e5524 am: fccde53e0a
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1566352

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I1d1e8eda85dc9c415fea10a23f345d94da8b2290
2021-02-08 17:50:49 +00:00
Janis Danisevskis
14a82f7983 Merge "Keystore 2.0 SPI: Add CERTIFICATE_* tags." 2021-02-08 16:52:16 +00:00
Qi Wu
cca3d81204 Add limited use keys related API into Keystore 2.0 SPI.
Bug: b/174140443
Test: atest CtsKeystoreTestCases

The new CTS tests for this feature is introduced in aosp/1556464

Change-Id: I9620c4a3e5d2c10ed8a50d494e63eb2fb19dabef
Merged-In: I9620c4a3e5d2c10ed8a50d494e63eb2fb19dabef
2021-02-03 07:17:04 +00:00
Qi Wu
fcb4e8ee2d Add limited use keys related API into Keystore 2.0 SPI.
Bug: b/174140443
Test: atest CtsKeystoreTestCases

The new CTS tests for this feature is introduced in aosp/1556464

Change-Id: I9620c4a3e5d2c10ed8a50d494e63eb2fb19dabef
2021-02-03 07:11:33 +00:00
Janis Danisevskis
f5c1e0433d Keystore 2.0 SPI: Add CERTIFICATE_* tags.
Certificate subject, serial, not before and not after information is now
passed to keystore/keymint for certificate generation.
Also makeDate accepts negative time values for dates predating Jan 1970
because the CTS tests likes to generate historic certificates.

Test: Keystore CTS tests.
Change-Id: I7ce664b010222298bda8049aad48f7db155a836d
2021-01-31 20:40:20 -08:00
Treehugger Robot
d6e1adf8e5 Merge "ECDH SPI interface" am: e43b86d5b1 am: 5e78686425 am: 42cc0967a5
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1542804

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: Id09498294433c647915894a00d6b1f5e92acebb4
2021-01-28 14:59:03 +00:00
Bram Bonné
b3c666454e ECDH SPI interface
Test: atest KeyAgreementTest
Bug: 171847641
Change-Id: I7cb0c713e3797bb738a6134c690824e762346d4f
2021-01-27 10:54:47 +01:00
Treehugger Robot
5bdd02628d Merge "Keystore 2.0: Android Protected Confirmation" am: 30841f177c am: 3443d2b671 am: ca6272cf1e
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1508897

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I9bb924273fb712efb270e8afbe194604ce1f90ce
2021-01-06 01:52:47 +00:00
Janis Danisevskis
976991edea Merge "Add owners for Protected Confirmation implementation." am: 9bb6231bd2 am: 2fb83e12c7 am: 0d2b2dd166
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1532298

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I5cdda7f97b5bcaf111acba6143ae24ab0bf7e107
2020-12-16 23:06:28 +00:00
Janis Danisevskis
81d75b4c52 Keystore 2.0: Android Protected Confirmation
Bug: 160930927
Test: CtsVerifier
Change-Id: I9cc325eafbee2aa4257a3ccbe525091a1cae806d
2020-12-16 10:47:56 -08:00
Janis Danisevskis
fb68656a99 Add owners for Protected Confirmation implementation.
Test: N/A
Change-Id: Ib10884acd284a243d2898fc5a1eeedca5e8c4551
2020-12-16 09:57:11 -08:00
Treehugger Robot
30f8a371b7 Merge "Revert "Revert "Keystore 2.0 SPI: Move keymint spec to security ..."" am: dd8891acbe am: 4ac4916c8d am: cf7203f5d3
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1525189

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I024a2f38dfd2432ae77d6a032c27fc8389cf62dc
2020-12-12 01:07:05 +00:00
Shawn Willden
f5a002c222 Revert "Revert "Keystore 2.0 SPI: Move keymint spec to security ..."
Revert "Revert "Keystore 2.0: Move keymint spec to security name..."

Revert "Revert "Keystore 2.0: Move keymint spec to security name..."

Revert^2 "Remove references to keymint1"

34536a352803a08776cc4f373d93a94e1fcbf98e

Bug: 175345910
Bug: 171429297
Change-Id: I694e677e4e20419440f12cb7981f0c0c4ca29e08
2020-12-11 20:36:10 +00:00
Orion Hodson
525a22a777 Merge "Revert "Keystore 2.0 SPI: Move keymint spec to security namespace."" am: bc641a41d8 am: 9e21ecbcb4 am: 1de159412b
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1525805

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: Ie45400513bc12278a68c8af1b5a12ba754f048c5
2020-12-11 14:02:26 +00:00
Shawn Willden
577c22a23e Merge "Keystore 2.0 SPI: Move keymint spec to security namespace." am: f0c3865132 am: 50df7a46cf am: ce6b4c47e2
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1521879

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I085ddcc310b6189ae313959c9a0f349404faa178
2020-12-11 11:01:03 +00:00
Orion Hodson
6acd9c63e7 Revert "Keystore 2.0 SPI: Move keymint spec to security namespace."
Revert "Keystore 2.0: Move keymint spec to security namespace."

Revert "Keystore 2.0: Move keymint spec to security namespace."

Revert "Move keymint to android.hardware.security."

Revert "Configure CF to start KeyMint service by default."

Revert "Move keymint to android.hardware.security."

Revert "Move keymint to android.hardware.security."

Revert submission 1522123-move_keymint

Reason for revert: Build breakage
Bug: 175345910
Bug: 171429297
Reverted Changes:
Ief0e9884a:Keystore 2.0: Move keymint spec to security namesp...
Idb54e8846:Keystore 2.0: Move keymint spec to security namesp...
I9f70db0e4:Remove references to keymint1
I2b4ce3349:Keystore 2.0 SPI: Move keymint spec to security na...
I2498073aa:Move keymint to android.hardware.security.
I098711e7d:Move keymint to android.hardware.security.
I3ec8d70fe:Configure CF to start KeyMint service by default.
Icbb373c50:Move keymint to android.hardware.security.
I86bccf40e:Move keymint to android.hardware.security.

Change-Id: Icd279f358db2387bf2bf232b0548762fab51e67d
2020-12-11 10:45:43 +00:00
Janis Danisevskis
8954dfa092 Keystore 2.0 SPI: Move keymint spec to security namespace.
Test: N/A
Change-Id: I2b4ce3349baf29eb67a31f0c436b964d69d70b02
2020-12-09 13:53:32 -08:00
Jeff Sharkey
0ab7007631 resolve merge conflicts of 358f0d4fc8 to master
Bug: 174932174
Test: I solemnly swear I tested this conflict resolution.
Exempt-From-Owner-Approval: refactoring with team leads buy-in
Change-Id: I9262a08ffc1ccede8e519d0eed90ed2bfcf0232c
2020-12-08 11:01:05 -07:00
Jeff Sharkey
fab0ab3c9c Improve OWNERS coverage across frameworks/base/.
As general background, OWNERS files expedite code reviews by helping
code authors quickly find relevant reviewers, and they also ensure
that stakeholders are involved in code changes in their areas.

Some teams under frameworks/base/ have been using OWNERS files
successfully for many years, and we're ready to expand them to cover
more areas.  Here's the historical coverage statistics for the last
two years of changes before these new OWNERS changes land:

-- 56% of changes are fully covered by OWNERS
-- 17% of changes are partially covered by OWNERS
-- 25% of changes have no OWNERS coverage

Working closely with team leads, we've now identified clear OWNERS on
a per-package basis, and we're using "include" directives whenever
possible to to simplify future maintenance.  With this extensive
effort, we've now improved our coverage as follows:

-- 98% of changes are fully covered by OWNERS
-- 1% of changes are partially covered by OWNERS
-- 1% of changes have no OWNERS coverage

This specific change is automatically generated by a script from
detailed ownership information confirmed by team leads.

Bug: 174932174
Test: manual
Exempt-From-Owner-Approval: refactoring with team leads buy-in
Merged-In: I9789c97c1de8e5d962b48c29c57d82fe83729eba
Change-Id: I9789c97c1de8e5d962b48c29c57d82fe83729eba
2020-12-08 08:36:27 -07:00
Treehugger Robot
84839730c1 Merge "Revert "Revert "Keystore SPI: Initialize KeymasterDefs contants with AIDL generated enums""" am: c565f2bd57 am: 563c167f73 am: f1d47c7b00
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1512902

Change-Id: Iaae86ff91e2faee4340a37ec34fd76798247f8d4
2020-12-01 02:42:11 +00:00
Janis Danisevskis
96a0716a8a Revert "Revert "Keystore SPI: Initialize KeymasterDefs contants with AIDL generated enums""
This reverts commit efec091bcb.

Reason for revert: aosp/1513473 fixed the underlying issue That make this revert necessary.

Change-Id: Ic99a6d080b4b1140924cb89d44b1f650f283a28d
2020-11-30 16:30:02 +00:00
Louis Chang
4429864202 Merge "Revert "Keystore SPI: Initialize KeymasterDefs contants with AIDL generated enums"" am: 9233cb2be8 am: 2399198f26 am: bb1d23d071
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1512878

Change-Id: Ic0aaef95b8a9dd09161ed346982c8b3947418f96
2020-11-30 15:58:43 +00:00
Louis Chang
efec091bcb Revert "Keystore SPI: Initialize KeymasterDefs contants with AIDL generated enums"
This reverts commit 2a66fc6144.

Reason for revert: b/174445211

Change-Id: I286327d8db19d50d3dd9602a2d0bd368d331c0c4
2020-11-30 07:36:55 +00:00
Janis Danisevskis
95290b2266 Merge "Keystore SPI: Initialize KeymasterDefs contants with AIDL generated enums" am: 136fcd2a56 am: 1a59bf1dc2 am: 6dd168558e
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1475677

Change-Id: I919b08cd59919c32bc6f94d1c61c25c9a7931f57
2020-11-27 21:58:40 +00:00
Janis Danisevskis
2a66fc6144 Keystore SPI: Initialize KeymasterDefs contants with AIDL generated enums
Test: None
Change-Id: Ic6b776a3bc0b7eea7a84ef9ec54258eb0a160864
2020-11-23 22:02:45 -08:00
Bram Bonné
420816da1f Merge "Adds two missing Keymaster definitions." am: 6d7e4c43d6 am: faefa76349 am: d914fc3925
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1505232

Change-Id: I4a8d625c0af0229daf0daa65f81159a4f56a0245
2020-11-23 14:42:51 +00:00
Bram Bonné
b60861b281 Adds two missing Keymaster definitions.
Adds KM_TAG_BOOT_PATCHLEVEL and KM_TAG_VENDOR_PATCHLEVEL.

Bug: 173681969
Test: atest KeyAttestationTest
Change-Id: I4e94376241b37fd57c183e7865ae99a4770658c9
2020-11-19 10:15:02 +01:00
Mathew Inwood
f8abe13db4 Merge "Add maxTargetSdk restriction to unused APIs." 2020-11-09 14:41:20 +00:00
Treehugger Robot
9ad8254a96 Merge changes Ib3c9affb,I1dbe3d02,I88681f21 am: 1f65c6b62e am: f2abffe107 am: df8410e677 am: 15e1f8f5eb
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1451015

Change-Id: Ia0c6195e820a04d5ac0a330a0813d308d0eb0c08
2020-11-06 02:32:52 +00:00
Treehugger Robot
15e1f8f5eb Merge changes Ib3c9affb,I1dbe3d02,I88681f21 am: 1f65c6b62e am: f2abffe107 am: df8410e677
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1451015

Change-Id: I654b14fb0386d5bea6d22e37a394b00c1f66a87c
2020-11-06 02:14:41 +00:00
Janis Danisevskis
d2c944bc4d Keystore SPI: Add SecurityLevelEnum to KeyProperties
This patch adds the SecurityLevelEnum to KeyProperties. This enum can be
used by the public API surface to express levels of enforcements of key
properties. And to select a designated residence for a newly generated
or imported key.

The values UNKNOWN and UNKNOWN_SECURE are used to convey to older target
APIs API levels that have not been defined when they where published.

Test: None
Change-Id: I88681f21b8a8ea9a383d32ba99f3ab7d7c8909c3
2020-11-05 13:11:12 -08:00
Mathew Inwood
5d123b6775 Add maxTargetSdk restriction to unused APIs.
These are APIs that have @UnsupportedAppUsage but for which we don't
have any evidence of them currently being used, so should be safe to
remove from the unsupported list.

Bug: 170729553
Test: Treehugger
Merged-In: I626caf7c1fe46c5ab1f39c2895b42a34319f771a
Change-Id: I54e5ecd11e76ca1de3c5893e3a98b0108e735413
2020-11-04 09:45:53 +00:00
Janis Danisevskis
a18b2db113 Merge changes I7c17ab51,I5bd4acb4,I93270f00 am: 18bbac10c1 am: 68acc834d4 am: c04b6004a3 am: 9060b67f0f
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1470088

Change-Id: Iaca7385d86f44b1c1cb8625340c8e5a6033d10c7
2020-11-02 21:28:34 +00:00
Janis Danisevskis
9060b67f0f Merge changes I7c17ab51,I5bd4acb4,I93270f00 am: 18bbac10c1 am: 68acc834d4 am: c04b6004a3
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1470088

Change-Id: I59184b7d4a01b1478599b53b6f7dd1fc3b3c5465
2020-11-02 21:14:04 +00:00
Mathew Inwood
5f0edaaaf5 Add maxTargetSdk restriction to unused APIs.
These are APIs that have @UnsupportedAppUsage but for which we don't
have any evidence of them currently being used, so should be safe to
remove from the unsupported list.

Bug: 170729553
Test: Treehugger
Merged-In: I8285daa8530260251ecad6f3f38f98e263629ca7
Change-Id: I626caf7c1fe46c5ab1f39c2895b42a34319f771a
2020-11-02 10:30:09 +00:00
Mathew Inwood
8e742f928e Add maxTargetSdk restriction to unused APIs.
These are APIs that have @UnsupportedAppUsage but for which we don't
have any evidence of them currently being used, so should be safe to
remove from the unsupported list.

This is a resubmit of ag/12929664 with some APIs excluded that caused
test failures; see bugs 171886397, 171888296, 171864568.

APIs excluded:
Landroid/bluetooth/le/ScanRecord;->parseFromBytes([B)Landroid/bluetooth/le/ScanRecord;
Landroid/os/Process;->myPpid()I
Landroid/os/SharedMemory;->getFd()I
Landroid/hardware/input/InputManager;->INJECT_INPUT_EVENT_MODE_WAIT_FOR_FINISH:I

Bug: 170729553
Test: Treehugger
Change-Id: I8285daa8530260251ecad6f3f38f98e263629ca7
2020-10-29 11:51:12 +00:00
Hongwei Wang
286c33a5c5 Merge "Revert "Add maxTargetSdk restriction to unused APIs."" 2020-10-28 23:58:21 +00:00