use std::str::FromStr;
use serde::{Deserialize, Serialize};
#[derive(Debug, Eq, PartialEq, Serialize, Deserialize, Copy, Clone)]
pub enum KeyType {
#[serde(rename = "EC")]
EllipticCurve,
#[serde(rename = "RSA")]
RSA,
#[serde(rename = "oct")]
Octet,
#[serde(rename = "OKP")]
OctetKeyPair,
}
#[derive(Debug, Eq, PartialEq, Serialize, Deserialize, Copy, Clone)]
pub enum KeyPairSubtype {
BLS12381G2Sha256,
BLS12381G2Shake256,
}
impl FromStr for KeyPairSubtype {
type Err = ();
fn from_str(s: &str) -> Result<Self, Self::Err> {
match s.to_lowercase().as_str() {
"bls12381sha256" => Ok(KeyPairSubtype::BLS12381G2Sha256),
"bls12381shake256" => Ok(KeyPairSubtype::BLS12381G2Shake256),
_ => Err(()),
}
}
}