Keystore 2.0: Add super encryption infrastructure.
Add super_key.rs a runtime key database for credential based keys and
the relevant metadata fields to the database.
Also in this patch:
* Add DateTime type to represent database wall clock time.
* Move creation time to key metadata.
* Add KeyType field to the keyentry table to accommodate super keys
and attestation keys.
Test: keystore2_test
Bug: 173545997
Change-Id: I670898174fb0223bf1c910051dfd7ead80b2c1a9
diff --git a/keystore2/src/globals.rs b/keystore2/src/globals.rs
index 3ef75c8..eff3196 100644
--- a/keystore2/src/globals.rs
+++ b/keystore2/src/globals.rs
@@ -17,6 +17,8 @@
//! to talk to.
use crate::database::KeystoreDB;
+use crate::super_key::SuperKeyManager;
+use lazy_static::lazy_static;
use std::cell::RefCell;
thread_local! {
@@ -34,3 +36,8 @@
)
.expect("Failed to open database."));
}
+
+lazy_static! {
+ /// Runtime database of unwrapped super keys.
+ pub static ref SUPER_KEY: SuperKeyManager = Default::default();
+}