You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
/// This flag must be set if the authenticator is able to confirm user presence in any fashion. If this flag and no other is set for user verification, the guarantee is only that the authenticator cannot be operated without some human intervention, not necessarily that the presence verification provides any level of authentication of the human's identity. (e.g. a device that requires a touch to activate)
18
22
/// </summary>
23
+
#if NET9_0_OR_GREATER
24
+
[JsonStringEnumMemberName("presence_internal")]
25
+
#else
19
26
[EnumMember(Value="presence_internal")]
27
+
#endif
20
28
PRESENCE_INTERNAL=1,
21
29
/// <summary>
22
30
/// This flag must be set if the authenticator uses any type of measurement of a fingerprint for user verification.
/// This flag must be set if the authenticator uses a local-only passcode (i.e. a passcode not known by the server) for user verification.
28
40
/// </summary>
41
+
#if NET9_0_OR_GREATER
42
+
[JsonStringEnumMemberName("passcode_internal")]
43
+
#else
29
44
[EnumMember(Value="passcode_internal")]
45
+
#endif
30
46
PASSCODE_INTERNAL=4,
31
47
/// <summary>
32
48
/// This flag must be set if the authenticator uses a voiceprint (also known as speaker recognition) for user verification.
33
49
/// </summary>
50
+
#if NET9_0_OR_GREATER
51
+
[JsonStringEnumMemberName("voiceprint_internal")]
52
+
#else
34
53
[EnumMember(Value="voiceprint_internal")]
54
+
#endif
35
55
VOICEPRINT_INTERNAL=8,
36
56
/// <summary>
37
57
/// This flag must be set if the authenticator uses any manner of face recognition to verify the user.
38
58
/// </summary>
59
+
#if NET9_0_OR_GREATER
60
+
[JsonStringEnumMemberName("faceprint_internal")]
61
+
#else
39
62
[EnumMember(Value="faceprint_internal")]
63
+
#endif
40
64
FACEPRINT_INTERNAL=0x10,
41
65
/// <summary>
42
66
/// This flag must be set if the authenticator uses any form of location sensor or measurement for user verification.
43
67
/// </summary>
68
+
#if NET9_0_OR_GREATER
69
+
[JsonStringEnumMemberName("location_internal")]
70
+
#else
44
71
[EnumMember(Value="location_internal")]
72
+
#endif
45
73
LOCATION_INTERNAL=0x20,
46
74
/// <summary>
47
75
/// This flag must be set if the authenticator uses any form of eye biometrics for user verification.
48
76
/// </summary>
77
+
#if NET9_0_OR_GREATER
78
+
[JsonStringEnumMemberName("eyeprint_internal")]
79
+
#else
49
80
[EnumMember(Value="eyeprint_internal")]
81
+
#endif
50
82
EYEPRINT_INTERNAL=0x40,
51
83
/// <summary>
52
84
/// This flag must be set if the authenticator uses a drawn pattern for user verification.
53
85
/// </summary>
86
+
#if NET9_0_OR_GREATER
87
+
[JsonStringEnumMemberName("pattern_internal")]
88
+
#else
54
89
[EnumMember(Value="pattern_internal")]
90
+
#endif
55
91
PATTERN_INTERNAL=0x80,
56
92
/// <summary>
57
93
/// This flag must be set if the authenticator uses any measurement of a full hand (including palm-print, hand geometry or vein geometry) for user verification.
58
94
/// </summary>
95
+
#if NET9_0_OR_GREATER
96
+
[JsonStringEnumMemberName("handprint_internal")]
97
+
#else
59
98
[EnumMember(Value="handprint_internal")]
99
+
#endif
60
100
HANDPRINT_INTERNAL=0x100,
61
101
/// <summary>
62
102
/// This flag must be set if the authenticator uses a local-only passcode (i.e. a passcode not known by the server) for user verification that might be gathered outside the authenticator boundary.
63
103
/// </summary>
104
+
#if NET9_0_OR_GREATER
105
+
[JsonStringEnumMemberName("passcode_external")]
106
+
#else
64
107
[EnumMember(Value="passcode_external")]
108
+
#endif
65
109
PASSCODE_EXTERNAL=0x800,
66
110
/// <summary>
67
111
/// This flag must be set if the authenticator uses a drawn pattern for user verification that might be gathered outside the authenticator boundary.
68
112
/// </summary>
113
+
#if NET9_0_OR_GREATER
114
+
[JsonStringEnumMemberName("pattern_external")]
115
+
#else
69
116
[EnumMember(Value="pattern_external")]
117
+
#endif
70
118
PATTERN_EXTERNAL=0x1000,
71
119
/// <summary>
72
120
/// This flag must be set if the authenticator will respond without any user interaction (e.g. Silent Authenticator).
73
121
/// </summary>
122
+
#if NET9_0_OR_GREATER
123
+
[JsonStringEnumMemberName("none")]
124
+
#else
74
125
[EnumMember(Value="none")]
126
+
#endif
75
127
NONE=0x200,
76
128
/// <summary>
77
129
/// 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).
/// This value indicates that the Relying Party is not interested in authenticator attestation. For example, in order to potentially avoid having to obtain user consent to relay identifying information to the Relying Party, or to save a roundtrip to an Attestation CA.
15
19
/// This is the default value.
16
20
/// </summary>
21
+
#if NET9_0_OR_GREATER
22
+
[JsonStringEnumMemberName("none")]
23
+
#else
17
24
[EnumMember(Value="none")]
25
+
#endif
18
26
None,
19
27
20
28
/// <summary>
21
29
/// This value indicates that the Relying Party prefers an attestation conveyance yielding verifiable attestation statements, but allows the client to decide how to obtain such attestation statements. The client MAY replace the authenticator-generated attestation statements with attestation statements generated by an Anonymization CA, in order to protect the user’s privacy, or to assist Relying Parties with attestation verification in a heterogeneous ecosystem.
22
30
/// </summary>
31
+
#if NET9_0_OR_GREATER
32
+
[JsonStringEnumMemberName("indirect")]
33
+
#else
23
34
[EnumMember(Value="indirect")]
35
+
#endif
24
36
Indirect,
25
37
26
38
/// <summary>
27
39
/// This value indicates that the Relying Party wants to receive the attestation statement as generated by the authenticator.
28
40
/// </summary>
41
+
#if NET9_0_OR_GREATER
42
+
[JsonStringEnumMemberName("direct")]
43
+
#else
29
44
[EnumMember(Value="direct")]
45
+
#endif
30
46
Direct,
31
47
32
48
/// <summary>
33
49
/// This value indicates that the Relying Party wants to receive an attestation statement that may include uniquely identifying information.
Copy file name to clipboardExpand all lines: Src/Fido2.Models/Objects/AttestationStatementFormatIdentifier.cs
+32Lines changed: 32 additions & 0 deletions
Original file line number
Diff line number
Diff line change
@@ -7,49 +7,81 @@ namespace Fido2NetLib.Objects;
7
7
/// The attestation statement format identifier in WebAuthn specifies the format of the attestation statement that is used to attest to the authenticity of a credential created by a WebAuthn authenticator.
/// The "packed" attestation statement format is a WebAuthn-optimized format for attestation. It uses a very compact but still extensible encoding method. This format is implementable by authenticators with limited resources (e.g., secure elements).
15
19
/// </summary>
20
+
#if NET9_0_OR_GREATER
21
+
[JsonStringEnumMemberName("packed")]
22
+
#else
16
23
[EnumMember(Value="packed")]
24
+
#endif
17
25
Packed,
18
26
19
27
/// <summary>
20
28
/// The "TPM" attestation statement format returns an attestation statement in the same format as the packed attestation statement format, although the rawData and signature fields are computed differently.
21
29
/// </summary>
30
+
#if NET9_0_OR_GREATER
31
+
[JsonStringEnumMemberName("tpm")]
32
+
#else
22
33
[EnumMember(Value="tpm")]
34
+
#endif
23
35
Tpm,
24
36
25
37
/// <summary>
26
38
/// Platform authenticators on versions "N", and later, may provide this proprietary "hardware attestation" statement.
27
39
/// </summary>
40
+
#if NET9_0_OR_GREATER
41
+
[JsonStringEnumMemberName("android-key")]
42
+
#else
28
43
[EnumMember(Value="android-key")]
44
+
#endif
29
45
AndroidKey,
30
46
31
47
/// <summary>
32
48
/// Android-based platform authenticators MAY produce an attestation statement based on the Android SafetyNet API.
33
49
/// </summary>
50
+
#if NET9_0_OR_GREATER
51
+
[JsonStringEnumMemberName("android-safetynet")]
52
+
#else
34
53
[EnumMember(Value="android-safetynet")]
54
+
#endif
35
55
AndroidSafetyNet,
36
56
37
57
/// <summary>
38
58
/// Used with FIDO U2F authenticators.
39
59
/// </summary>
60
+
#if NET9_0_OR_GREATER
61
+
[JsonStringEnumMemberName("fido-u2f")]
62
+
#else
40
63
[EnumMember(Value="fido-u2f")]
64
+
#endif
41
65
FidoU2f,
42
66
43
67
/// <summary>
44
68
/// Used with Apple devices' platform authenticators.
45
69
/// </summary>
70
+
#if NET9_0_OR_GREATER
71
+
[JsonStringEnumMemberName("apple")]
72
+
#else
46
73
[EnumMember(Value="apple")]
74
+
#endif
47
75
Apple,
48
76
49
77
/// <summary>
50
78
/// Used to replace any authenticator-provided attestation statement when a WebAuthn Relying Party indicates it does not wish to receive attestation information.
/// Note: An authenticator attachment modality selection option is available only in the [[Create]](origin, options, sameOriginWithAncestors) operation. The Relying Party may use it to, for example, ensure the user has a roaming credential for authenticating on another client device; or to specifically register a platform credential for easier reauthentication using a particular client device. The [[DiscoverFromExternalSource]](origin, options, sameOriginWithAncestors) operation has no authenticator attachment modality selection option, so the Relying Party SHOULD accept any of the user’s registered credentials. The client and user will then use whichever is available and convenient at the time.
0 commit comments