-
Notifications
You must be signed in to change notification settings - Fork 2.8k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
<keygen> is not supported by Edge. Chrome and Firefox are in the process of removing it. Appcache is superseded by service workers.
- Loading branch information
Showing
1 changed file
with
11 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
1b43806
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
<keygen>
has been deprecated since it was invented. I don't think we're going to make it go away until we provide a better API.1b43806
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The main reason I did this is because Chrome is actively trying and Firefix is about to.
1b43806
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Chrome's attempting to deprecate is pretty controversial as can be seen from this long thread:
https://groups.google.com/a/chromium.org/forum/#!topic/blink-dev/pX5NbX0Xack
Nearly no arguments are given in support, and there is hand waving towards FIDO alliance. Why not wait until the FIDO alliance code is deployed in actual devices that can be tested with keygen? Then it will be clear whether or not keygen actually needs to be deprecated.
Some key arguments in that thread are:
Essentially:
Actual uses:
It may be worth asking why this the usage of public key crypto is limited to TLS at the moment. My guess is that this can be explained by the TAG's rule of least power: TLS is a minimal crypto language with very limited features meaning it is possible to build browser chrome around it. There seems to be no reason why this could not be extended to authentication at the HTTP layer too.
1b43806
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I opened #67 to track this and other similar commits.
1b43806
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
While the discussions are taking place, evidence is being gathered, appropriate tangible alternatives have yet to appear,
warning
ornote
would be an appropriate class thancritical
.1b43806
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The W3C TAG have a report entitled "Keygen and Client Certificates" edited by
Microsoft's Travis Leithead, that forms a balanced and principled review of
the discussion:
http://w3ctag.github.io/client-certificates/
1b43806
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
What matters here is just whether browsers support it and the direction of that support. If Chrome and Firefox remove support then the spec should remove it. Arguing about the technical aspects of this feature misses the point.