Implement keystore2 logging of key creation events.
This CL implements logging of key creation events via statsd.
Bug: 172013262
Test: enable keystore2 on cuttlfish, run cts tests for key generation,
run the test drive script provided by statsd and observe the logs
created.
Change-Id: Ib60ed356ce809d27f7625ab0743a9300c454f1c8
diff --git a/keystore2/src/security_level.rs b/keystore2/src/security_level.rs
index e50155b..1de39e6 100644
--- a/keystore2/src/security_level.rs
+++ b/keystore2/src/security_level.rs
@@ -37,6 +37,7 @@
use crate::globals::{DB, ENFORCEMENTS, LEGACY_MIGRATOR, SUPER_KEY};
use crate::key_parameter::KeyParameter as KsKeyParam;
use crate::key_parameter::KeyParameterValue as KsKeyParamValue;
+use crate::metrics::log_key_creation_event_stats;
use crate::remote_provisioning::RemProvState;
use crate::super_key::{KeyBlob, SuperKeyManager};
use crate::utils::{
@@ -797,7 +798,9 @@
flags: i32,
entropy: &[u8],
) -> binder::public_api::Result<KeyMetadata> {
- map_or_log_err(self.generate_key(key, attestation_key, params, flags, entropy), Ok)
+ let result = self.generate_key(key, attestation_key, params, flags, entropy);
+ log_key_creation_event_stats(params, &result);
+ map_or_log_err(result, Ok)
}
fn importKey(
&self,
@@ -807,7 +810,9 @@
flags: i32,
key_data: &[u8],
) -> binder::public_api::Result<KeyMetadata> {
- map_or_log_err(self.import_key(key, attestation_key, params, flags, key_data), Ok)
+ let result = self.import_key(key, attestation_key, params, flags, key_data);
+ log_key_creation_event_stats(params, &result);
+ map_or_log_err(result, Ok)
}
fn importWrappedKey(
&self,
@@ -817,10 +822,10 @@
params: &[KeyParameter],
authenticators: &[AuthenticatorSpec],
) -> binder::public_api::Result<KeyMetadata> {
- map_or_log_err(
- self.import_wrapped_key(key, wrapping_key, masking_key, params, authenticators),
- Ok,
- )
+ let result =
+ self.import_wrapped_key(key, wrapping_key, masking_key, params, authenticators);
+ log_key_creation_event_stats(params, &result);
+ map_or_log_err(result, Ok)
}
fn convertStorageKeyToEphemeral(
&self,