#[derive(Copy, Clone, Debug, PartialOrd, PartialEq)]
#[cfg_attr(feature = "defmt", derive(defmt::Format))]
pub enum NamedGroup {
Secp256r1 = 0x0017,
Secp384r1 = 0x0018,
Secp521r1 = 0x0019,
X25519 = 0x001D,
X448 = 0x001E,
Ffdhe2048 = 0x0100,
Ffdhe3072 = 0x0101,
Ffdhe4096 = 0x0102,
Ffdhe6144 = 0x0103,
Ffdhe8192 = 0x0104,
}
impl NamedGroup {
pub fn of(num: u16) -> Option<NamedGroup> {
match num {
0x0017 => Some(Self::Secp256r1),
0x0018 => Some(Self::Secp384r1),
0x0019 => Some(Self::Secp521r1),
0x001D => Some(Self::X25519),
0x001E => Some(Self::X448),
0x0100 => Some(Self::Ffdhe2048),
0x0101 => Some(Self::Ffdhe3072),
0x0102 => Some(Self::Ffdhe4096),
0x0103 => Some(Self::Ffdhe6144),
0x0104 => Some(Self::Ffdhe8192),
_ => None,
}
}
}