-
Notifications
You must be signed in to change notification settings - Fork 2.4k
Firefox 146 supports compressed ECC key point format #28497
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Firefox 146 supports compressed ECC key point format #28497
Conversation
| "description": "ECDSA or ECDH key data can contain compressed elliptic curve points.", | ||
| "support": { | ||
| "chrome": { | ||
| "version_added": "≤80" |
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.
80 is the earliest version of chrome the the test I am using works for https://wpt.live/WebCryptoAPI/import_export/ec_importKey.https.any.html
|
Tip: Review these changes grouped by change (recommended for most PRs), or grouped by feature (for large PRs). |
| "opera": "mirror", | ||
| "opera_android": "mirror", | ||
| "safari": { | ||
| "version_added": false |
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.
Ran on latest safari 26 https://wpt.live/WebCryptoAPI/import_export/ec_importKey.https.any.html - the particular tests show up as optional and fail.
| }, | ||
| "chrome_android": "mirror", | ||
| "deno": { | ||
| "version_added": false |
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.
Can't find information on node or deno so have set as false.
| "description": "ECDSA or ECDH key data can contain compressed elliptic curve points.", | ||
| "support": { |
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.
Isn't there any spec section that we could link?
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.
It seems that support for compressed points is not mandatory, see: https://w3c.github.io/webcrypto/#:~:text=The%20uncompressed%20point%20format%20MUST%20be%20supported%2E
From BCD's point of view, this would warrant setting standard_track: false.
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.
Really? That makes no sense to me.
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.
@hamishwillee If you come to the same conclusion as me looking at the phrasing in the spec, would you like to file a spec issue asking for clarification?
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.
@caugner Sorry for the delay - went away for a few days.
Yes, support for compressed points is not mandatory - I don't think there is any doubt about that and I wouldn't request clarification.
The bit I don't understand is this:
From BCD's point of view, this would warrant setting standard_track: false.
It doesn't make sense to me that something not being mandatory means that it is "not on the standards track" - in particular because the behaviour when EC uncompressed points are discovered is explicitly and clearly documented in the spec at the point you linked.
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.
So assuming you agree and I just wasn't clear about my confusion originally, I added the spec url in a380a85
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.
Let's get a second opinion from @ddbeck here.
My understanding is we treat non-mandatory and non-normative features in BCD as non-standard, as if it wasn't described at all. The most recent case might have been this input picker UI behavior.
However, we only mention "mandatory specified behavior" in the partial implementation guidelines.
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.
Thank you. Obviously whatever the rules are we will follow.
| }, | ||
| "status": { | ||
| "experimental": false, | ||
| "standard_track": true, |
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.
To set standard_track: true, we should add a spec_url.
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.
OK, done in a380a85
Co-authored-by: Claas Augner <[email protected]>
FF146 supports WebCrypto import of EC keys in compressed format in https://bugzilla.mozilla.org/show_bug.cgi?id=1971499
I've added as a subfeature of importKey
Related docs work can be tracked in mdn/content#41870