2 * Copyright (c) 2016 Samsung Electronics Co., Ltd All Rights Reserved
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
8 * http://www.apache.org/licenses/LICENSE-2.0
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.
17 namespace Tizen.Account.FidoClient
20 /// Authenticator's supported algorithm and encoding
22 /// <since_tizen> 3 </since_tizen>
23 public enum AuthenticationAlgorithm
26 /// SECP256R1 ECDSA SHA256 Raw
28 /// <since_tizen> 3 </since_tizen>
29 Secp256r1EcdsaSha256Raw = 0X01,
32 /// SECP256R1 ECDSA SHA256 DER
34 /// <since_tizen> 3 </since_tizen>
35 Secp256r1EcdsaSha256Der = 0X02,
38 /// RSA PSS SHA256 Raw
40 /// <since_tizen> 3 </since_tizen>
41 RsassaPssSha256Raw = 0X03,
44 /// RSA PSS SHA256 DER
46 /// <since_tizen> 3 </since_tizen>
47 RsassaPssSha256Der = 0X04,
50 /// SECP256K1 ECDSA SHA256 Raw
52 /// <since_tizen> 3 </since_tizen>
53 Secp256k1EcdsaSha256Raw = 0X05,
56 /// SECP256K1 ECDSA SHA256 DER
58 /// <since_tizen> 3 </since_tizen>
59 Secp256k1EcdsaSha256Der = 0X06
63 /// Authenticator's supported user verification method type.
65 /// <since_tizen> 3 </since_tizen>
66 public enum UserVerificationMethod
69 /// User presence verification.
71 /// <since_tizen> 3 </since_tizen>
75 /// User fingerprint verification.
77 /// <since_tizen> 3 </since_tizen>
81 /// User passcode verification.
83 /// <since_tizen> 3 </since_tizen>
87 /// User voiceprint verification.
89 /// <since_tizen> 3 </since_tizen>
93 /// User faceprint verification.
95 /// <since_tizen> 3 </since_tizen>
98 /// User location verification.
100 /// <since_tizen> 3 </since_tizen>
104 /// User eyeprint verification.
106 /// <since_tizen> 3 </since_tizen>
110 /// User pattern verification.
112 /// <since_tizen> 3 </since_tizen>
116 /// User handprint verification.
118 /// <since_tizen> 3 </since_tizen>
122 /// Silent verification.
124 /// <since_tizen> 3 </since_tizen>
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).
130 /// <since_tizen> 3 </since_tizen>
135 /// Authenticator's supported key protection method type.
137 /// <since_tizen> 3 </since_tizen>
138 public enum KeyProtectionType
141 /// Software based key management.
143 /// <since_tizen> 3 </since_tizen>
147 /// Hardware based key management.
149 /// <since_tizen> 3 </since_tizen>
153 /// Trusted Execution Environment based key management.
155 /// <since_tizen> 3 </since_tizen>
159 /// Secure Element based key management.
161 /// <since_tizen> 3 </since_tizen>
162 SecureElement = 0X08,
165 /// Authenticator does not store (wrapped) UAuth keys at the client, but relies on a server-provided key handle.
167 /// <since_tizen> 3 </since_tizen>
172 /// Authenticator's supported matcher protection type.
174 /// <since_tizen> 3 </since_tizen>
175 public enum MatcherProtectionType
178 /// Authenticator's matcher is running in software.
180 /// <since_tizen> 3 </since_tizen>
184 /// Authenticator's matcher is running inside the Trusted Execution Environment.
186 /// <since_tizen> 3 </since_tizen>
190 /// Aauthenticator's matcher is running on the chip.
192 /// <since_tizen> 3 </since_tizen>
197 /// Authenticator's supproted method to communicate to FIDO user device.
199 /// <since_tizen> 3 </since_tizen>
200 public enum AuthenticatorAttachmentHint
203 /// Authenticator is permanently attached to the FIDO User Device.
205 /// <since_tizen> 3 </since_tizen>
209 /// Authenticator is removable or remote from the FIDO User Device.
211 /// <since_tizen> 3 </since_tizen>
215 /// The external authenticator currently has an exclusive wired connection.
217 /// <since_tizen> 3 </since_tizen>
221 /// The external authenticator communicates with the FIDO User Device through wireless means.
223 /// <since_tizen> 3 </since_tizen>
227 /// Authenticator is able to communicate by NFC to the FIDO User Device.
229 /// <since_tizen> 3 </since_tizen>
233 /// Authenticator is able to communicate by Bluetooth to the FIDO User Device.
235 /// <since_tizen> 3 </since_tizen>
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).
241 /// <since_tizen> 3 </since_tizen>
245 /// The external authenticator is in a "ready" state.
247 /// <since_tizen> 3 </since_tizen>
251 /// The external authenticator is able to communicate using WiFi Direct with the FIDO User Device.
253 /// <since_tizen> 3 </since_tizen>
258 /// Authenticator's supported Attestation type.
260 /// <since_tizen> 3 </since_tizen>
261 public enum AuthenticatorAttestationType
264 /// Full basic attestation.
266 /// <since_tizen> 3 </since_tizen>
270 /// Surrogate basic attestation.
272 /// <since_tizen> 3 </since_tizen>
273 BasicSurrogate = 0X3e08,
277 /// Transaction confirmation display capability type.
279 /// <since_tizen> 3 </since_tizen>
280 public enum TransactionConfirmationDisplayType
283 /// Some form of transaction confirmation display is available on this authenticator.
285 /// <since_tizen> 3 </since_tizen>
289 /// Software-based transaction confirmation display operating in a privileged context is available on this authenticator.
291 /// <since_tizen> 3 </since_tizen>
292 PrivilegedSoftware = 0X02,
295 /// Transaction confirmation display is in a Trusted Execution Environment.
297 /// <since_tizen> 3 </since_tizen>
301 /// Transaction confirmation display based on hardware assisted capabilities is available on this authenticator.
303 /// <since_tizen> 3 </since_tizen>
307 /// Transaction confirmation display is provided on a distinct device from the FIDO User Device.
309 /// <since_tizen> 3 </since_tizen>