identity_jose/jwk/
key_type.rs1use core::fmt::Display;
5use core::fmt::Formatter;
6use core::fmt::Result;
7
8#[derive(Clone, Copy, Debug, Hash, PartialEq, Eq, PartialOrd, Ord, serde::Deserialize, serde::Serialize)]
12pub enum JwkType {
13 #[serde(rename = "EC")]
15 Ec,
16 #[serde(rename = "RSA")]
18 Rsa,
19 #[serde(rename = "oct")]
21 Oct,
22 #[serde(rename = "OKP")]
24 Okp,
25 #[serde(rename = "AKP")]
28 Akp,
29}
30
31impl JwkType {
32 pub const fn name(self) -> &'static str {
34 match self {
35 Self::Ec => "EC",
36 Self::Rsa => "RSA",
37 Self::Oct => "oct",
38 Self::Okp => "OKP",
39 Self::Akp => "AKP",
40 }
41 }
42}
43
44impl Display for JwkType {
45 fn fmt(&self, f: &mut Formatter<'_>) -> Result {
46 f.write_str(self.name())
47 }
48}