platform_hardware_interfaces/identity/aidl/vts
David Zeuthen 630de2a93e Identity Credential: Switch default implementation to use libeic.
Introduce platform-neutral C library ("libeic") which can be used to
implement an Identity Credential Trusted Application/Applet in Secure
Hardware.

The libeic library is intentionally low-level, has no dependencies
(not even libc), uses very little run-time memory (less than 500 bytes
during a provisioning or presentation session), and doesn't
dynamically allocate any memory. Crypto routines are provided by the
library user through a simple crypto interface defined in EicOps.

Also provide an Android-side HAL implementation designed to
communicate with libeic running in Secure Hardware outside
Android. Abstract out communications between HAL and TA in a couple of
SecureHardwareProxy* classes which mimic libeic 1:1.

The default implementation of the HAL is a combination of the
aforementioned HAL using libeic in-process backed by BoringSSL for the
crypto bits.

Test: atest VtsHalIdentityTargetTest
Test: atest android.security.identity.cts
Bug: 170146643
Change-Id: I3bf43fa7fd9362f94023052591801f2094a04607
2021-01-05 18:30:59 -05:00
..
Android.bp identity: Fix attestation and documentation problems. 2020-11-17 13:44:00 -05:00
ReaderAuthTests.cpp Suppress gtest error for tests without any instance 2020-07-28 15:12:32 -07:00
UserAuthTests.cpp Suppress gtest error for tests without any instance 2020-07-28 15:12:32 -07:00
VtsAttestationTests.cpp identity: Fix attestation and documentation problems. 2020-11-17 13:44:00 -05:00
VtsHalIdentityEndToEndTest.cpp identity: Fix attestation and documentation problems. 2020-11-17 13:44:00 -05:00
VtsIdentityTestUtils.cpp identity: Fix attestation and documentation problems. 2020-11-17 13:44:00 -05:00
VtsIdentityTestUtils.h identity: Fix attestation and documentation problems. 2020-11-17 13:44:00 -05:00
VtsIWritableIdentityCredentialTests.cpp Identity Credential: Switch default implementation to use libeic. 2021-01-05 18:30:59 -05:00