keymaster: consume all data passed to finish()

In the previous implementation, it was possible
for excess data to remain unprocessed once
the finish() call had completed.  This issue
went unnoticed until a recent VTS change.

Bug: 120993832
Bug: 119749175
Test: VTS passes
Change-Id: Id01710e4ed01e5899dff35e0fa6100882906b336
Signed-off-by: nagendra modadugu <ngm@google.com>
(cherry picked from commit f0afd5b56f5dd918a05b80d86d2b772048868816)
1 file changed
tree: 867661c91afec9f6fd55ef576e383a81c61f8b4c
  1. citadel/
  2. hals/
  3. manual_tests/
  4. .checkpatch.conf
  5. .clang-format
  6. Android.bp
  7. LICENSE
  8. METADATA
  9. MODULE_LICENSE_APACHE2
  10. NOTICE
  11. README.md
README.md

Android components for Nugget

Android communicates with Nugget apps in order to implement security related HALs. Currently, those HALs are Keymaster, Weaver and OemLock.

Services

Apps that define a protobuf service will have an app interface class autogenerated. These classes will wrap a NuggetClient. The generator can be found in the generator directory.

Asynchronous communication

Work in progress.

Currently, everything is synchronous and just exposes the call_application() function from the Nugget transport API. In future, asynchronous calls may be desired. Support for this could be added in:

  • Nugget transport API
  • NuggetClient on top of call_application()
  • Generated services

citadel

This directory contains the components to support Citadel connected to Android.