Skip to content
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

Tests for the deriveBits operation with extreme values in the 'length' parameter #43400

Merged
merged 1 commit into from
Jul 4, 2024

Conversation

javifernandez
Copy link
Contributor

@javifernandez javifernandez commented Nov 28, 2023

There is some inconsistency in the spec regarding the 'length' parameter in the deriveBits operations of different algorithms, such as ECDH, HKDF, PBKDF2 or X25519. This PR adds a few tests to evaluate the behavior of these algorithms with extreme values, like 0, null or undefined.

There is an ongoing discussion in the issues 322 and 399 about whether the parameter may be optional or accept null values, since it's currently defined as unsigned long. This PR considers the null value as tentative tests while these issues are not solved.

@javifernandez javifernandez changed the title Tests for the deriveBits operation with extreme values in the 'lenght' parameter Tests for the deriveBits operation with extreme values in the 'length' parameter Nov 28, 2023
@javifernandez
Copy link
Contributor Author

@twiss @martinthomson if there isn't anything else to change on the new tests, could you please review the PR so that I can merge it ? Thanks.

@twiss
Copy link
Member

twiss commented Dec 15, 2023

Hey 👋 Apologies for the delayed response.

I think the new (non-tentative) tests are correct in that they match the spec, however, for ECDH and X25519, I'm not 100% sure whether we should start testing that passing 0 leads to an empty array at this time, before a decision has been reached on how to handle the parameter.

One of the proposals I made in w3c/webcrypto#345 (comment) was to ignore the length parameter entirely. If we'd go with that option, even the non-tentative tests would have to change again.

