1#[derive(Clone, PartialEq, ::prost::Message)]
2pub struct Algorithm {
3 #[prost(oneof="algorithm::Variant", tags="1, 2, 3, 4, 5, 6, 7, 8, 9")]
4 pub variant: ::core::option::Option<algorithm::Variant>,
5}
6pub mod algorithm {
8 #[derive(Clone, PartialEq, ::prost::Message)]
9 pub struct None {
10 }
11 #[derive(Clone, PartialEq, ::prost::Message)]
12 pub struct Mac {
13 #[prost(oneof="mac::Variant", tags="1, 2")]
14 pub variant: ::core::option::Option<mac::Variant>,
15 }
16 pub mod mac {
18 #[derive(Clone, PartialEq, ::prost::Message)]
19 pub struct FullLength {
20 #[prost(oneof="full_length::Variant", tags="1, 2, 3")]
21 pub variant: ::core::option::Option<full_length::Variant>,
22 }
23 pub mod full_length {
25 #[derive(Clone, PartialEq, ::prost::Message)]
26 pub struct Hmac {
27 #[prost(enumeration="super::super::Hash", tag="1")]
28 pub hash_alg: i32,
29 }
30 #[derive(Clone, PartialEq, ::prost::Message)]
31 pub struct CbcMac {
32 }
33 #[derive(Clone, PartialEq, ::prost::Message)]
34 pub struct Cmac {
35 }
36 #[derive(Clone, PartialEq, ::prost::Oneof)]
37 pub enum Variant {
38 #[prost(message, tag="1")]
39 Hmac(Hmac),
40 #[prost(message, tag="2")]
41 CbcMac(CbcMac),
42 #[prost(message, tag="3")]
43 Cmac(Cmac),
44 }
45 }
46 #[derive(Clone, PartialEq, ::prost::Message)]
47 pub struct Truncated {
48 #[prost(message, optional, tag="1")]
49 pub mac_alg: ::core::option::Option<FullLength>,
50 #[prost(uint32, tag="2")]
51 pub mac_length: u32,
52 }
53 #[derive(Clone, PartialEq, ::prost::Oneof)]
54 pub enum Variant {
55 #[prost(message, tag="1")]
56 FullLength(FullLength),
57 #[prost(message, tag="2")]
58 Truncated(Truncated),
59 }
60 }
61 #[derive(Clone, PartialEq, ::prost::Message)]
62 pub struct Aead {
63 #[prost(oneof="aead::Variant", tags="1, 2")]
64 pub variant: ::core::option::Option<aead::Variant>,
65 }
66 pub mod aead {
68 #[derive(Clone, PartialEq, ::prost::Message)]
69 pub struct AeadWithShortenedTag {
70 #[prost(enumeration="AeadWithDefaultLengthTag", tag="1")]
71 pub aead_alg: i32,
72 #[prost(uint32, tag="2")]
73 pub tag_length: u32,
74 }
75 #[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
76 #[repr(i32)]
77 pub enum AeadWithDefaultLengthTag {
78 None = 0,
80 Ccm = 1,
81 Gcm = 2,
82 Chacha20Poly1305 = 3,
83 }
84 #[derive(Clone, PartialEq, ::prost::Oneof)]
85 pub enum Variant {
86 #[prost(enumeration="AeadWithDefaultLengthTag", tag="1")]
87 AeadWithDefaultLengthTag(i32),
88 #[prost(message, tag="2")]
89 AeadWithShortenedTag(AeadWithShortenedTag),
90 }
91 }
92 #[derive(Clone, PartialEq, ::prost::Message)]
93 pub struct AsymmetricSignature {
94 #[prost(oneof="asymmetric_signature::Variant", tags="1, 2, 3, 4, 5, 6")]
95 pub variant: ::core::option::Option<asymmetric_signature::Variant>,
96 }
97 pub mod asymmetric_signature {
99 #[derive(Clone, PartialEq, ::prost::Message)]
100 pub struct SignHash {
101 #[prost(oneof="sign_hash::Variant", tags="1, 2")]
102 pub variant: ::core::option::Option<sign_hash::Variant>,
103 }
104 pub mod sign_hash {
106 #[derive(Clone, PartialEq, ::prost::Message)]
107 pub struct Any {
108 }
109 #[derive(Clone, PartialEq, ::prost::Oneof)]
110 pub enum Variant {
111 #[prost(message, tag="1")]
112 Any(Any),
113 #[prost(enumeration="super::super::Hash", tag="2")]
114 Specific(i32),
115 }
116 }
117 #[derive(Clone, PartialEq, ::prost::Message)]
118 pub struct RsaPkcs1v15Sign {
119 #[prost(message, optional, tag="1")]
120 pub hash_alg: ::core::option::Option<SignHash>,
121 }
122 #[derive(Clone, PartialEq, ::prost::Message)]
123 pub struct RsaPkcs1v15SignRaw {
124 }
125 #[derive(Clone, PartialEq, ::prost::Message)]
126 pub struct RsaPss {
127 #[prost(message, optional, tag="1")]
128 pub hash_alg: ::core::option::Option<SignHash>,
129 }
130 #[derive(Clone, PartialEq, ::prost::Message)]
131 pub struct Ecdsa {
132 #[prost(message, optional, tag="1")]
133 pub hash_alg: ::core::option::Option<SignHash>,
134 }
135 #[derive(Clone, PartialEq, ::prost::Message)]
136 pub struct EcdsaAny {
137 }
138 #[derive(Clone, PartialEq, ::prost::Message)]
139 pub struct DeterministicEcdsa {
140 #[prost(message, optional, tag="1")]
141 pub hash_alg: ::core::option::Option<SignHash>,
142 }
143 #[derive(Clone, PartialEq, ::prost::Oneof)]
144 pub enum Variant {
145 #[prost(message, tag="1")]
146 RsaPkcs1v15Sign(RsaPkcs1v15Sign),
147 #[prost(message, tag="2")]
148 RsaPkcs1v15SignRaw(RsaPkcs1v15SignRaw),
149 #[prost(message, tag="3")]
150 RsaPss(RsaPss),
151 #[prost(message, tag="4")]
152 Ecdsa(Ecdsa),
153 #[prost(message, tag="5")]
154 EcdsaAny(EcdsaAny),
155 #[prost(message, tag="6")]
156 DeterministicEcdsa(DeterministicEcdsa),
157 }
158 }
159 #[derive(Clone, PartialEq, ::prost::Message)]
160 pub struct AsymmetricEncryption {
161 #[prost(oneof="asymmetric_encryption::Variant", tags="1, 2")]
162 pub variant: ::core::option::Option<asymmetric_encryption::Variant>,
163 }
164 pub mod asymmetric_encryption {
166 #[derive(Clone, PartialEq, ::prost::Message)]
167 pub struct RsaPkcs1v15Crypt {
168 }
169 #[derive(Clone, PartialEq, ::prost::Message)]
170 pub struct RsaOaep {
171 #[prost(enumeration="super::Hash", tag="1")]
172 pub hash_alg: i32,
173 }
174 #[derive(Clone, PartialEq, ::prost::Oneof)]
175 pub enum Variant {
176 #[prost(message, tag="1")]
177 RsaPkcs1v15Crypt(RsaPkcs1v15Crypt),
178 #[prost(message, tag="2")]
179 RsaOaep(RsaOaep),
180 }
181 }
182 #[derive(Clone, PartialEq, ::prost::Message)]
183 pub struct KeyAgreement {
184 #[prost(oneof="key_agreement::Variant", tags="1, 2")]
185 pub variant: ::core::option::Option<key_agreement::Variant>,
186 }
187 pub mod key_agreement {
189 #[derive(Clone, PartialEq, ::prost::Message)]
190 pub struct WithKeyDerivation {
191 #[prost(enumeration="Raw", tag="1")]
192 pub ka_alg: i32,
193 #[prost(message, optional, tag="2")]
194 pub kdf_alg: ::core::option::Option<super::KeyDerivation>,
195 }
196 #[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
197 #[repr(i32)]
198 pub enum Raw {
199 None = 0,
201 Ffdh = 1,
202 Ecdh = 2,
203 }
204 #[derive(Clone, PartialEq, ::prost::Oneof)]
205 pub enum Variant {
206 #[prost(enumeration="Raw", tag="1")]
207 Raw(i32),
208 #[prost(message, tag="2")]
209 WithKeyDerivation(WithKeyDerivation),
210 }
211 }
212 #[derive(Clone, PartialEq, ::prost::Message)]
213 pub struct KeyDerivation {
214 #[prost(oneof="key_derivation::Variant", tags="1, 2, 3")]
215 pub variant: ::core::option::Option<key_derivation::Variant>,
216 }
217 pub mod key_derivation {
219 #[derive(Clone, PartialEq, ::prost::Message)]
220 pub struct Hkdf {
221 #[prost(enumeration="super::Hash", tag="1")]
222 pub hash_alg: i32,
223 }
224 #[derive(Clone, PartialEq, ::prost::Message)]
225 pub struct Tls12Prf {
226 #[prost(enumeration="super::Hash", tag="1")]
227 pub hash_alg: i32,
228 }
229 #[derive(Clone, PartialEq, ::prost::Message)]
230 pub struct Tls12PskToMs {
231 #[prost(enumeration="super::Hash", tag="1")]
232 pub hash_alg: i32,
233 }
234 #[derive(Clone, PartialEq, ::prost::Oneof)]
235 pub enum Variant {
236 #[prost(message, tag="1")]
237 Hkdf(Hkdf),
238 #[prost(message, tag="2")]
239 Tls12Prf(Tls12Prf),
240 #[prost(message, tag="3")]
241 Tls12PskToMs(Tls12PskToMs),
242 }
243 }
244 #[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
245 #[repr(i32)]
246 pub enum Hash {
247 None = 0,
249 Md2 = 1,
250 Md4 = 2,
251 Md5 = 3,
252 Ripemd160 = 4,
253 Sha1 = 5,
254 Sha224 = 6,
255 Sha256 = 7,
256 Sha384 = 8,
257 Sha512 = 9,
258 Sha512224 = 10,
259 Sha512256 = 11,
260 Sha3224 = 12,
261 Sha3256 = 13,
262 Sha3384 = 14,
263 Sha3512 = 15,
264 }
265 #[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
266 #[repr(i32)]
267 pub enum Cipher {
268 None = 0,
270 StreamCipher = 1,
271 Ctr = 2,
272 Cfb = 3,
273 Ofb = 4,
274 Xts = 5,
275 EcbNoPadding = 6,
276 CbcNoPadding = 7,
277 CbcPkcs7 = 8,
278 }
279 #[derive(Clone, PartialEq, ::prost::Oneof)]
280 pub enum Variant {
281 #[prost(message, tag="1")]
282 None(None),
283 #[prost(enumeration="Hash", tag="2")]
284 Hash(i32),
285 #[prost(message, tag="3")]
286 Mac(Mac),
287 #[prost(enumeration="Cipher", tag="4")]
288 Cipher(i32),
289 #[prost(message, tag="5")]
290 Aead(Aead),
291 #[prost(message, tag="6")]
292 AsymmetricSignature(AsymmetricSignature),
293 #[prost(message, tag="7")]
294 AsymmetricEncryption(AsymmetricEncryption),
295 #[prost(message, tag="8")]
296 KeyAgreement(KeyAgreement),
297 #[prost(message, tag="9")]
298 KeyDerivation(KeyDerivation),
299 }
300}