[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};