diff --git a/attestation-agent/lib/src/lib.rs b/attestation-agent/lib/src/lib.rs index 6b7dd8afa..922c22af3 100644 --- a/attestation-agent/lib/src/lib.rs +++ b/attestation-agent/lib/src/lib.rs @@ -13,6 +13,7 @@ use attester::{detect_tee_type, BoxedAttester}; use kbc::{AnnotationPacket, KbcCheckInfo, KbcInstance, KbcModuleList}; use resource_uri::ResourceUri; use std::collections::HashMap; +use std::str::FromStr; pub mod config; mod token; @@ -198,7 +199,7 @@ impl AttestationAPIs for AttestationAgent { } }; - let _token = match serde_json::from_str::(_token_type) + let _token = match TokenType::from_str(_token_type) .map_err(|e| anyhow!("Unsupported token type: {e}"))? { #[cfg(feature = "kbs")] diff --git a/attestation-agent/lib/src/token/mod.rs b/attestation-agent/lib/src/token/mod.rs index ddd77d961..144478c81 100644 --- a/attestation-agent/lib/src/token/mod.rs +++ b/attestation-agent/lib/src/token/mod.rs @@ -5,7 +5,7 @@ use anyhow::Result; use async_trait::async_trait; -use serde::{Deserialize, Serialize}; +use strum::EnumString; #[cfg(feature = "kbs")] pub mod kbs; @@ -13,14 +13,14 @@ pub mod kbs; #[cfg(feature = "coco_as")] pub mod coco_as; -#[derive(Serialize, Deserialize, Clone, Copy)] +#[derive(EnumString, Clone, Copy)] pub enum TokenType { #[cfg(feature = "kbs")] - #[serde(rename = "kbs")] + #[strum(serialize = "kbs")] Kbs, #[cfg(feature = "coco_as")] - #[serde(rename = "coco_as")] + #[strum(serialize = "coco_as")] CoCoAS, }