Obviously, we can always do so, and in a sense that reflects the fact that it would be a backwards-incompatible change (and hopefully the counters from Chromium will inform us whether that's possible). But, perhaps it's easier to wait for that? (I'll also try to ping the people in that thread early next week, to try to get to a decision / conclusion.)

Also because, Safari currently returns the entire value when passing 0, and on the (admittedly very unlikely) off-chance that someone relies on this, returning an empty array could lead to a security issue. So if we do end up going with that option, perhaps we don't want to encourage Safari to change the behavior to returning an empty array now (and then back later).

@javifernandez
Copy link
Contributor Author

Hey 👋 Apologies for the delayed response.

Don't worry, I'm the one that should apologize for being so insistent when asking for the review. I was waiting for this tests to land this Chrome CL to make the X25519 implementation matching the current (and being discussed) spec, so that zero length returns an empty string, updating the WPT accordingly, since
we have a few cases with 'null' that seem wrong.

I think the new (non-tentative) tests are correct in that they match the spec, however, for ECDH and X25519, I'm not 100% sure whether we should start testing that passing 0 leads to an empty array at this time, before a decision has been reached on how to handle the parameter.

We are now in a weird situation, where there are tests that use 'null' when it's not allowed in the current spec, with the fill array as expected result; the only way the implementations can do that is to make '0' equivalent to 'null' (this is Chrome's current behavior) which goes against the spec.

The CL I mentioned before tries to make the X25519 implementation to mach the current spec, returning an empty array for a '0' length; it causes the mentioned test to fail, though. With this PR I tried to fix also the mess we have in the tests, but I understand your concerns about it; I'm just afraid the agreement on the spec issue takes too long.

Unless anybody has good arguments against, I think landing the mentioned CL to that Chrome's X25519 matches the current spec (0 returns an empty string) is the best option now, although I really wanted to land it with the proper testing coverage for the 'zero' length case; if there is no agreement, I may have remove the new test cases there for that case.

One of the proposals I made in w3c/webcrypto#345 (comment) was to ignore the length parameter entirely. If we'd go with that option, even the non-tentative tests would have to change again.

Obviously, we can always do so, and in a sense that reflects the fact that it would be a backwards-incompatible change (and hopefully the counters from Chromium will inform us whether that's possible). But, perhaps it's easier to wait for that? (I'll also try to ping the people in that thread early next week, to try to get to a decision / conclusion.)

Also because, Safari currently returns the entire value when passing 0, and on the (admittedly very unlikely) off-chance that someone relies on this, returning an empty array could lead to a security issue. So if we do end up going with that option, perhaps we don't want to encourage Safari to change the behavior to returning an empty array now (and then back later).

In the case of Chrome, the X25519 algorithm is still behind an experimental runtime flag, so I don't think it's a problem to change the implementation and align it with the current spec (zero length returns an empty array), but I guess we can wait until the spec issue is resolved to merge the PR with the definitive tests.

@twiss
Copy link
Member

twiss commented Dec 18, 2023

Yeah, I understand. I'm also not really worried about adding tests for X25519 (tentative or otherwise) that need to be changed later, but I'm more hesitant about doing that for ECDH.

But, if you don't want to wait for the spec decision, perhaps we can also mark the tests for 0 as being tenative, and merge them like that, for now?

@javifernandez
Copy link
Contributor Author

Yeah, I understand. I'm also not really worried about adding tests for X25519 (tentative or otherwise) that need to be changed later, but I'm more hesitant about doing that for ECDH.

Makes sense.

But, if you don't want to wait for the spec decision, perhaps we can also mark the tests for 0 as being tenative, and merge them like that, for now?

The CL changed the Chrome's X25519 implementation to change its behavior for the '0' length case that's why I wanted to land this PR under the assumption that there was more agreement on that case, leaving as tentative the 'null' and 'undefined' ones. If we want to mark all as tentative, perhaps I can land the CL without new tests and can wait until we solve the issue in the spec, at least for the '0' case.

@twiss
Copy link
Member

twiss commented Dec 19, 2023

Right. Yeah, I don't think there's full agreement on that yet either, as e.g. we have this open PR too: w3c/webcrypto#351. (Which, if we merge something like that, we should do the same thing for X25519 and X448, IMO.)

@panva
Copy link
Contributor

panva commented Jun 26, 2024

@javifernandez Can you update this for the merged state of w3c/webcrypto#345?

@panva
Copy link
Contributor

panva commented Jun 30, 2024

I don't believe the -1 tests are correct, they should all result in a type error instead

https://webidl.spec.whatwg.org/#abstract-opdef-converttoint

If x < lowerBound or x > upperBound, thenthrow a TypeError.

@javifernandez
Copy link
Contributor Author

@twiss @martinthomson could you please review this ? I'm already working on the changes for the web engines, but waiting for this PR to be merged. Thanks.

The PR#345 to the WebCrypto API spec resolves an inconsistency
on the 'length' parameter in the deriveBits operations of several
algorithms, such as ECDH, HKDF, PBKDF2 or X25519.

These cange adds a few tests to evaluate the behavior of these algorithms
with extreme values, like 0, null or undefined.
Copy link
Member

@twiss twiss left a comment

Choose a reason for hiding this comment

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

👍 Thanks!

@twiss twiss merged commit 4993c18 into web-platform-tests:master Jul 4, 2024
19 checks passed
littledivy pushed a commit to denoland/deno that referenced this pull request Jul 4, 2024
zebreus pushed a commit to zebreus/deno that referenced this pull request Jul 8, 2024
javifernandez added a commit to javifernandez/WebKit that referenced this pull request Jul 10, 2024
https://bugs.webkit.org/show_bug.cgi?id=276394

Reviewed by NOBODY (OOPS!).

The PR#345 [1] to the WebCryptoAPI spec defines now the 'length'
parameter as optional, defaulting to 'null'. This change tries to
solve a long-standing interoperability issue in the deriveBits
operation.

This patch implements the required changes in the IDL so that the
'length' parameter is declared as optional, with 'null' as default
value when omitted. The affected algorithms (ECDH, HKDF, PBKDF2
and X25519) are adapted to the parameter's new type.

The PR#43400 [2] defined tests for the new behavior of the afected
algorithms, which Chrome passes except for the case of HKDF with
length=0 (see the PR#275 [3] for details)

[1] w3c/webcrypto#345
[2] web-platform-tests/wpt#43400
[3] w3c/webcrypto#275

* LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/derive_bits_keys/derived_bits_length.https.any-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/derive_bits_keys/derived_bits_length.https.any.worker-expected.txt:
* Source/WebCore/crypto/CryptoAlgorithm.cpp:
(WebCore::CryptoAlgorithm::deriveBits):
* Source/WebCore/crypto/CryptoAlgorithm.h:
* Source/WebCore/crypto/SubtleCrypto.cpp:
(WebCore::SubtleCrypto::deriveKey):
(WebCore::SubtleCrypto::deriveBits):
* Source/WebCore/crypto/SubtleCrypto.h:
* Source/WebCore/crypto/SubtleCrypto.idl:
* Source/WebCore/crypto/algorithms/CryptoAlgorithmECDH.cpp:
(WebCore::CryptoAlgorithmECDH::deriveBits):
* Source/WebCore/crypto/algorithms/CryptoAlgorithmECDH.h:
* Source/WebCore/crypto/algorithms/CryptoAlgorithmHKDF.cpp:
(WebCore::CryptoAlgorithmHKDF::deriveBits):
* Source/WebCore/crypto/algorithms/CryptoAlgorithmHKDF.h:
* Source/WebCore/crypto/algorithms/CryptoAlgorithmPBKDF2.cpp:
(WebCore::CryptoAlgorithmPBKDF2::deriveBits):
* Source/WebCore/crypto/algorithms/CryptoAlgorithmPBKDF2.h:
* Source/WebCore/crypto/algorithms/CryptoAlgorithmX25519.cpp:
(WebCore::CryptoAlgorithmX25519::deriveBits):
* Source/WebCore/crypto/algorithms/CryptoAlgorithmX25519.h:
javifernandez added a commit to javifernandez/WebKit that referenced this pull request Jul 11, 2024
https://bugs.webkit.org/show_bug.cgi?id=276394

Reviewed by NOBODY (OOPS!).

The PR#345 [1] to the WebCryptoAPI spec defines now the 'length'
parameter as optional, defaulting to 'null'. This change tries to
solve a long-standing interoperability issue in the deriveBits
operation.

This patch implements the required changes in the IDL so that the
'length' parameter is declared as optional, with 'null' as default
value when omitted. The affected algorithms (ECDH, HKDF, PBKDF2
and X25519) are adapted to the parameter's new type.

The PR#43400 [2] defined tests for the new behavior of the afected
algorithms, which they all pass now.

[1] w3c/webcrypto#345
[2] web-platform-tests/wpt#43400

* LayoutTests/crypto/subtle/derive-bits-malformed-parameters-expected.txt:
* LayoutTests/crypto/subtle/derive-bits-malformed-parameters.html:
* LayoutTests/crypto/subtle/ecdh-derive-bits-length-limits-expected.txt:
* LayoutTests/crypto/subtle/ecdh-derive-bits-length-limits.html:
* LayoutTests/crypto/subtle/pbkdf2-derive-bits-malformed-parametrs-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/derive_bits_keys/derived_bits_length.https.any-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/derive_bits_keys/derived_bits_length.https.any.worker-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/idlharness.https.any-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/idlharness.https.any.worker-expected.txt:
* Source/WebCore/crypto/CryptoAlgorithm.cpp:
(WebCore::CryptoAlgorithm::deriveBits):
* Source/WebCore/crypto/CryptoAlgorithm.h:
* Source/WebCore/crypto/SubtleCrypto.cpp:
(WebCore::SubtleCrypto::deriveKey):
(WebCore::SubtleCrypto::deriveBits):
* Source/WebCore/crypto/SubtleCrypto.h:
* Source/WebCore/crypto/SubtleCrypto.idl:
* Source/WebCore/crypto/algorithms/CryptoAlgorithmECDH.cpp:
(WebCore::CryptoAlgorithmECDH::deriveBits):
* Source/WebCore/crypto/algorithms/CryptoAlgorithmECDH.h:
* Source/WebCore/crypto/algorithms/CryptoAlgorithmHKDF.cpp:
(WebCore::CryptoAlgorithmHKDF::deriveBits):
* Source/WebCore/crypto/algorithms/CryptoAlgorithmHKDF.h:
* Source/WebCore/crypto/algorithms/CryptoAlgorithmPBKDF2.cpp:
(WebCore::CryptoAlgorithmPBKDF2::deriveBits):
* Source/WebCore/crypto/algorithms/CryptoAlgorithmPBKDF2.h:
* Source/WebCore/crypto/algorithms/CryptoAlgorithmX25519.cpp:
(WebCore::CryptoAlgorithmX25519::deriveBits):
* Source/WebCore/crypto/algorithms/CryptoAlgorithmX25519.h:
javifernandez added a commit to javifernandez/WebKit that referenced this pull request Jul 11, 2024
https://bugs.webkit.org/show_bug.cgi?id=276394

Reviewed by NOBODY (OOPS!).

The PR#345 [1] to the WebCryptoAPI spec defines now the 'length'
parameter as optional, defaulting to 'null'. This change tries to
solve a long-standing interoperability issue in the deriveBits
operation.

This patch implements the required changes in the IDL so that the
'length' parameter is declared as optional, with 'null' as default
value when omitted. The affected algorithms (ECDH, HKDF, PBKDF2
and X25519) are adapted to the parameter's new type.

The PR#43400 [2] defined tests for the new behavior of the afected
algorithms, which they all pass now.

[1] w3c/webcrypto#345
[2] web-platform-tests/wpt#43400

* LayoutTests/crypto/subtle/derive-bits-malformed-parameters-expected.txt:
* LayoutTests/crypto/subtle/derive-bits-malformed-parameters.html:
* LayoutTests/crypto/subtle/ecdh-derive-bits-length-limits-expected.txt:
* LayoutTests/crypto/subtle/ecdh-derive-bits-length-limits.html:
* LayoutTests/crypto/subtle/pbkdf2-derive-bits-malformed-parametrs-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/derive_bits_keys/derived_bits_length.https.any-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/derive_bits_keys/derived_bits_length.https.any.worker-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/idlharness.https.any-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/idlharness.https.any.worker-expected.txt:
* Source/WebCore/crypto/CryptoAlgorithm.cpp:
(WebCore::CryptoAlgorithm::deriveBits):
* Source/WebCore/crypto/CryptoAlgorithm.h:
* Source/WebCore/crypto/SubtleCrypto.cpp:
(WebCore::SubtleCrypto::deriveKey):
(WebCore::SubtleCrypto::deriveBits):
* Source/WebCore/crypto/SubtleCrypto.h:
* Source/WebCore/crypto/SubtleCrypto.idl:
* Source/WebCore/crypto/algorithms/CryptoAlgorithmECDH.cpp:
(WebCore::CryptoAlgorithmECDH::deriveBits):
* Source/WebCore/crypto/algorithms/CryptoAlgorithmECDH.h:
* Source/WebCore/crypto/algorithms/CryptoAlgorithmHKDF.cpp:
(WebCore::CryptoAlgorithmHKDF::deriveBits):
* Source/WebCore/crypto/algorithms/CryptoAlgorithmHKDF.h:
* Source/WebCore/crypto/algorithms/CryptoAlgorithmPBKDF2.cpp:
(WebCore::CryptoAlgorithmPBKDF2::deriveBits):
* Source/WebCore/crypto/algorithms/CryptoAlgorithmPBKDF2.h:
* Source/WebCore/crypto/algorithms/CryptoAlgorithmX25519.cpp:
(WebCore::CryptoAlgorithmX25519::deriveBits):
* Source/WebCore/crypto/algorithms/CryptoAlgorithmX25519.h:
sadym-chromium pushed a commit that referenced this pull request Jul 18, 2024
The PR#345 to the WebCrypto API spec resolves an inconsistency
on the 'length' parameter in the deriveBits operations of several
algorithms, such as ECDH, HKDF, PBKDF2 or X25519.

These cange adds a few tests to evaluate the behavior of these algorithms
with extreme values, like 0, null or undefined.
javifernandez added a commit to javifernandez/WebKit that referenced this pull request Jul 22, 2024
https://bugs.webkit.org/show_bug.cgi?id=276394

Reviewed by Youenn Fablet and Nitin Mahendru.

The PR#345 [1] to the WebCryptoAPI spec defines now the 'length'
parameter as optional, defaulting to 'null'. This change tries to
solve a long-standing interoperability issue in the deriveBits
operation.

This patch implements the required changes in the IDL so that the
'length' parameter is declared as optional, with 'null' as default
value when omitted. The affected algorithms (ECDH, HKDF, PBKDF2
and X25519) are adapted to the parameter's new type.

The PR#43400 [2] defined tests for the new behavior of the afected
algorithms, which they all pass now.

[1] w3c/webcrypto#345
[2] web-platform-tests/wpt#43400

* LayoutTests/crypto/subtle/derive-bits-malformed-parameters-expected.txt:
* LayoutTests/crypto/subtle/derive-bits-malformed-parameters.html:
* LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/derive_bits_keys/derived_bits_length.https.any-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/derive_bits_keys/derived_bits_length.https.any.worker-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/idlharness.https.any-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/idlharness.https.any.worker-expected.txt:
* Source/WebCore/crypto/CryptoAlgorithm.cpp:
(WebCore::CryptoAlgorithm::deriveBits):
* Source/WebCore/crypto/CryptoAlgorithm.h:
* Source/WebCore/crypto/SubtleCrypto.cpp:
(WebCore::SubtleCrypto::deriveKey):
(WebCore::SubtleCrypto::deriveBits):
* Source/WebCore/crypto/SubtleCrypto.h:
* Source/WebCore/crypto/SubtleCrypto.idl:
* Source/WebCore/crypto/algorithms/CryptoAlgorithmECDH.cpp:
(WebCore::CryptoAlgorithmECDH::deriveBits):
* Source/WebCore/crypto/algorithms/CryptoAlgorithmECDH.h:
* Source/WebCore/crypto/algorithms/CryptoAlgorithmHKDF.cpp:
(WebCore::CryptoAlgorithmHKDF::deriveBits):
* Source/WebCore/crypto/algorithms/CryptoAlgorithmHKDF.h:
* Source/WebCore/crypto/algorithms/CryptoAlgorithmPBKDF2.cpp:
(WebCore::CryptoAlgorithmPBKDF2::deriveBits):
* Source/WebCore/crypto/algorithms/CryptoAlgorithmPBKDF2.h:
* Source/WebCore/crypto/algorithms/CryptoAlgorithmX25519.cpp:
(WebCore::CryptoAlgorithmX25519::deriveBits):
* Source/WebCore/crypto/algorithms/CryptoAlgorithmX25519.h:
javifernandez added a commit to javifernandez/WebKit that referenced this pull request Jul 22, 2024
https://bugs.webkit.org/show_bug.cgi?id=276394

Reviewed by Youenn Fablet and Nitin Mahendru.

The PR#345 [1] to the WebCryptoAPI spec defines now the 'length'
parameter as optional, defaulting to 'null'. This change tries to
solve a long-standing interoperability issue in the deriveBits
operation.

This patch implements the required changes in the IDL so that the
'length' parameter is declared as optional, with 'null' as default
value when omitted. The affected algorithms (ECDH, HKDF, PBKDF2
and X25519) are adapted to the parameter's new type.

The PR#43400 [2] defined tests for the new behavior of the afected
algorithms, which they all pass now.

[1] w3c/webcrypto#345
[2] web-platform-tests/wpt#43400

* LayoutTests/crypto/subtle/derive-bits-malformed-parameters-expected.txt:
* LayoutTests/crypto/subtle/derive-bits-malformed-parameters.html:
* LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/derive_bits_keys/derived_bits_length.https.any-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/derive_bits_keys/derived_bits_length.https.any.worker-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/idlharness.https.any-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/idlharness.https.any.worker-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/interfaces/WebCryptoAPI.idl:
* Source/WebCore/crypto/CryptoAlgorithm.cpp:
(WebCore::CryptoAlgorithm::deriveBits):
* Source/WebCore/crypto/CryptoAlgorithm.h:
* Source/WebCore/crypto/SubtleCrypto.cpp:
(WebCore::SubtleCrypto::deriveKey):
(WebCore::SubtleCrypto::deriveBits):
* Source/WebCore/crypto/SubtleCrypto.h:
* Source/WebCore/crypto/SubtleCrypto.idl:
* Source/WebCore/crypto/algorithms/CryptoAlgorithmECDH.cpp:
(WebCore::CryptoAlgorithmECDH::deriveBits):
* Source/WebCore/crypto/algorithms/CryptoAlgorithmECDH.h:
* Source/WebCore/crypto/algorithms/CryptoAlgorithmHKDF.cpp:
(WebCore::CryptoAlgorithmHKDF::deriveBits):
* Source/WebCore/crypto/algorithms/CryptoAlgorithmHKDF.h:
* Source/WebCore/crypto/algorithms/CryptoAlgorithmPBKDF2.cpp:
(WebCore::CryptoAlgorithmPBKDF2::deriveBits):
* Source/WebCore/crypto/algorithms/CryptoAlgorithmPBKDF2.h:
* Source/WebCore/crypto/algorithms/CryptoAlgorithmX25519.cpp:
(WebCore::CryptoAlgorithmX25519::deriveBits):
* Source/WebCore/crypto/algorithms/CryptoAlgorithmX25519.h:
webkit-commit-queue pushed a commit to javifernandez/WebKit that referenced this pull request Jul 23, 2024
https://bugs.webkit.org/show_bug.cgi?id=276394

Reviewed by Youenn Fablet and Nitin Mahendru.

The PR#345 [1] to the WebCryptoAPI spec defines now the 'length'
parameter as optional, defaulting to 'null'. This change tries to
solve a long-standing interoperability issue in the deriveBits
operation.

This patch implements the required changes in the IDL so that the
'length' parameter is declared as optional, with 'null' as default
value when omitted. The affected algorithms (ECDH, HKDF, PBKDF2
and X25519) are adapted to the parameter's new type.

The PR#43400 [2] defined tests for the new behavior of the afected
algorithms, which they all pass now.

[1] w3c/webcrypto#345
[2] web-platform-tests/wpt#43400

* LayoutTests/crypto/subtle/derive-bits-malformed-parameters-expected.txt:
* LayoutTests/crypto/subtle/derive-bits-malformed-parameters.html:
* LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/derive_bits_keys/derived_bits_length.https.any-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/derive_bits_keys/derived_bits_length.https.any.worker-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/idlharness.https.any-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/idlharness.https.any.worker-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/interfaces/WebCryptoAPI.idl:
* Source/WebCore/crypto/CryptoAlgorithm.cpp:
(WebCore::CryptoAlgorithm::deriveBits):
* Source/WebCore/crypto/CryptoAlgorithm.h:
* Source/WebCore/crypto/SubtleCrypto.cpp:
(WebCore::SubtleCrypto::deriveKey):
(WebCore::SubtleCrypto::deriveBits):
* Source/WebCore/crypto/SubtleCrypto.h:
* Source/WebCore/crypto/SubtleCrypto.idl:
* Source/WebCore/crypto/algorithms/CryptoAlgorithmECDH.cpp:
(WebCore::CryptoAlgorithmECDH::deriveBits):
* Source/WebCore/crypto/algorithms/CryptoAlgorithmECDH.h:
* Source/WebCore/crypto/algorithms/CryptoAlgorithmHKDF.cpp:
(WebCore::CryptoAlgorithmHKDF::deriveBits):
* Source/WebCore/crypto/algorithms/CryptoAlgorithmHKDF.h:
* Source/WebCore/crypto/algorithms/CryptoAlgorithmPBKDF2.cpp:
(WebCore::CryptoAlgorithmPBKDF2::deriveBits):
* Source/WebCore/crypto/algorithms/CryptoAlgorithmPBKDF2.h:
* Source/WebCore/crypto/algorithms/CryptoAlgorithmX25519.cpp:
(WebCore::CryptoAlgorithmX25519::deriveBits):
* Source/WebCore/crypto/algorithms/CryptoAlgorithmX25519.h:

Canonical link: https://commits.webkit.org/281240@main
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants