1#[derive(Debug, Clone, PartialEq)]
2pub enum TypedArray {
3 Uint8Array,
4 Int8Array,
5 Uint16Array,
6 Int16Array,
7 Uint32Array,
8 Int32Array,
9 Float32Array,
10 Float64Array,
11 BigInt64Array,
12 BigUint64Array,
13}
14
15#[derive(Debug, Clone, PartialEq)]
16pub enum SHAFamily {
17 SHA1,
18 SHA256,
19 SHA384,
20 SHA512,
21}
22
23#[derive(Debug, Clone, PartialEq)]
24pub enum EncodingFormat {
25 Hex,
26 Base64,
27 Base64Url,
28 Base64UrlNoPad,
29 None,
30}
31
32#[derive(Debug, Clone, PartialEq)]
33pub enum ECDSACurve {
34 P256,
35 P384,
36 P521,
37}
38
39#[derive(Debug, Clone, PartialEq)]
40pub enum ExportKeyFormat {
41 JWK,
42 SPKI,
43 PKCS8,
44 Raw,
45}
46
47impl ToString for SHAFamily {
48 fn to_string(&self) -> String {
49 match self {
50 SHAFamily::SHA1 => "SHA-1".to_string(),
51 SHAFamily::SHA256 => "SHA-256".to_string(),
52 SHAFamily::SHA384 => "SHA-384".to_string(),
53 SHAFamily::SHA512 => "SHA-512".to_string(),
54 }
55 }
56}
57
58impl ToString for EncodingFormat {
59 fn to_string(&self) -> String {
60 match self {
61 EncodingFormat::Hex => "hex".to_string(),
62 EncodingFormat::Base64 => "base64".to_string(),
63 EncodingFormat::Base64Url => "base64url".to_string(),
64 EncodingFormat::Base64UrlNoPad => "base64urlnopad".to_string(),
65 EncodingFormat::None => "none".to_string(),
66 }
67 }
68}
69
70impl ToString for ECDSACurve {
71 fn to_string(&self) -> String {
72 match self {
73 ECDSACurve::P256 => "P-256".to_string(),
74 ECDSACurve::P384 => "P-384".to_string(),
75 ECDSACurve::P521 => "P-521".to_string(),
76 }
77 }
78}
79
80impl ToString for ExportKeyFormat {
81 fn to_string(&self) -> String {
82 match self {
83 ExportKeyFormat::JWK => "jwk".to_string(),
84 ExportKeyFormat::SPKI => "spki".to_string(),
85 ExportKeyFormat::PKCS8 => "pkcs8".to_string(),
86 ExportKeyFormat::Raw => "raw".to_string(),
87 }
88 }
89}