use crate::models;
use serde::{Deserialize, Serialize};
#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
pub enum CoseEllipticCurve {
#[serde(rename = "Reserved")]
Reserved,
#[serde(rename = "P256")]
P256,
#[serde(rename = "P384")]
P384,
#[serde(rename = "P521")]
P521,
#[serde(rename = "X25519")]
X25519,
#[serde(rename = "X448")]
X448,
#[serde(rename = "Ed25519")]
Ed25519,
#[serde(rename = "Ed448")]
Ed448,
#[serde(rename = "Secp256k1")]
Secp256k1,
}
impl std::fmt::Display for CoseEllipticCurve {
fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
match self {
Self::Reserved => write!(f, "Reserved"),
Self::P256 => write!(f, "P256"),
Self::P384 => write!(f, "P384"),
Self::P521 => write!(f, "P521"),
Self::X25519 => write!(f, "X25519"),
Self::X448 => write!(f, "X448"),
Self::Ed25519 => write!(f, "Ed25519"),
Self::Ed448 => write!(f, "Ed448"),
Self::Secp256k1 => write!(f, "Secp256k1"),
}
}
}
impl Default for CoseEllipticCurve {
fn default() -> CoseEllipticCurve {
Self::Reserved
}
}