Release 4.0.0-preview1-00051
[platform/core/csapi/tizenfx.git] / src / Tizen.Account.FidoClient / Tizen.Account.FidoClient / UafEnumerations.cs
1 /*
2  * Copyright (c) 2016 Samsung Electronics Co., Ltd All Rights Reserved
3  *
4  * Licensed under the Apache License, Version 2.0 (the License);
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  * http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an AS IS BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  */
16
17 namespace Tizen.Account.FidoClient
18 {
19     /// <summary>
20     /// Authenticator's supported algorithm and encoding
21     /// </summary>
22     /// <since_tizen> 3 </since_tizen>
23     public enum AuthenticationAlgorithm
24     {
25         /// <summary>
26         /// SECP256R1 ECDSA SHA256 Raw
27         /// </summary>
28         /// <since_tizen> 3 </since_tizen>
29         Secp256r1EcdsaSha256Raw = 0X01,
30
31         /// <summary>
32         /// SECP256R1 ECDSA SHA256 DER
33         /// </summary>
34         /// <since_tizen> 3 </since_tizen>
35         Secp256r1EcdsaSha256Der = 0X02,
36
37         /// <summary>
38         /// RSA PSS SHA256 Raw
39         /// </summary>
40         /// <since_tizen> 3 </since_tizen>
41         RsassaPssSha256Raw = 0X03,
42
43         /// <summary>
44         /// RSA PSS SHA256 DER
45         /// </summary>
46         /// <since_tizen> 3 </since_tizen>
47         RsassaPssSha256Der = 0X04,
48
49         /// <summary>
50         /// SECP256K1 ECDSA SHA256 Raw
51         /// </summary>
52         /// <since_tizen> 3 </since_tizen>
53         Secp256k1EcdsaSha256Raw = 0X05,
54
55         /// <summary>
56         /// SECP256K1 ECDSA SHA256 DER
57         /// </summary>
58         /// <since_tizen> 3 </since_tizen>
59         Secp256k1EcdsaSha256Der = 0X06
60     }
61
62     /// <summary>
63     /// Authenticator's supported user verification method type.
64     /// </summary>
65     /// <since_tizen> 3 </since_tizen>
66     public enum UserVerificationMethod
67     {
68         /// <summary>
69         /// User presence verification.
70         /// </summary>
71         /// <since_tizen> 3 </since_tizen>
72         Presence = 0X01,
73
74         /// <summary>
75         /// User fingerprint verification.
76         /// </summary>
77         /// <since_tizen> 3 </since_tizen>
78         Fingerprint = 0X02,
79
80         /// <summary>
81         /// User passcode verification.
82         /// </summary>
83         /// <since_tizen> 3 </since_tizen>
84         Passcode = 0X04,
85
86         /// <summary>
87         /// User voiceprint verification.
88         /// </summary>
89         /// <since_tizen> 3 </since_tizen>
90         Voiceprint = 0X08,
91
92         /// <summary>
93         /// User faceprint verification.
94         /// </summary>
95         /// <since_tizen> 3 </since_tizen>
96         Faceprint = 0X10,
97         /// <summary>
98         /// User location verification.
99         /// </summary>
100         /// <since_tizen> 3 </since_tizen>
101         Location = 0X20,
102
103         /// <summary>
104         /// User eyeprint verification.
105         /// </summary>
106         /// <since_tizen> 3 </since_tizen>
107         Eyeprint = 0X40,
108
109         /// <summary>
110         /// User pattern verification.
111         /// </summary>
112         /// <since_tizen> 3 </since_tizen>
113         Pattern = 0X80,
114
115         /// <summary>
116         /// User handprint verification.
117         /// </summary>
118         /// <since_tizen> 3 </since_tizen>
119         Handprint = 0X100,
120
121         /// <summary>
122         /// Silent verification.
123         /// </summary>
124         /// <since_tizen> 3 </since_tizen>
125         None = 0X200,
126
127         /// <summary>
128         /// If an authenticator sets multiple flags for user verification types, it may also set this flag to indicate that all verification methods will be enforced (e.g. faceprint AND voiceprint). If flags for multiple user verification methods are set and this flag is not set, verification with only one is necessary (e.g. fingerprint OR passcode).
129         /// </summary>
130         /// <since_tizen> 3 </since_tizen>
131         All = 0X400
132     }
133
134     /// <summary>
135     /// Authenticator's supported key protection method type.
136     /// </summary>
137     /// <since_tizen> 3 </since_tizen>
138     public enum KeyProtectionType
139     {
140         /// <summary>
141         /// Software based key management.
142         /// </summary>
143         /// <since_tizen> 3 </since_tizen>
144         Software = 0X01,
145
146         /// <summary>
147         /// Hardware based key management.
148         /// </summary>
149         /// <since_tizen> 3 </since_tizen>
150         Hardware = 0X02,
151
152         /// <summary>
153         /// Trusted Execution Environment based key management.
154         /// </summary>
155         /// <since_tizen> 3 </since_tizen>
156         Tee = 0X04,
157
158         /// <summary>
159         /// Secure Element based key management.
160         /// </summary>
161         /// <since_tizen> 3 </since_tizen>
162         SecureElement = 0X08,
163
164         /// <summary>
165         /// Authenticator does not store (wrapped) UAuth keys at the client, but relies on a server-provided key handle.
166         /// </summary>
167         /// <since_tizen> 3 </since_tizen>
168         RemoteHandle = 0X10
169     }
170
171     /// <summary>
172     /// Authenticator's supported matcher protection type.
173     /// </summary>
174     /// <since_tizen> 3 </since_tizen>
175     public enum MatcherProtectionType
176     {
177         /// <summary>
178         /// Authenticator's matcher is running in software.
179         /// </summary>
180         /// <since_tizen> 3 </since_tizen>
181         Software = 0X01,
182
183         /// <summary>
184         /// Authenticator's matcher is running inside the Trusted Execution Environment.
185         /// </summary>
186         /// <since_tizen> 3 </since_tizen>
187         Tee = 0X02,
188
189         /// <summary>
190         /// Aauthenticator's matcher is running on the chip.
191         /// </summary>
192         /// <since_tizen> 3 </since_tizen>
193         OnChip = 0X04
194     }
195
196     /// <summary>
197     /// Authenticator's supproted method to communicate to FIDO user device.
198     /// </summary>
199     /// <since_tizen> 3 </since_tizen>
200     public enum AuthenticatorAttachmentHint
201     {
202         /// <summary>
203         /// Authenticator is permanently attached to the FIDO User Device.
204         /// </summary>
205         /// <since_tizen> 3 </since_tizen>
206         Internal = 0X01,
207
208         /// <summary>
209         /// Authenticator is removable or remote from the FIDO User Device.
210         /// </summary>
211         /// <since_tizen> 3 </since_tizen>
212         External = 0X02,
213
214         /// <summary>
215         /// The external authenticator currently has an exclusive wired connection.
216         /// </summary>
217         /// <since_tizen> 3 </since_tizen>
218         Wired = 0X04,
219
220         /// <summary>
221         /// The external authenticator communicates with the FIDO User Device through wireless means.
222         /// </summary>
223         /// <since_tizen> 3 </since_tizen>
224         Wireless = 0X08,
225
226         /// <summary>
227         /// Authenticator is able to communicate by NFC to the FIDO User Device.
228         /// </summary>
229         /// <since_tizen> 3 </since_tizen>
230         Nfc = 0X10,
231
232         /// <summary>
233         /// Authenticator is able to communicate by Bluetooth to the FIDO User Device.
234         /// </summary>
235         /// <since_tizen> 3 </since_tizen>
236         Bt = 0X20,
237
238         /// <summary>
239         /// Authenticator is connected to the FIDO User Device ver a non-exclusive network (e.g. over a TCP/IP LAN or WAN, as opposed to a PAN or point-to-point connection).
240         /// </summary>
241         /// <since_tizen> 3 </since_tizen>
242         Nw = 0X40,
243
244         /// <summary>
245         /// The external authenticator is in a "ready" state.
246         /// </summary>
247         /// <since_tizen> 3 </since_tizen>
248         Ready = 0X80,
249
250         /// <summary>
251         /// The external authenticator is able to communicate using WiFi Direct with the FIDO User Device.
252         /// </summary>
253         /// <since_tizen> 3 </since_tizen>
254         WifiDirect = 0X100
255     }
256
257     /// <summary>
258     /// Authenticator's supported Attestation type.
259     /// </summary>
260     /// <since_tizen> 3 </since_tizen>
261     public enum AuthenticatorAttestationType
262     {
263         /// <summary>
264         /// Full basic attestation.
265         /// </summary>
266         /// <since_tizen> 3 </since_tizen>
267         BasicFull = 0X3e07,
268
269         /// <summary>
270         /// Surrogate basic attestation.
271         /// </summary>
272         /// <since_tizen> 3 </since_tizen>
273         BasicSurrogate = 0X3e08,
274     }
275
276     /// <summary>
277     /// Transaction confirmation display capability type.
278     /// </summary>
279     /// <since_tizen> 3 </since_tizen>
280     public enum TransactionConfirmationDisplayType
281     {
282         /// <summary>
283         /// Some form of transaction confirmation display is available on this authenticator.
284         /// </summary>
285         /// <since_tizen> 3 </since_tizen>
286         Any = 0X01,
287
288         /// <summary>
289         /// Software-based transaction confirmation display operating in a privileged context is available on this authenticator.
290         /// </summary>
291         /// <since_tizen> 3 </since_tizen>
292         PrivilegedSoftware = 0X02,
293
294         /// <summary>
295         /// Transaction confirmation display is in a Trusted Execution Environment.
296         /// </summary>
297         /// <since_tizen> 3 </since_tizen>
298         Tee = 0X04,
299
300         /// <summary>
301         /// Transaction confirmation display based on hardware assisted capabilities is available on this authenticator.
302         /// </summary>
303         /// <since_tizen> 3 </since_tizen>
304         Hw = 0X08,
305
306         /// <summary>
307         /// Transaction confirmation display is provided on a distinct device from the FIDO User Device.
308         /// </summary>
309         /// <since_tizen> 3 </since_tizen>
310         Remote = 0X10
311     }
312 }