[bssl] Move ec_key module from rialto to libbssl
Bug: 301068421
Test: atest rialto_test
Change-Id: I04f3040f79f1af18b5c76546adcd6616aa052729
diff --git a/libs/bssl/Android.bp b/libs/bssl/Android.bp
index 5eda389..229f594 100644
--- a/libs/bssl/Android.bp
+++ b/libs/bssl/Android.bp
@@ -26,5 +26,7 @@
rustlibs: [
"libbssl_avf_error_nostd",
"libbssl_ffi_nostd",
+ "libcoset_nostd",
+ "libzeroize_nostd",
],
}
diff --git a/rialto/src/requests/ec_key.rs b/libs/bssl/src/ec_key.rs
similarity index 98%
rename from rialto/src/requests/ec_key.rs
rename to libs/bssl/src/ec_key.rs
index fa96023..fdd6f61 100644
--- a/rialto/src/requests/ec_key.rs
+++ b/libs/bssl/src/ec_key.rs
@@ -15,8 +15,9 @@
//! Contains struct and functions that wraps the API related to EC_KEY in
//! BoringSSL.
+use crate::cbb::CbbFixed;
use alloc::vec::Vec;
-use bssl_avf::{ApiName, CbbFixed, Error, Result};
+use bssl_avf_error::{ApiName, Error, Result};
use bssl_ffi::{
BN_bn2bin_padded, BN_clear_free, BN_new, CBB_flush, CBB_len, EC_KEY_free, EC_KEY_generate_key,
EC_KEY_get0_group, EC_KEY_get0_public_key, EC_KEY_marshal_private_key,
diff --git a/libs/bssl/src/lib.rs b/libs/bssl/src/lib.rs
index a4e00f0..85890ee 100644
--- a/libs/bssl/src/lib.rs
+++ b/libs/bssl/src/lib.rs
@@ -16,7 +16,11 @@
#![cfg_attr(not(feature = "std"), no_std)]
+extern crate alloc;
+
mod cbb;
+mod ec_key;
pub use bssl_avf_error::{ApiName, Error, Result};
pub use cbb::CbbFixed;
+pub use ec_key::{EcKey, ZVec};
diff --git a/rialto/src/requests/mod.rs b/rialto/src/requests/mod.rs
index 8162237..d9e6f37 100644
--- a/rialto/src/requests/mod.rs
+++ b/rialto/src/requests/mod.rs
@@ -15,7 +15,6 @@
//! This module contains functions for the request processing.
mod api;
-mod ec_key;
mod pub_key;
mod rkp;
diff --git a/rialto/src/requests/rkp.rs b/rialto/src/requests/rkp.rs
index bcddf67..6982337 100644
--- a/rialto/src/requests/rkp.rs
+++ b/rialto/src/requests/rkp.rs
@@ -15,11 +15,11 @@
//! This module contains functions related to the attestation of the
//! service VM via the RKP (Remote Key Provisioning) server.
-use super::ec_key::EcKey;
use super::pub_key::{build_maced_public_key, validate_public_key};
use alloc::string::String;
use alloc::vec;
use alloc::vec::Vec;
+use bssl_avf::EcKey;
use ciborium::{cbor, value::Value};
use core::result;
use coset::{iana, AsCborValue, CoseSign1, CoseSign1Builder, HeaderBuilder};