630de2a93e
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 |
||
---|---|---|
.. | ||
Android.bp | ||
ReaderAuthTests.cpp | ||
UserAuthTests.cpp | ||
VtsAttestationTests.cpp | ||
VtsHalIdentityEndToEndTest.cpp | ||
VtsIdentityTestUtils.cpp | ||
VtsIdentityTestUtils.h | ||
VtsIWritableIdentityCredentialTests.cpp |