gecko-dev/dom/u2f/tests
J.C. Jones 9fc9b8dcb4 Bug 1244959 - Use IsRegistrableDomainSuffixOfOrEqualTo for U2F Facets r=ttaubert
In Comment 8 of Bug 1244959 [1], Brad Hill argues that instead of leaving our
U2F Facet support completely half-way, that we could use the Public Suffix logic
introduced into HTML for W3C Web Authentication (the method named
IsRegistrableDomainSuffixOfOrEqualTo) to scope the FIDO AppID to an eTLD+1
hierarchy. This is a deviation from the FIDO specification, but doesn't break
anything that currently works with our U2F implementation, and theoretically
enables sites that otherwise need an external FacetID fetch which we aren't
implementing.

The downside to this is that it's then Firefox-specific behavior. But since this
isn't a shipped feature, we have more room to experiment. As an additional
bonus, it encourages U2F sites to use the upcoming Web Authentication security
model, which will help them prepare to adopt the newer standard.

[1] https://bugzilla.mozilla.org/show_bug.cgi?id=1244959#c8

MozReview-Commit-ID: DzNVhHT9qRL

--HG--
extra : rebase_source : 262e2ddbec325e0391d346473f27ae2738490da1
2017-09-28 16:45:28 -07:00
..
pkijs Bug 1244960 - FIDO u2f NSSToken (Part 2): Use Attestation Certificates. r=keeler 2016-03-28 18:55:52 -07:00
frame_appid_facet_insecure.html Bug 1245527 - Rewrite U2F.cpp to use U2FTokenManager. r=keeler, r=ttaubert 2017-09-11 12:56:59 -07:00
frame_appid_facet_subdomain.html Bug 1244959 - Use IsRegistrableDomainSuffixOfOrEqualTo for U2F Facets r=ttaubert 2017-09-28 16:45:28 -07:00
frame_appid_facet.html Bug 1244959 - Use IsRegistrableDomainSuffixOfOrEqualTo for U2F Facets r=ttaubert 2017-09-28 16:45:28 -07:00
frame_multiple_keys.html Bug 1245527 - Rewrite U2F.cpp to use U2FTokenManager. r=keeler, r=ttaubert 2017-09-11 12:56:59 -07:00
frame_no_token.html Bug 1245527 - Rewrite U2F.cpp to use U2FTokenManager. r=keeler, r=ttaubert 2017-09-11 12:56:59 -07:00
frame_register_sign.html Bug 1399334 - Workaround buggy pki.js cert verifier implementation r=keeler 2017-10-02 11:06:31 -07:00
frame_register.html Bug 1403279 - Set U2F version field on RegisterResponse r=keeler 2017-09-28 16:04:10 -07:00
frame_utils.js Bug 1245527 - Rewrite U2F.cpp to use U2FTokenManager. r=keeler, r=ttaubert 2017-09-11 12:56:59 -07:00
mochitest.ini Bug 1245527 - Rewrite U2F.cpp to use U2FTokenManager. r=keeler, r=ttaubert 2017-09-11 12:56:59 -07:00
README.md Bug 1333592 - Fix a regression with U2F sign() called with multiple keys r=keeler 2017-01-26 15:18:50 -07:00
test_appid_facet_insecure.html Bug 1245527 - Rewrite U2F.cpp to use U2FTokenManager. r=keeler, r=ttaubert 2017-09-11 12:56:59 -07:00
test_appid_facet_subdomain.html Bug 1245527 - Rewrite U2F.cpp to use U2FTokenManager. r=keeler, r=ttaubert 2017-09-11 12:56:59 -07:00
test_appid_facet.html Bug 1245527 - Rewrite U2F.cpp to use U2FTokenManager. r=keeler, r=ttaubert 2017-09-11 12:56:59 -07:00
test_multiple_keys.html Bug 1245527 - Rewrite U2F.cpp to use U2FTokenManager. r=keeler, r=ttaubert 2017-09-11 12:56:59 -07:00
test_no_token.html Bug 1245527 - Rewrite U2F.cpp to use U2FTokenManager. r=keeler, r=ttaubert 2017-09-11 12:56:59 -07:00
test_register_sign.html Bug 1245527 - Rewrite U2F.cpp to use U2FTokenManager. r=keeler, r=ttaubert 2017-09-11 12:56:59 -07:00
test_register.html Bug 1245527 - Rewrite U2F.cpp to use U2FTokenManager. r=keeler, r=ttaubert 2017-09-11 12:56:59 -07:00
test_util_methods.html Bug 1245527 - Rewrite U2F.cpp to use U2FTokenManager. r=keeler, r=ttaubert 2017-09-11 12:56:59 -07:00
u2futil.js Bug 1244959 - Use IsRegistrableDomainSuffixOfOrEqualTo for U2F Facets r=ttaubert 2017-09-28 16:45:28 -07:00

Note:

While conceptually similar to the tests for Web Authentication (dom/webauthn), the tests for U2F require an iframe while window.u2f remains hidden behind a preference, though WebAuthn does not. The reason is that the window object doesn't mutate upon a call by SpecialPowers.setPrefEnv() the way that the navigator objects do, rather you have to load a different page with a different window object for the preference change to be honored.