Initial versions of crypto abstractions

More work still needed, especially for asymmetric crypto operations.

Bug: 195310053
Test: build
Change-Id: I0016b8517ed89fbacf2eab597233643651568062
7 files changed
tree: 03e568a425c08035fc69f3dca0736e25a02a8b3e
  1. common/
  2. derive/
  3. .gitignore
  4. Android.bp
  5. Cargo.toml
  6. NOTICE
  7. OWNERS
  8. README.md
  9. rustfmt.toml
README.md

KeyMint/Rust

This repo holds work in progress for a Rust implementation of Android's KeyMint HAL.

Repo Structure

The codebase is divided as follows. Only the crates in bold are expected to be used in Android; the remainder are conveniences to allow development outside of Android.

SubdirCrate Namestd?Description
derivekmr-deriveYes (build-only)Proc macros for deriving the AsCborValue trait
commonkmr-commonNoCommon code used throughout KeyMint/Rust
halkmr-halYesHAL service implementation
boringsslkmr-boringsslYesBoring/OpenSSL-based implementations of crypto traits
testskmr-testsTests and test infrastructure
takmr-taNoTA implementation
ta-mainkmr-taYesTA implementation using TCP