use serde::{Deserialize, Serialize};
#[derive(Debug, Clone, Serialize, Deserialize, PartialEq)]
#[serde(rename_all = "lowercase")]
pub enum SignAlgorithm {
EdDSA,
ES256,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct SignRequestBody {
pub key_id: String,
pub payload: String,
pub algorithm: SignAlgorithm,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct SignResultBody {
pub key_id: String,
pub signature: String,
pub algorithm: SignAlgorithm,
}
impl std::fmt::Display for SignAlgorithm {
fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
match self {
SignAlgorithm::EdDSA => write!(f, "eddsa"),
SignAlgorithm::ES256 => write!(f, "es256"),
}
}
}