File tree Expand file tree Collapse file tree 3 files changed +43
-1
lines changed
main/java/com/yubico/webauthn/data
test/scala/com/yubico/webauthn/data Expand file tree Collapse file tree 3 files changed +43
-1
lines changed Original file line number Diff line number Diff line change @@ -27,6 +27,7 @@ New features:
27
27
some JCA providers to accept attestation certificates with critical
28
28
certificate policy extensions. See the JavaDoc for
29
29
`TrustRootsResultBuilder.policyTreeValidator(Predicate)` for more information.
30
+ * Added enum value `AttestationConveyancePreference.ENTERPRISE`.
30
31
* (Experimental) Added constant `AuthenticatorTransport.HYBRID`.
31
32
32
33
Fixes:
Original file line number Diff line number Diff line change @@ -73,7 +73,20 @@ public enum AttestationConveyancePreference {
73
73
* Indicates that the Relying Party wants to receive the attestation statement as generated by the
74
74
* authenticator.
75
75
*/
76
- DIRECT ("direct" );
76
+ DIRECT ("direct" ),
77
+
78
+ /**
79
+ * This value indicates that the Relying Party wants to receive an attestation statement that may
80
+ * include uniquely identifying information. This is intended for controlled deployments within an
81
+ * enterprise where the organization wishes to tie registrations to specific authenticators. User
82
+ * agents MUST NOT provide such an attestation unless the user agent or authenticator
83
+ * configuration permits it for the requested RP ID.
84
+ *
85
+ * <p>If permitted, the user agent SHOULD signal to the authenticator (at invocation time) that
86
+ * enterprise attestation is requested, and convey the resulting AAGUID and attestation statement,
87
+ * unaltered, to the Relying Party.
88
+ */
89
+ ENTERPRISE ("enterprise" );
77
90
78
91
@ JsonValue @ Getter @ NonNull private final String value ;
79
92
Original file line number Diff line number Diff line change @@ -22,6 +22,34 @@ class EnumsSpec
22
22
23
23
describe(" AttestationConveyancePreference" ) {
24
24
describe(" can be parsed from JSON" ) {
25
+ it(""" value: "none"""" ) {
26
+ json.readValue(
27
+ " \" none\" " ,
28
+ classOf [AttestationConveyancePreference ],
29
+ ) should be theSameInstanceAs AttestationConveyancePreference .NONE
30
+ }
31
+
32
+ it(""" value: "indirect"""" ) {
33
+ json.readValue(
34
+ " \" indirect\" " ,
35
+ classOf [AttestationConveyancePreference ],
36
+ ) should be theSameInstanceAs AttestationConveyancePreference .INDIRECT
37
+ }
38
+
39
+ it(""" value: "direct"""" ) {
40
+ json.readValue(
41
+ " \" direct\" " ,
42
+ classOf [AttestationConveyancePreference ],
43
+ ) should be theSameInstanceAs AttestationConveyancePreference .DIRECT
44
+ }
45
+
46
+ it(""" value: "enterprise"""" ) {
47
+ json.readValue(
48
+ " \" enterprise\" " ,
49
+ classOf [AttestationConveyancePreference ],
50
+ ) should be theSameInstanceAs AttestationConveyancePreference .ENTERPRISE
51
+ }
52
+
25
53
it(" but throws IllegalArgumentException for unknown values." ) {
26
54
val result = Try (
27
55
json.readValue(" \" foo\" " , classOf [AttestationConveyancePreference ])
You can’t perform that action at this time.
0 commit comments