@@ -114,6 +114,39 @@ public void testNoneAttestation(TestContext should) {
114114 });
115115 }
116116
117+ @ Test
118+ public void testNoneAttestationShouldFailWhenDirectAttestationIsRequested (TestContext should ) {
119+ final Async test = should .async ();
120+
121+ WebAuthn4J webAuthN = WebAuthn4J .create (
122+ rule .vertx (),
123+ new WebAuthn4JOptions ()
124+ .setRelyingParty (new RelyingParty ().setName ("FIDO Examples Corporation" ))
125+ .setAttestation (Attestation .DIRECT )
126+ )
127+ .credentialStorage (database );
128+
129+ JsonObject packedFullAttestationWebAuthnSample = new JsonObject ()
130+ .put ("rawId" , "AAii3V6sGoaozW7TbNaYlJaJ5br8TrBfRXnofZO6l2suc3a5tt_XFuFkFA_5eabU80S1PW0m4IZ79BS2kQO7Zcuy2vf0ESg18GTLG1mo5YSkIdqL2J44egt-6rcj7NedSEwxa_uuxUYBtHNnSQqDmtoUAfM9LSWLl65BjKVZNGUp9ao33mMSdVfQQ0bHze69JVQvLBf8OTiZUqJsOuKmpqUc" )
131+ .put ("id" , "AAii3V6sGoaozW7TbNaYlJaJ5br8TrBfRXnofZO6l2suc3a5tt_XFuFkFA_5eabU80S1PW0m4IZ79BS2kQO7Zcuy2vf0ESg18GTLG1mo5YSkIdqL2J44egt-6rcj7NedSEwxa_uuxUYBtHNnSQqDmtoUAfM9LSWLl65BjKVZNGUp9ao33mMSdVfQQ0bHze69JVQvLBf8OTiZUqJsOuKmpqUc" )
132+ .put ("type" , "public-key" )
133+ .put ("response" , new JsonObject ()
134+ .put ("clientDataJSON" , "eyJjaGFsbGVuZ2UiOiIzM0VIYXYtaloxdjlxd0g3ODNhVS1qMEFSeDZyNW8tWUhoLXdkN0M2alBiZDdXaDZ5dGJJWm9zSUlBQ2Vod2Y5LXM2aFhoeVNITy1ISFVqRXdaUzI5dyIsImNsaWVudEV4dGVuc2lvbnMiOnt9LCJoYXNoQWxnb3JpdGhtIjoiU0hBLTI1NiIsIm9yaWdpbiI6Imh0dHBzOi8vbG9jYWxob3N0Ojg0NDMiLCJ0eXBlIjoid2ViYXV0aG4uY3JlYXRlIn0=" )
135+ .put ("attestationObject" , "o2NmbXRkbm9uZWdhdHRTdG10oGhhdXRoRGF0YVkBJkmWDeWIDoxodDQXD2R2YFuP5K65ooYyx5lc87qDHZdjQQAAAAAAAAAAAAAAAAAAAAAAAAAAAKIACKLdXqwahqjNbtNs1piUlonluvxOsF9Feeh9k7qXay5zdrm239cW4WQUD_l5ptTzRLU9bSbghnv0FLaRA7tly7La9_QRKDXwZMsbWajlhKQh2ovYnjh6C37qtyPs151ITDFr-67FRgG0c2dJCoOa2hQB8z0tJYuXrkGMpVk0ZSn1qjfeYxJ1V9BDRsfN7r0lVC8sF_w5OJlSomw64qampRylAQIDJiABIVgguxHN3W6ehp0VWXKaMNie1J82MVJCFZYScau74o17cx8iWCDb1jkTLi7lYZZbgwUwpqAk8QmIiPMTVQUVkhGEyGrKww==" ));
136+
137+ webAuthN .authenticate (
138+ new WebAuthn4JCredentials ()
139+ .setUsername ("paulo" )
140+ .setOrigin ("https://localhost:8443" )
141+ .setWebauthn (packedFullAttestationWebAuthnSample )
142+ .setChallenge ("33EHav-jZ1v9qwH783aU-j0ARx6r5o-YHh-wd7C6jPbd7Wh6ytbIZosIIACehwf9-s6hXhySHO-HHUjEwZS29w" ))
143+ .onFailure (err ->{
144+ test .complete ();
145+ })
146+ .onSuccess (user -> should .fail ());
147+ }
148+
149+
117150 @ Test
118151 public void testNoneAttestationWithNonZeroAAGUID (TestContext should ) {
119152 final Async test = should .async ();
0 commit comments