Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
38 changes: 38 additions & 0 deletions api/SubtleCrypto.json
Original file line number Diff line number Diff line change
Expand Up @@ -1158,6 +1158,44 @@
"deprecated": false
}
},
"compressed_elliptic_curve_points": {
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I was asked to respond to the spec question below, but I'm -0 on adding this subfeature. Speaking as a consumer of BCD (i.e., for web-features), this makes the data even harder to work with and, as written, is not something we can use to generate a status in web-features.

In a better world, this data would be represented as api.SubtleCrypto.importKey.ecdsa.compressed_elliptic_curve_points and api.SubtleCrypto.importKey.ecdh.compressed_elliptic_curve_points. But we don't have keys for ecdsa and ecdh, we just have notes in importKey feature. This makes the problem worse by creating a named subfeature to notes of the parent feature, not the parent feature itself.

I won't block on merging this—I do not have the time this month to do a rounds of follow up and re-review—but I think the addition of this subfeature makes the problem described in #27669 worse and I would like you to reconsider.

"__compat": {
"description": "ECDSA or ECDH key data can contain compressed elliptic curve points.",
"spec_url": "https://w3c.github.io/webcrypto/#ecdsa-operations-import-key",
"support": {
"chrome": {
"version_added": "≤80"
Copy link
Contributor Author

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

},
"chrome_android": "mirror",
"deno": {
"version_added": false
Copy link
Contributor Author

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.

},
"edge": "mirror",
"firefox": {
"version_added": "146"
},
"firefox_android": "mirror",
"nodejs": {
"version_added": false
},
"oculus": "mirror",
"opera": "mirror",
"opera_android": "mirror",
"safari": {
"version_added": false
Copy link
Contributor Author

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.

},
"safari_ios": "mirror",
"samsunginternet_android": "mirror",
"webview_android": "mirror",
"webview_ios": "mirror"
},
"status": {
"experimental": false,
"standard_track": true,
Copy link
Contributor

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.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

OK, done in a380a85

"deprecated": false
}
}
},
"ed25519": {
"__compat": {
"description": "`Ed25519` algorithm",
Expand Down