Commit Graph

7 Commits

Author SHA1 Message Date
Janis Danisevskis
f7e5f24ff8 Add Vendor comand to ConfirmationUI support msg_formatting
This is not a HAL change. It just adds a command to msg_formatting.h as
a service to vendors who have to augment the protocol between the HAL
service and the TA or other implementation with janitorial commands that
don't effect the HAL interface.

Bug: 76152930
Test: No functional change
Change-Id: I5d4e5dadea29d4c7d51753939eda6c3f3571fae1
2018-03-22 10:43:22 -07:00
Janis Danisevskis
3beaef8de4 Fix violation of least privilege principle
The confirmationui HAL does not need to run as user system.

Bug: 63928580
Test: All required services boot and can access what they need
Change-Id: Ic2d6edabf8cca8384a7e0ce49dfc5445a6ec1658
2018-03-14 14:02:36 -07:00
Janis Danisevskis
bb6377e679 Some changes required for the actual integration with a GUI renderer
These changes accumulated during the integration with the Pixel specific
impelemtation. The make it easiser to integrate an GUI renderer with the
core logic.

Bug: 63928580
Test: VTS tests and manual tests
Change-Id: I7001f60709ce806a16f098492bdb71eb05e6ca9a
2018-03-14 14:02:36 -07:00
Janis Danisevskis
e0b1903d80 ConfirmationUI VTS tests
Bug: 63928580
Test: VtsHalConfirmationUIV1_0TargetTest
Change-Id: I964ac8fe0d36ec27e873aca748487ebc99d67693
2018-02-21 13:04:33 -08:00
Janis Danisevskis
a0c33ea1ba ConfirmationUI reference implementation
This reference implementation implements the core
logic of the confirmation provider including the
cryptographic operations. For a full implementation
a user interface and a few policy checks are missing.

Bug: 63928580
Test: VtsHalConfirmationUIV1_0TargetTest
Change-Id: I22ca138ed612979223f8e83792b525a31709e0fe
2018-01-24 10:10:55 -08:00
Janis Danisevskis
a9f0fb0db1 Add confirmation UI support libaray
Includes:

A light weight CBOR generator
  This patch adds a header only CBOR generator and unit tests.
  It allows expressing CBOR datastructures in C++ for subsequent
  serialization. The implementation performs no memory allocation
  and only depends on stdint.h (for (u)intx_t) and stddefs.h (for size_t).
  It is tailored for use in constrained environments such as TEEs.

Convenience method for generating a SHA256 HMAC

Bug: 63928580
Test: android.hardware.confirmationui@support-lib-tests
Change-Id: I1d93a85503f861281e71e09b1ede5cbb74219694
2018-01-24 10:10:55 -08:00
Janis Danisevskis
b70f2b2521 ConfirmationUI HAL definition
HAL definition for high assurance confirmation providers.
High assurance confirmation providers allow relying parties
to prompt the user for confirming a short piece of information.
If the user confirms, the result is a signed message indicating
that the user has seen the message. For a high assurance confirmation
provider this must also be true if Android and the Linux kernel
are compromised.

Bug: 63928580
Test: VTS tests in the following commit
Change-Id: I72017b39c01b4333d0146c648637a19fafcb7278
2018-01-24 10:10:55 -08:00