Closed Bug 1867153 Opened 1 year ago Closed 4 months ago

[wpt-sync] Sync PR 43400 - Tests for the deriveBits operation with extreme values in the 'lenght' parameter

Categories

(Core :: DOM: Web Crypto, task, P4)

task

Tracking

()

RESOLVED FIXED
130 Branch
Tracking Status
firefox130 --- fixed

People

(Reporter: wpt-sync, Unassigned)

References

()

Details

(Whiteboard: [wptsync downstream])

Sync web-platform-tests PR 43400 into mozilla-central (this bug is closed when the sync is complete).

PR: https://github.com/web-platform-tests/wpt/pull/43400
Details from upstream follow.

Javier Fernández García-Boente <jfernandez@igalia.com> wrote:

Tests for the deriveBits operation with extreme values in the 'lenght' parameter

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.

Component: web-platform-tests → DOM: Web Crypto
Product: Testing → Core
Whiteboard: [wptsync downstream] → [wptsync downstream error]
Whiteboard: [wptsync downstream error] → [wptsync downstream]

CI Results

Ran 9 Firefox configurations based on mozilla-central, and Firefox, Chrome, and Safari on GitHub CI

Total 32 tests and 1001 subtests

Status Summary

Firefox

OK : 32
PASS: 24616
FAIL: 186

Chrome

OK : 32
PASS: 23500
FAIL: 1302

Safari

OK : 32
PASS: 24758
FAIL: 44

Links

Gecko CI (Treeherder)
GitHub PR Head
GitHub PR Base

Details

Firefox-only Failures

  • /WebCryptoAPI/derive_bits_keys/cfrg_curves_bits.https.any.html [wpt.fyi]
    • X25519 key derivation checks for all-zero value result with a key of order 0: FAIL
    • X25519 key derivation checks for all-zero value result with a key of order 1: FAIL
    • X25519 key derivation checks for all-zero value result with a key of order 8: FAIL
    • X25519 key derivation checks for all-zero value result with a key of order p-1 (order 2): FAIL
    • X25519 key derivation checks for all-zero value result with a key of order p (=0, order 4): FAIL
    • X25519 key derivation checks for all-zero value result with a key of order p+1 (=1, order 1): FAIL
    • X25519 good parameters: FAIL
    • X25519 mixed case parameters: FAIL
    • X25519 short result: FAIL
    • X25519 non-multiple of 8 bits: FAIL
    • X25519 no deriveBits usage for base key: FAIL
    • X25519 base key is not a private key: FAIL
    • X25519 public property value is a private key: FAIL
    • X25519 public property value is a secret key: FAIL
    • X25519 asking for too many bits: FAIL
  • /WebCryptoAPI/derive_bits_keys/cfrg_curves_bits.https.any.worker.html [wpt.fyi]
    • X25519 key derivation checks for all-zero value result with a key of order 0: FAIL
    • X25519 key derivation checks for all-zero value result with a key of order 1: FAIL
    • X25519 key derivation checks for all-zero value result with a key of order 8: FAIL
    • X25519 key derivation checks for all-zero value result with a key of order p-1 (order 2): FAIL
    • X25519 key derivation checks for all-zero value result with a key of order p (=0, order 4): FAIL
    • X25519 key derivation checks for all-zero value result with a key of order p+1 (=1, order 1): FAIL
    • X25519 good parameters: FAIL
    • X25519 mixed case parameters: FAIL
    • X25519 short result: FAIL
    • X25519 non-multiple of 8 bits: FAIL
    • X25519 no deriveBits usage for base key: FAIL
    • X25519 base key is not a private key: FAIL
    • X25519 public property value is a private key: FAIL
    • X25519 public property value is a secret key: FAIL
    • X25519 asking for too many bits: FAIL
  • /WebCryptoAPI/derive_bits_keys/derived_bits_length.https.any.html [wpt.fyi]
    • X25519 derivation with 256 as 'length' parameter: FAIL
  • /WebCryptoAPI/derive_bits_keys/derived_bits_length.https.any.worker.html [wpt.fyi]
    • X25519 derivation with 256 as 'length' parameter: FAIL
  • /WebCryptoAPI/derive_bits_keys/ecdh_bits.https.any.html [wpt.fyi]
    • P-521 non-multiple of 8 bits: FAIL
    • P-256 non-multiple of 8 bits: FAIL
    • P-384 non-multiple of 8 bits: FAIL
  • /WebCryptoAPI/derive_bits_keys/ecdh_bits.https.any.worker.html [wpt.fyi]
    • P-521 non-multiple of 8 bits: FAIL
    • P-256 non-multiple of 8 bits: FAIL
    • P-384 non-multiple of 8 bits: FAIL
  • /WebCryptoAPI/derive_bits_keys/hkdf.https.any.html?3001-last [wpt.fyi]
    • empty derivedKey, normal salt, SHA-256, with empty info with non-multiple of 8 length: FAIL
    • empty derivedKey, empty salt, SHA-384, with normal info with non-multiple of 8 length: FAIL
    • empty derivedKey, empty salt, SHA-384, with empty info with non-multiple of 8 length: FAIL
    • empty derivedKey, empty salt, SHA-512, with normal info with non-multiple of 8 length: FAIL
    • empty derivedKey, empty salt, SHA-512, with empty info with non-multiple of 8 length: FAIL
    • empty derivedKey, empty salt, SHA-1, with normal info with non-multiple of 8 length: FAIL
    • empty derivedKey, empty salt, SHA-1, with empty info with non-multiple of 8 length: FAIL
    • empty derivedKey, empty salt, SHA-256, with normal info with non-multiple of 8 length: FAIL
    • empty derivedKey, empty salt, SHA-256, with empty info with non-multiple of 8 length: FAIL
  • /WebCryptoAPI/derive_bits_keys/hkdf.https.any.html?1001-2000 [wpt.fyi]
    • short derivedKey, empty salt, SHA-1, with empty info with non-multiple of 8 length: FAIL
    • short derivedKey, empty salt, SHA-256, with normal info with non-multiple of 8 length: FAIL
    • short derivedKey, empty salt, SHA-256, with empty info with non-multiple of 8 length: FAIL
    • long derivedKey, normal salt, SHA-384, with normal info with non-multiple of 8 length: FAIL
    • long derivedKey, normal salt, SHA-384, with empty info with non-multiple of 8 length: FAIL
    • long derivedKey, normal salt, SHA-512, with normal info with non-multiple of 8 length: FAIL
    • long derivedKey, normal salt, SHA-512, with empty info with non-multiple of 8 length: FAIL
    • long derivedKey, normal salt, SHA-1, with normal info with non-multiple of 8 length: FAIL
    • long derivedKey, normal salt, SHA-1, with empty info with non-multiple of 8 length: FAIL
    • long derivedKey, normal salt, SHA-256, with normal info with non-multiple of 8 length: FAIL
    • long derivedKey, normal salt, SHA-256, with empty info with non-multiple of 8 length: FAIL
    • long derivedKey, empty salt, SHA-384, with normal info with non-multiple of 8 length: FAIL
    • long derivedKey, empty salt, SHA-384, with empty info with non-multiple of 8 length: FAIL
  • /WebCryptoAPI/derive_bits_keys/hkdf.https.any.worker.html?3001-last [wpt.fyi]
    • empty derivedKey, normal salt, SHA-256, with empty info with non-multiple of 8 length: FAIL
    • empty derivedKey, empty salt, SHA-384, with normal info with non-multiple of 8 length: FAIL
    • empty derivedKey, empty salt, SHA-384, with empty info with non-multiple of 8 length: FAIL
    • empty derivedKey, empty salt, SHA-512, with normal info with non-multiple of 8 length: FAIL
    • empty derivedKey, empty salt, SHA-512, with empty info with non-multiple of 8 length: FAIL
    • empty derivedKey, empty salt, SHA-1, with normal info with non-multiple of 8 length: FAIL
    • empty derivedKey, empty salt, SHA-1, with empty info with non-multiple of 8 length: FAIL
    • empty derivedKey, empty salt, SHA-256, with normal info with non-multiple of 8 length: FAIL
    • empty derivedKey, empty salt, SHA-256, with empty info with non-multiple of 8 length: FAIL
  • /WebCryptoAPI/derive_bits_keys/hkdf.https.any.worker.html?1-1000 [wpt.fyi]
    • short derivedKey, normal salt, SHA-384, with normal info with non-multiple of 8 length: FAIL
    • short derivedKey, normal salt, SHA-384, with empty info with non-multiple of 8 length: FAIL
    • short derivedKey, normal salt, SHA-512, with normal info with non-multiple of 8 length: FAIL
    • short derivedKey, normal salt, SHA-512, with empty info with non-multiple of 8 length: FAIL
    • short derivedKey, normal salt, SHA-1, with normal info with non-multiple of 8 length: FAIL
    • short derivedKey, normal salt, SHA-1, with empty info with non-multiple of 8 length: FAIL
    • short derivedKey, normal salt, SHA-256, with normal info with non-multiple of 8 length: FAIL
    • short derivedKey, normal salt, SHA-256, with empty info with non-multiple of 8 length: FAIL
    • short derivedKey, empty salt, SHA-384, with normal info with non-multiple of 8 length: FAIL
    • short derivedKey, empty salt, SHA-384, with empty info with non-multiple of 8 length: FAIL
    • short derivedKey, empty salt, SHA-512, with normal info with non-multiple of 8 length: FAIL
    • short derivedKey, empty salt, SHA-512, with empty info with non-multiple of 8 length: FAIL
    • short derivedKey, empty salt, SHA-1, with normal info with non-multiple of 8 length: FAIL
  • /WebCryptoAPI/derive_bits_keys/hkdf.https.any.worker.html?2001-3000 [wpt.fyi]
    • long derivedKey, empty salt, SHA-512, with normal info with non-multiple of 8 length: FAIL
    • long derivedKey, empty salt, SHA-512, with empty info with non-multiple of 8 length: FAIL
    • long derivedKey, empty salt, SHA-1, with normal info with non-multiple of 8 length: FAIL
    • long derivedKey, empty salt, SHA-1, with empty info with non-multiple of 8 length: FAIL
    • long derivedKey, empty salt, SHA-256, with normal info with non-multiple of 8 length: FAIL
    • long derivedKey, empty salt, SHA-256, with empty info with non-multiple of 8 length: FAIL
    • empty derivedKey, normal salt, SHA-384, with normal info with non-multiple of 8 length: FAIL
    • empty derivedKey, normal salt, SHA-384, with empty info with non-multiple of 8 length: FAIL
    • empty derivedKey, normal salt, SHA-512, with normal info with non-multiple of 8 length: FAIL
    • empty derivedKey, normal salt, SHA-512, with empty info with non-multiple of 8 length: FAIL
    • empty derivedKey, normal salt, SHA-1, with normal info with non-multiple of 8 length: FAIL
    • empty derivedKey, normal salt, SHA-1, with empty info with non-multiple of 8 length: FAIL
    • empty derivedKey, normal salt, SHA-256, with normal info with non-multiple of 8 length: FAIL
  • /WebCryptoAPI/derive_bits_keys/hkdf.https.any.html?2001-3000 [wpt.fyi]
    • long derivedKey, empty salt, SHA-512, with normal info with non-multiple of 8 length: FAIL
    • long derivedKey, empty salt, SHA-512, with empty info with non-multiple of 8 length: FAIL
    • long derivedKey, empty salt, SHA-1, with normal info with non-multiple of 8 length: FAIL
    • long derivedKey, empty salt, SHA-1, with empty info with non-multiple of 8 length: FAIL
    • long derivedKey, empty salt, SHA-256, with normal info with non-multiple of 8 length: FAIL
    • long derivedKey, empty salt, SHA-256, with empty info with non-multiple of 8 length: FAIL
    • empty derivedKey, normal salt, SHA-384, with normal info with non-multiple of 8 length: FAIL
    • empty derivedKey, normal salt, SHA-384, with empty info with non-multiple of 8 length: FAIL
    • empty derivedKey, normal salt, SHA-512, with normal info with non-multiple of 8 length: FAIL
    • empty derivedKey, normal salt, SHA-512, with empty info with non-multiple of 8 length: FAIL
    • empty derivedKey, normal salt, SHA-1, with normal info with non-multiple of 8 length: FAIL
    • empty derivedKey, normal salt, SHA-1, with empty info with non-multiple of 8 length: FAIL
    • empty derivedKey, normal salt, SHA-256, with normal info with non-multiple of 8 length: FAIL
  • /WebCryptoAPI/derive_bits_keys/hkdf.https.any.worker.html?1001-2000 [wpt.fyi]
    • short derivedKey, empty salt, SHA-1, with empty info with non-multiple of 8 length: FAIL
    • short derivedKey, empty salt, SHA-256, with normal info with non-multiple of 8 length: FAIL
    • short derivedKey, empty salt, SHA-256, with empty info with non-multiple of 8 length: FAIL
    • long derivedKey, normal salt, SHA-384, with normal info with non-multiple of 8 length: FAIL
    • long derivedKey, normal salt, SHA-384, with empty info with non-multiple of 8 length: FAIL
    • long derivedKey, normal salt, SHA-512, with normal info with non-multiple of 8 length: FAIL
    • long derivedKey, normal salt, SHA-512, with empty info with non-multiple of 8 length: FAIL
    • long derivedKey, normal salt, SHA-1, with normal info with non-multiple of 8 length: FAIL
    • long derivedKey, normal salt, SHA-1, with empty info with non-multiple of 8 length: FAIL
    • long derivedKey, normal salt, SHA-256, with normal info with non-multiple of 8 length: FAIL
    • long derivedKey, normal salt, SHA-256, with empty info with non-multiple of 8 length: FAIL
    • long derivedKey, empty salt, SHA-384, with normal info with non-multiple of 8 length: FAIL
    • long derivedKey, empty salt, SHA-384, with empty info with non-multiple of 8 length: FAIL
  • /WebCryptoAPI/derive_bits_keys/hkdf.https.any.html?1-1000 [wpt.fyi]
    • short derivedKey, normal salt, SHA-384, with normal info with non-multiple of 8 length: FAIL
    • short derivedKey, normal salt, SHA-384, with empty info with non-multiple of 8 length: FAIL
    • short derivedKey, normal salt, SHA-512, with normal info with non-multiple of 8 length: FAIL
    • short derivedKey, normal salt, SHA-512, with empty info with non-multiple of 8 length: FAIL
    • short derivedKey, normal salt, SHA-1, with normal info with non-multiple of 8 length: FAIL
    • short derivedKey, normal salt, SHA-1, with empty info with non-multiple of 8 length: FAIL
    • short derivedKey, normal salt, SHA-256, with normal info with non-multiple of 8 length: FAIL
    • short derivedKey, normal salt, SHA-256, with empty info with non-multiple of 8 length: FAIL
    • short derivedKey, empty salt, SHA-384, with normal info with non-multiple of 8 length: FAIL
    • short derivedKey, empty salt, SHA-384, with empty info with non-multiple of 8 length: FAIL
    • short derivedKey, empty salt, SHA-512, with normal info with non-multiple of 8 length: FAIL
    • short derivedKey, empty salt, SHA-512, with empty info with non-multiple of 8 length: FAIL
    • short derivedKey, empty salt, SHA-1, with normal info with non-multiple of 8 length: FAIL

New Tests That Don't Pass

  • /WebCryptoAPI/derive_bits_keys/cfrg_curves_bits.https.any.html [wpt.fyi]
    • X25519 key derivation checks for all-zero value result with a key of order 0: FAIL (Chrome: PASS, Safari: PASS)
    • X25519 key derivation checks for all-zero value result with a key of order 1: FAIL (Chrome: PASS, Safari: PASS)
    • X25519 key derivation checks for all-zero value result with a key of order 8: FAIL (Chrome: PASS, Safari: PASS)
    • X25519 key derivation checks for all-zero value result with a key of order p-1 (order 2): FAIL (Chrome: PASS, Safari: PASS)
    • X25519 key derivation checks for all-zero value result with a key of order p (=0, order 4): FAIL (Chrome: PASS, Safari: PASS)
    • X25519 key derivation checks for all-zero value result with a key of order p+1 (=1, order 1): FAIL (Chrome: PASS, Safari: PASS)
    • X448 key derivation checks for all-zero value result with a key of order 0: FAIL (Chrome: FAIL, Safari: FAIL)
    • X448 key derivation checks for all-zero value result with a key of order 1: FAIL (Chrome: FAIL, Safari: FAIL)
    • X448 key derivation checks for all-zero value result with a key of order p-1 (order 2): FAIL (Chrome: FAIL, Safari: FAIL)
    • X448 key derivation checks for all-zero value result with a key of order p (=0, order 4): FAIL (Chrome: FAIL, Safari: FAIL)
    • X448 key derivation checks for all-zero value result with a key of order p+1 (=1, order 1): FAIL (Chrome: FAIL, Safari: FAIL)
    • X25519 good parameters: FAIL (Chrome: PASS, Safari: PASS)
    • X25519 mixed case parameters: FAIL (Chrome: PASS, Safari: PASS)
    • X25519 short result: FAIL (Chrome: PASS, Safari: PASS)
    • X25519 non-multiple of 8 bits: FAIL (Chrome: PASS, Safari: PASS)
    • X25519 mismatched algorithms: FAIL (Chrome: FAIL, Safari: FAIL)
    • X25519 no deriveBits usage for base key: FAIL (Chrome: PASS, Safari: PASS)
    • X25519 base key is not a private key: FAIL (Chrome: PASS, Safari: PASS)
    • X25519 public property value is a private key: FAIL (Chrome: PASS, Safari: PASS)
    • X25519 public property value is a secret key: FAIL (Chrome: PASS, Safari: PASS)
    • X25519 asking for too many bits: FAIL (Chrome: PASS, Safari: PASS)
    • X448 good parameters: FAIL (Chrome: FAIL, Safari: FAIL)
    • X448 mixed case parameters: FAIL (Chrome: FAIL, Safari: FAIL)
    • X448 short result: FAIL (Chrome: FAIL, Safari: FAIL)
    • X448 non-multiple of 8 bits: FAIL (Chrome: FAIL, Safari: FAIL)
    • X448 mismatched algorithms: FAIL (Chrome: FAIL, Safari: FAIL)
    • X448 no deriveBits usage for base key: FAIL (Chrome: FAIL, Safari: FAIL)
    • X448 base key is not a private key: FAIL (Chrome: FAIL, Safari: FAIL)
    • X448 public property value is a private key: FAIL (Chrome: FAIL, Safari: FAIL)
    • X448 public property value is a secret key: FAIL (Chrome: FAIL, Safari: FAIL)
    • X448 asking for too many bits: FAIL (Chrome: FAIL, Safari: FAIL)
  • /WebCryptoAPI/derive_bits_keys/cfrg_curves_bits.https.any.worker.html [wpt.fyi]
    • X25519 key derivation checks for all-zero value result with a key of order 0: FAIL (Chrome: PASS, Safari: PASS)
    • X25519 key derivation checks for all-zero value result with a key of order 1: FAIL (Chrome: PASS, Safari: PASS)
    • X25519 key derivation checks for all-zero value result with a key of order 8: FAIL (Chrome: PASS, Safari: PASS)
    • X25519 key derivation checks for all-zero value result with a key of order p-1 (order 2): FAIL (Chrome: PASS, Safari: PASS)
    • X25519 key derivation checks for all-zero value result with a key of order p (=0, order 4): FAIL (Chrome: PASS, Safari: PASS)
    • X25519 key derivation checks for all-zero value result with a key of order p+1 (=1, order 1): FAIL (Chrome: PASS, Safari: PASS)
    • X448 key derivation checks for all-zero value result with a key of order 0: FAIL (Chrome: FAIL, Safari: FAIL)
    • X448 key derivation checks for all-zero value result with a key of order 1: FAIL (Chrome: FAIL, Safari: FAIL)
    • X448 key derivation checks for all-zero value result with a key of order p-1 (order 2): FAIL (Chrome: FAIL, Safari: FAIL)
    • X448 key derivation checks for all-zero value result with a key of order p (=0, order 4): FAIL (Chrome: FAIL, Safari: FAIL)
    • X448 key derivation checks for all-zero value result with a key of order p+1 (=1, order 1): FAIL (Chrome: FAIL, Safari: FAIL)
    • X25519 good parameters: FAIL (Chrome: PASS, Safari: PASS)
    • X25519 mixed case parameters: FAIL (Chrome: PASS, Safari: PASS)
    • X25519 short result: FAIL (Chrome: PASS, Safari: PASS)
    • X25519 non-multiple of 8 bits: FAIL (Chrome: PASS, Safari: PASS)
    • X25519 mismatched algorithms: FAIL (Chrome: FAIL, Safari: FAIL)
    • X25519 no deriveBits usage for base key: FAIL (Chrome: PASS, Safari: PASS)
    • X25519 base key is not a private key: FAIL (Chrome: PASS, Safari: PASS)
    • X25519 public property value is a private key: FAIL (Chrome: PASS, Safari: PASS)
    • X25519 public property value is a secret key: FAIL (Chrome: PASS, Safari: PASS)
    • X25519 asking for too many bits: FAIL (Chrome: PASS, Safari: PASS)
    • X448 good parameters: FAIL (Chrome: FAIL, Safari: FAIL)
    • X448 mixed case parameters: FAIL (Chrome: FAIL, Safari: FAIL)
    • X448 short result: FAIL (Chrome: FAIL, Safari: FAIL)
    • X448 non-multiple of 8 bits: FAIL (Chrome: FAIL, Safari: FAIL)
    • X448 mismatched algorithms: FAIL (Chrome: FAIL, Safari: FAIL)
    • X448 no deriveBits usage for base key: FAIL (Chrome: FAIL, Safari: FAIL)
    • X448 base key is not a private key: FAIL (Chrome: FAIL, Safari: FAIL)
    • X448 public property value is a private key: FAIL (Chrome: FAIL, Safari: FAIL)
    • X448 public property value is a secret key: FAIL (Chrome: FAIL, Safari: FAIL)
    • X448 asking for too many bits: FAIL (Chrome: FAIL, Safari: FAIL)
  • /WebCryptoAPI/derive_bits_keys/derived_bits_length.https.any.html [wpt.fyi]
    • HKDF derivation with omitted as 'length' parameter: FAIL (Chrome: FAIL, Safari: FAIL)
    • PBKDF2 derivation with omitted as 'length' parameter: FAIL (Chrome: FAIL, Safari: FAIL)
    • ECDH derivation with 0 as 'length' parameter: FAIL (Chrome: PASS, Safari: FAIL)
    • ECDH derivation with null as 'length' parameter: FAIL (Chrome: FAIL, Safari: PASS)
    • ECDH derivation with undefined as 'length' parameter: FAIL (Chrome: FAIL, Safari: PASS)
    • ECDH derivation with omitted as 'length' parameter: FAIL (Chrome: FAIL, Safari: FAIL)
    • X25519 derivation with 256 as 'length' parameter: FAIL (Chrome: PASS, Safari: PASS)
    • X25519 derivation with 0 as 'length' parameter: FAIL (Chrome: PASS, Safari: FAIL)
    • X25519 derivation with null as 'length' parameter: FAIL (Chrome: FAIL, Safari: PASS)
    • X25519 derivation with undefined as 'length' parameter: FAIL (Chrome: FAIL, Safari: PASS)
    • X25519 derivation with omitted as 'length' parameter: FAIL (Chrome: FAIL, Safari: FAIL)
  • /WebCryptoAPI/derive_bits_keys/derived_bits_length.https.any.worker.html [wpt.fyi]
    • HKDF derivation with omitted as 'length' parameter: FAIL (Chrome: FAIL, Safari: FAIL)
    • PBKDF2 derivation with omitted as 'length' parameter: FAIL (Chrome: FAIL, Safari: FAIL)
    • ECDH derivation with 0 as 'length' parameter: FAIL (Chrome: PASS, Safari: FAIL)
    • ECDH derivation with null as 'length' parameter: FAIL (Chrome: FAIL, Safari: PASS)
    • ECDH derivation with undefined as 'length' parameter: FAIL (Chrome: FAIL, Safari: PASS)
    • ECDH derivation with omitted as 'length' parameter: FAIL (Chrome: FAIL, Safari: FAIL)
    • X25519 derivation with 256 as 'length' parameter: FAIL (Chrome: PASS, Safari: PASS)
    • X25519 derivation with 0 as 'length' parameter: FAIL (Chrome: PASS, Safari: FAIL)
    • X25519 derivation with null as 'length' parameter: FAIL (Chrome: FAIL, Safari: PASS)
    • X25519 derivation with undefined as 'length' parameter: FAIL (Chrome: FAIL, Safari: PASS)
    • X25519 derivation with omitted as 'length' parameter: FAIL (Chrome: FAIL, Safari: FAIL)
  • /WebCryptoAPI/derive_bits_keys/ecdh_bits.https.any.html [wpt.fyi]
    • P-521 non-multiple of 8 bits: FAIL (Chrome: PASS, Safari: PASS)
    • P-256 non-multiple of 8 bits: FAIL (Chrome: PASS, Safari: PASS)
    • P-384 non-multiple of 8 bits: FAIL (Chrome: PASS, Safari: PASS)
  • /WebCryptoAPI/derive_bits_keys/ecdh_bits.https.any.worker.html [wpt.fyi]
    • P-521 non-multiple of 8 bits: FAIL (Chrome: PASS, Safari: PASS)
    • P-256 non-multiple of 8 bits: FAIL (Chrome: PASS, Safari: PASS)
    • P-384 non-multiple of 8 bits: FAIL (Chrome: PASS, Safari: PASS)
  • /WebCryptoAPI/derive_bits_keys/hkdf.https.any.html?3001-last [wpt.fyi]
    • empty derivedKey, normal salt, SHA-256, with empty info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • empty derivedKey, empty salt, SHA-384, with normal info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • empty derivedKey, empty salt, SHA-384, with empty info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • empty derivedKey, empty salt, SHA-512, with normal info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • empty derivedKey, empty salt, SHA-512, with empty info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • empty derivedKey, empty salt, SHA-1, with normal info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • empty derivedKey, empty salt, SHA-1, with empty info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • empty derivedKey, empty salt, SHA-256, with normal info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • empty derivedKey, empty salt, SHA-256, with empty info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
  • /WebCryptoAPI/derive_bits_keys/hkdf.https.any.html?1001-2000 [wpt.fyi]
    • short derivedKey, empty salt, SHA-1, with empty info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • short derivedKey, empty salt, SHA-256, with normal info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • short derivedKey, empty salt, SHA-256, with empty info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • long derivedKey, normal salt, SHA-384, with normal info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • long derivedKey, normal salt, SHA-384, with empty info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • long derivedKey, normal salt, SHA-512, with normal info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • long derivedKey, normal salt, SHA-512, with empty info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • long derivedKey, normal salt, SHA-1, with normal info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • long derivedKey, normal salt, SHA-1, with empty info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • long derivedKey, normal salt, SHA-256, with normal info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • long derivedKey, normal salt, SHA-256, with empty info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • long derivedKey, empty salt, SHA-384, with normal info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • long derivedKey, empty salt, SHA-384, with empty info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
  • /WebCryptoAPI/derive_bits_keys/hkdf.https.any.worker.html?3001-last [wpt.fyi]
    • empty derivedKey, normal salt, SHA-256, with empty info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • empty derivedKey, empty salt, SHA-384, with normal info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • empty derivedKey, empty salt, SHA-384, with empty info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • empty derivedKey, empty salt, SHA-512, with normal info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • empty derivedKey, empty salt, SHA-512, with empty info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • empty derivedKey, empty salt, SHA-1, with normal info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • empty derivedKey, empty salt, SHA-1, with empty info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • empty derivedKey, empty salt, SHA-256, with normal info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • empty derivedKey, empty salt, SHA-256, with empty info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
  • /WebCryptoAPI/derive_bits_keys/hkdf.https.any.worker.html?1-1000 [wpt.fyi]
    • short derivedKey, normal salt, SHA-384, with normal info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • short derivedKey, normal salt, SHA-384, with empty info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • short derivedKey, normal salt, SHA-512, with normal info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • short derivedKey, normal salt, SHA-512, with empty info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • short derivedKey, normal salt, SHA-1, with normal info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • short derivedKey, normal salt, SHA-1, with empty info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • short derivedKey, normal salt, SHA-256, with normal info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • short derivedKey, normal salt, SHA-256, with empty info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • short derivedKey, empty salt, SHA-384, with normal info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • short derivedKey, empty salt, SHA-384, with empty info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • short derivedKey, empty salt, SHA-512, with normal info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • short derivedKey, empty salt, SHA-512, with empty info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • short derivedKey, empty salt, SHA-1, with normal info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
  • /WebCryptoAPI/derive_bits_keys/hkdf.https.any.worker.html?2001-3000 [wpt.fyi]
    • long derivedKey, empty salt, SHA-512, with normal info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • long derivedKey, empty salt, SHA-512, with empty info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • long derivedKey, empty salt, SHA-1, with normal info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • long derivedKey, empty salt, SHA-1, with empty info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • long derivedKey, empty salt, SHA-256, with normal info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • long derivedKey, empty salt, SHA-256, with empty info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • empty derivedKey, normal salt, SHA-384, with normal info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • empty derivedKey, normal salt, SHA-384, with empty info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • empty derivedKey, normal salt, SHA-512, with normal info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • empty derivedKey, normal salt, SHA-512, with empty info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • empty derivedKey, normal salt, SHA-1, with normal info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • empty derivedKey, normal salt, SHA-1, with empty info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • empty derivedKey, normal salt, SHA-256, with normal info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
  • /WebCryptoAPI/derive_bits_keys/hkdf.https.any.html?2001-3000 [wpt.fyi]
    • long derivedKey, empty salt, SHA-512, with normal info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • long derivedKey, empty salt, SHA-512, with empty info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • long derivedKey, empty salt, SHA-1, with normal info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • long derivedKey, empty salt, SHA-1, with empty info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • long derivedKey, empty salt, SHA-256, with normal info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • long derivedKey, empty salt, SHA-256, with empty info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • empty derivedKey, normal salt, SHA-384, with normal info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • empty derivedKey, normal salt, SHA-384, with empty info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • empty derivedKey, normal salt, SHA-512, with normal info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • empty derivedKey, normal salt, SHA-512, with empty info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • empty derivedKey, normal salt, SHA-1, with normal info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • empty derivedKey, normal salt, SHA-1, with empty info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • empty derivedKey, normal salt, SHA-256, with normal info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
  • /WebCryptoAPI/derive_bits_keys/hkdf.https.any.worker.html?1001-2000 [wpt.fyi]
    • short derivedKey, empty salt, SHA-1, with empty info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • short derivedKey, empty salt, SHA-256, with normal info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • short derivedKey, empty salt, SHA-256, with empty info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • long derivedKey, normal salt, SHA-384, with normal info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • long derivedKey, normal salt, SHA-384, with empty info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • long derivedKey, normal salt, SHA-512, with normal info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • long derivedKey, normal salt, SHA-512, with empty info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • long derivedKey, normal salt, SHA-1, with normal info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • long derivedKey, normal salt, SHA-1, with empty info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • long derivedKey, normal salt, SHA-256, with normal info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • long derivedKey, normal salt, SHA-256, with empty info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • long derivedKey, empty salt, SHA-384, with normal info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • long derivedKey, empty salt, SHA-384, with empty info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
  • /WebCryptoAPI/derive_bits_keys/hkdf.https.any.html?1-1000 [wpt.fyi]
    • short derivedKey, normal salt, SHA-384, with normal info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • short derivedKey, normal salt, SHA-384, with empty info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • short derivedKey, normal salt, SHA-512, with normal info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • short derivedKey, normal salt, SHA-512, with empty info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • short derivedKey, normal salt, SHA-1, with normal info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • short derivedKey, normal salt, SHA-1, with empty info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • short derivedKey, normal salt, SHA-256, with normal info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • short derivedKey, normal salt, SHA-256, with empty info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • short derivedKey, empty salt, SHA-384, with normal info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • short derivedKey, empty salt, SHA-384, with empty info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • short derivedKey, empty salt, SHA-512, with normal info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • short derivedKey, empty salt, SHA-512, with empty info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • short derivedKey, empty salt, SHA-1, with normal info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)

CI Results

Ran 9 Firefox configurations based on mozilla-central, and Firefox, Chrome, and Safari on GitHub CI

Total 32 tests and 1001 subtests

Status Summary

Firefox

OK : 32
PASS: 24616
FAIL: 186

Chrome

OK : 32
PASS: 23500
FAIL: 1302

Safari

OK : 32
PASS: 24758
FAIL: 44

Links

Gecko CI (Treeherder)
GitHub PR Head
GitHub PR Base

Details

Firefox-only Failures

  • /WebCryptoAPI/derive_bits_keys/cfrg_curves_bits.https.any.html [wpt.fyi]
    • X25519 key derivation checks for all-zero value result with a key of order 0: FAIL
    • X25519 key derivation checks for all-zero value result with a key of order 1: FAIL
    • X25519 key derivation checks for all-zero value result with a key of order 8: FAIL
    • X25519 key derivation checks for all-zero value result with a key of order p-1 (order 2): FAIL
    • X25519 key derivation checks for all-zero value result with a key of order p (=0, order 4): FAIL
    • X25519 key derivation checks for all-zero value result with a key of order p+1 (=1, order 1): FAIL
    • X25519 good parameters: FAIL
    • X25519 mixed case parameters: FAIL
    • X25519 short result: FAIL
    • X25519 non-multiple of 8 bits: FAIL
    • X25519 no deriveBits usage for base key: FAIL
    • X25519 base key is not a private key: FAIL
    • X25519 public property value is a private key: FAIL
    • X25519 public property value is a secret key: FAIL
    • X25519 asking for too many bits: FAIL
  • /WebCryptoAPI/derive_bits_keys/cfrg_curves_bits.https.any.worker.html [wpt.fyi]
    • X25519 key derivation checks for all-zero value result with a key of order 0: FAIL
    • X25519 key derivation checks for all-zero value result with a key of order 1: FAIL
    • X25519 key derivation checks for all-zero value result with a key of order 8: FAIL
    • X25519 key derivation checks for all-zero value result with a key of order p-1 (order 2): FAIL
    • X25519 key derivation checks for all-zero value result with a key of order p (=0, order 4): FAIL
    • X25519 key derivation checks for all-zero value result with a key of order p+1 (=1, order 1): FAIL
    • X25519 good parameters: FAIL
    • X25519 mixed case parameters: FAIL
    • X25519 short result: FAIL
    • X25519 non-multiple of 8 bits: FAIL
    • X25519 no deriveBits usage for base key: FAIL
    • X25519 base key is not a private key: FAIL
    • X25519 public property value is a private key: FAIL
    • X25519 public property value is a secret key: FAIL
    • X25519 asking for too many bits: FAIL
  • /WebCryptoAPI/derive_bits_keys/derived_bits_length.https.any.html [wpt.fyi]
    • X25519 derivation with 256 as 'length' parameter: FAIL
  • /WebCryptoAPI/derive_bits_keys/derived_bits_length.https.any.worker.html [wpt.fyi]
    • X25519 derivation with 256 as 'length' parameter: FAIL
  • /WebCryptoAPI/derive_bits_keys/ecdh_bits.https.any.html [wpt.fyi]
    • P-521 non-multiple of 8 bits: FAIL
    • P-256 non-multiple of 8 bits: FAIL
    • P-384 non-multiple of 8 bits: FAIL
  • /WebCryptoAPI/derive_bits_keys/ecdh_bits.https.any.worker.html [wpt.fyi]
    • P-521 non-multiple of 8 bits: FAIL
    • P-256 non-multiple of 8 bits: FAIL
    • P-384 non-multiple of 8 bits: FAIL
  • /WebCryptoAPI/derive_bits_keys/hkdf.https.any.html?3001-last [wpt.fyi]
    • empty derivedKey, normal salt, SHA-256, with empty info with non-multiple of 8 length: FAIL
    • empty derivedKey, empty salt, SHA-384, with normal info with non-multiple of 8 length: FAIL
    • empty derivedKey, empty salt, SHA-384, with empty info with non-multiple of 8 length: FAIL
    • empty derivedKey, empty salt, SHA-512, with normal info with non-multiple of 8 length: FAIL
    • empty derivedKey, empty salt, SHA-512, with empty info with non-multiple of 8 length: FAIL
    • empty derivedKey, empty salt, SHA-1, with normal info with non-multiple of 8 length: FAIL
    • empty derivedKey, empty salt, SHA-1, with empty info with non-multiple of 8 length: FAIL
    • empty derivedKey, empty salt, SHA-256, with normal info with non-multiple of 8 length: FAIL
    • empty derivedKey, empty salt, SHA-256, with empty info with non-multiple of 8 length: FAIL
  • /WebCryptoAPI/derive_bits_keys/hkdf.https.any.html?1001-2000 [wpt.fyi]
    • short derivedKey, empty salt, SHA-1, with empty info with non-multiple of 8 length: FAIL
    • short derivedKey, empty salt, SHA-256, with normal info with non-multiple of 8 length: FAIL
    • short derivedKey, empty salt, SHA-256, with empty info with non-multiple of 8 length: FAIL
    • long derivedKey, normal salt, SHA-384, with normal info with non-multiple of 8 length: FAIL
    • long derivedKey, normal salt, SHA-384, with empty info with non-multiple of 8 length: FAIL
    • long derivedKey, normal salt, SHA-512, with normal info with non-multiple of 8 length: FAIL
    • long derivedKey, normal salt, SHA-512, with empty info with non-multiple of 8 length: FAIL
    • long derivedKey, normal salt, SHA-1, with normal info with non-multiple of 8 length: FAIL
    • long derivedKey, normal salt, SHA-1, with empty info with non-multiple of 8 length: FAIL
    • long derivedKey, normal salt, SHA-256, with normal info with non-multiple of 8 length: FAIL
    • long derivedKey, normal salt, SHA-256, with empty info with non-multiple of 8 length: FAIL
    • long derivedKey, empty salt, SHA-384, with normal info with non-multiple of 8 length: FAIL
    • long derivedKey, empty salt, SHA-384, with empty info with non-multiple of 8 length: FAIL
  • /WebCryptoAPI/derive_bits_keys/hkdf.https.any.worker.html?3001-last [wpt.fyi]
    • empty derivedKey, normal salt, SHA-256, with empty info with non-multiple of 8 length: FAIL
    • empty derivedKey, empty salt, SHA-384, with normal info with non-multiple of 8 length: FAIL
    • empty derivedKey, empty salt, SHA-384, with empty info with non-multiple of 8 length: FAIL
    • empty derivedKey, empty salt, SHA-512, with normal info with non-multiple of 8 length: FAIL
    • empty derivedKey, empty salt, SHA-512, with empty info with non-multiple of 8 length: FAIL
    • empty derivedKey, empty salt, SHA-1, with normal info with non-multiple of 8 length: FAIL
    • empty derivedKey, empty salt, SHA-1, with empty info with non-multiple of 8 length: FAIL
    • empty derivedKey, empty salt, SHA-256, with normal info with non-multiple of 8 length: FAIL
    • empty derivedKey, empty salt, SHA-256, with empty info with non-multiple of 8 length: FAIL
  • /WebCryptoAPI/derive_bits_keys/hkdf.https.any.worker.html?1-1000 [wpt.fyi]
    • short derivedKey, normal salt, SHA-384, with normal info with non-multiple of 8 length: FAIL
    • short derivedKey, normal salt, SHA-384, with empty info with non-multiple of 8 length: FAIL
    • short derivedKey, normal salt, SHA-512, with normal info with non-multiple of 8 length: FAIL
    • short derivedKey, normal salt, SHA-512, with empty info with non-multiple of 8 length: FAIL
    • short derivedKey, normal salt, SHA-1, with normal info with non-multiple of 8 length: FAIL
    • short derivedKey, normal salt, SHA-1, with empty info with non-multiple of 8 length: FAIL
    • short derivedKey, normal salt, SHA-256, with normal info with non-multiple of 8 length: FAIL
    • short derivedKey, normal salt, SHA-256, with empty info with non-multiple of 8 length: FAIL
    • short derivedKey, empty salt, SHA-384, with normal info with non-multiple of 8 length: FAIL
    • short derivedKey, empty salt, SHA-384, with empty info with non-multiple of 8 length: FAIL
    • short derivedKey, empty salt, SHA-512, with normal info with non-multiple of 8 length: FAIL
    • short derivedKey, empty salt, SHA-512, with empty info with non-multiple of 8 length: FAIL
    • short derivedKey, empty salt, SHA-1, with normal info with non-multiple of 8 length: FAIL
  • /WebCryptoAPI/derive_bits_keys/hkdf.https.any.worker.html?2001-3000 [wpt.fyi]
    • long derivedKey, empty salt, SHA-512, with normal info with non-multiple of 8 length: FAIL
    • long derivedKey, empty salt, SHA-512, with empty info with non-multiple of 8 length: FAIL
    • long derivedKey, empty salt, SHA-1, with normal info with non-multiple of 8 length: FAIL
    • long derivedKey, empty salt, SHA-1, with empty info with non-multiple of 8 length: FAIL
    • long derivedKey, empty salt, SHA-256, with normal info with non-multiple of 8 length: FAIL
    • long derivedKey, empty salt, SHA-256, with empty info with non-multiple of 8 length: FAIL
    • empty derivedKey, normal salt, SHA-384, with normal info with non-multiple of 8 length: FAIL
    • empty derivedKey, normal salt, SHA-384, with empty info with non-multiple of 8 length: FAIL
    • empty derivedKey, normal salt, SHA-512, with normal info with non-multiple of 8 length: FAIL
    • empty derivedKey, normal salt, SHA-512, with empty info with non-multiple of 8 length: FAIL
    • empty derivedKey, normal salt, SHA-1, with normal info with non-multiple of 8 length: FAIL
    • empty derivedKey, normal salt, SHA-1, with empty info with non-multiple of 8 length: FAIL
    • empty derivedKey, normal salt, SHA-256, with normal info with non-multiple of 8 length: FAIL
  • /WebCryptoAPI/derive_bits_keys/hkdf.https.any.html?2001-3000 [wpt.fyi]
    • long derivedKey, empty salt, SHA-512, with normal info with non-multiple of 8 length: FAIL
    • long derivedKey, empty salt, SHA-512, with empty info with non-multiple of 8 length: FAIL
    • long derivedKey, empty salt, SHA-1, with normal info with non-multiple of 8 length: FAIL
    • long derivedKey, empty salt, SHA-1, with empty info with non-multiple of 8 length: FAIL
    • long derivedKey, empty salt, SHA-256, with normal info with non-multiple of 8 length: FAIL
    • long derivedKey, empty salt, SHA-256, with empty info with non-multiple of 8 length: FAIL
    • empty derivedKey, normal salt, SHA-384, with normal info with non-multiple of 8 length: FAIL
    • empty derivedKey, normal salt, SHA-384, with empty info with non-multiple of 8 length: FAIL
    • empty derivedKey, normal salt, SHA-512, with normal info with non-multiple of 8 length: FAIL
    • empty derivedKey, normal salt, SHA-512, with empty info with non-multiple of 8 length: FAIL
    • empty derivedKey, normal salt, SHA-1, with normal info with non-multiple of 8 length: FAIL
    • empty derivedKey, normal salt, SHA-1, with empty info with non-multiple of 8 length: FAIL
    • empty derivedKey, normal salt, SHA-256, with normal info with non-multiple of 8 length: FAIL
  • /WebCryptoAPI/derive_bits_keys/hkdf.https.any.worker.html?1001-2000 [wpt.fyi]
    • short derivedKey, empty salt, SHA-1, with empty info with non-multiple of 8 length: FAIL
    • short derivedKey, empty salt, SHA-256, with normal info with non-multiple of 8 length: FAIL
    • short derivedKey, empty salt, SHA-256, with empty info with non-multiple of 8 length: FAIL
    • long derivedKey, normal salt, SHA-384, with normal info with non-multiple of 8 length: FAIL
    • long derivedKey, normal salt, SHA-384, with empty info with non-multiple of 8 length: FAIL
    • long derivedKey, normal salt, SHA-512, with normal info with non-multiple of 8 length: FAIL
    • long derivedKey, normal salt, SHA-512, with empty info with non-multiple of 8 length: FAIL
    • long derivedKey, normal salt, SHA-1, with normal info with non-multiple of 8 length: FAIL
    • long derivedKey, normal salt, SHA-1, with empty info with non-multiple of 8 length: FAIL
    • long derivedKey, normal salt, SHA-256, with normal info with non-multiple of 8 length: FAIL
    • long derivedKey, normal salt, SHA-256, with empty info with non-multiple of 8 length: FAIL
    • long derivedKey, empty salt, SHA-384, with normal info with non-multiple of 8 length: FAIL
    • long derivedKey, empty salt, SHA-384, with empty info with non-multiple of 8 length: FAIL
  • /WebCryptoAPI/derive_bits_keys/hkdf.https.any.html?1-1000 [wpt.fyi]
    • short derivedKey, normal salt, SHA-384, with normal info with non-multiple of 8 length: FAIL
    • short derivedKey, normal salt, SHA-384, with empty info with non-multiple of 8 length: FAIL
    • short derivedKey, normal salt, SHA-512, with normal info with non-multiple of 8 length: FAIL
    • short derivedKey, normal salt, SHA-512, with empty info with non-multiple of 8 length: FAIL
    • short derivedKey, normal salt, SHA-1, with normal info with non-multiple of 8 length: FAIL
    • short derivedKey, normal salt, SHA-1, with empty info with non-multiple of 8 length: FAIL
    • short derivedKey, normal salt, SHA-256, with normal info with non-multiple of 8 length: FAIL
    • short derivedKey, normal salt, SHA-256, with empty info with non-multiple of 8 length: FAIL
    • short derivedKey, empty salt, SHA-384, with normal info with non-multiple of 8 length: FAIL
    • short derivedKey, empty salt, SHA-384, with empty info with non-multiple of 8 length: FAIL
    • short derivedKey, empty salt, SHA-512, with normal info with non-multiple of 8 length: FAIL
    • short derivedKey, empty salt, SHA-512, with empty info with non-multiple of 8 length: FAIL
    • short derivedKey, empty salt, SHA-1, with normal info with non-multiple of 8 length: FAIL

New Tests That Don't Pass

  • /WebCryptoAPI/derive_bits_keys/cfrg_curves_bits.https.any.html [wpt.fyi]
    • X25519 key derivation checks for all-zero value result with a key of order 0: FAIL (Chrome: PASS, Safari: PASS)
    • X25519 key derivation checks for all-zero value result with a key of order 1: FAIL (Chrome: PASS, Safari: PASS)
    • X25519 key derivation checks for all-zero value result with a key of order 8: FAIL (Chrome: PASS, Safari: PASS)
    • X25519 key derivation checks for all-zero value result with a key of order p-1 (order 2): FAIL (Chrome: PASS, Safari: PASS)
    • X25519 key derivation checks for all-zero value result with a key of order p (=0, order 4): FAIL (Chrome: PASS, Safari: PASS)
    • X25519 key derivation checks for all-zero value result with a key of order p+1 (=1, order 1): FAIL (Chrome: PASS, Safari: PASS)
    • X448 key derivation checks for all-zero value result with a key of order 0: FAIL (Chrome: FAIL, Safari: FAIL)
    • X448 key derivation checks for all-zero value result with a key of order 1: FAIL (Chrome: FAIL, Safari: FAIL)
    • X448 key derivation checks for all-zero value result with a key of order p-1 (order 2): FAIL (Chrome: FAIL, Safari: FAIL)
    • X448 key derivation checks for all-zero value result with a key of order p (=0, order 4): FAIL (Chrome: FAIL, Safari: FAIL)
    • X448 key derivation checks for all-zero value result with a key of order p+1 (=1, order 1): FAIL (Chrome: FAIL, Safari: FAIL)
    • X25519 good parameters: FAIL (Chrome: PASS, Safari: PASS)
    • X25519 mixed case parameters: FAIL (Chrome: PASS, Safari: PASS)
    • X25519 short result: FAIL (Chrome: PASS, Safari: PASS)
    • X25519 non-multiple of 8 bits: FAIL (Chrome: PASS, Safari: PASS)
    • X25519 mismatched algorithms: FAIL (Chrome: FAIL, Safari: FAIL)
    • X25519 no deriveBits usage for base key: FAIL (Chrome: PASS, Safari: PASS)
    • X25519 base key is not a private key: FAIL (Chrome: PASS, Safari: PASS)
    • X25519 public property value is a private key: FAIL (Chrome: PASS, Safari: PASS)
    • X25519 public property value is a secret key: FAIL (Chrome: PASS, Safari: PASS)
    • X25519 asking for too many bits: FAIL (Chrome: PASS, Safari: PASS)
    • X448 good parameters: FAIL (Chrome: FAIL, Safari: FAIL)
    • X448 mixed case parameters: FAIL (Chrome: FAIL, Safari: FAIL)
    • X448 short result: FAIL (Chrome: FAIL, Safari: FAIL)
    • X448 non-multiple of 8 bits: FAIL (Chrome: FAIL, Safari: FAIL)
    • X448 mismatched algorithms: FAIL (Chrome: FAIL, Safari: FAIL)
    • X448 no deriveBits usage for base key: FAIL (Chrome: FAIL, Safari: FAIL)
    • X448 base key is not a private key: FAIL (Chrome: FAIL, Safari: FAIL)
    • X448 public property value is a private key: FAIL (Chrome: FAIL, Safari: FAIL)
    • X448 public property value is a secret key: FAIL (Chrome: FAIL, Safari: FAIL)
    • X448 asking for too many bits: FAIL (Chrome: FAIL, Safari: FAIL)
  • /WebCryptoAPI/derive_bits_keys/cfrg_curves_bits.https.any.worker.html [wpt.fyi]
    • X25519 key derivation checks for all-zero value result with a key of order 0: FAIL (Chrome: PASS, Safari: PASS)
    • X25519 key derivation checks for all-zero value result with a key of order 1: FAIL (Chrome: PASS, Safari: PASS)
    • X25519 key derivation checks for all-zero value result with a key of order 8: FAIL (Chrome: PASS, Safari: PASS)
    • X25519 key derivation checks for all-zero value result with a key of order p-1 (order 2): FAIL (Chrome: PASS, Safari: PASS)
    • X25519 key derivation checks for all-zero value result with a key of order p (=0, order 4): FAIL (Chrome: PASS, Safari: PASS)
    • X25519 key derivation checks for all-zero value result with a key of order p+1 (=1, order 1): FAIL (Chrome: PASS, Safari: PASS)
    • X448 key derivation checks for all-zero value result with a key of order 0: FAIL (Chrome: FAIL, Safari: FAIL)
    • X448 key derivation checks for all-zero value result with a key of order 1: FAIL (Chrome: FAIL, Safari: FAIL)
    • X448 key derivation checks for all-zero value result with a key of order p-1 (order 2): FAIL (Chrome: FAIL, Safari: FAIL)
    • X448 key derivation checks for all-zero value result with a key of order p (=0, order 4): FAIL (Chrome: FAIL, Safari: FAIL)
    • X448 key derivation checks for all-zero value result with a key of order p+1 (=1, order 1): FAIL (Chrome: FAIL, Safari: FAIL)
    • X25519 good parameters: FAIL (Chrome: PASS, Safari: PASS)
    • X25519 mixed case parameters: FAIL (Chrome: PASS, Safari: PASS)
    • X25519 short result: FAIL (Chrome: PASS, Safari: PASS)
    • X25519 non-multiple of 8 bits: FAIL (Chrome: PASS, Safari: PASS)
    • X25519 mismatched algorithms: FAIL (Chrome: FAIL, Safari: FAIL)
    • X25519 no deriveBits usage for base key: FAIL (Chrome: PASS, Safari: PASS)
    • X25519 base key is not a private key: FAIL (Chrome: PASS, Safari: PASS)
    • X25519 public property value is a private key: FAIL (Chrome: PASS, Safari: PASS)
    • X25519 public property value is a secret key: FAIL (Chrome: PASS, Safari: PASS)
    • X25519 asking for too many bits: FAIL (Chrome: PASS, Safari: PASS)
    • X448 good parameters: FAIL (Chrome: FAIL, Safari: FAIL)
    • X448 mixed case parameters: FAIL (Chrome: FAIL, Safari: FAIL)
    • X448 short result: FAIL (Chrome: FAIL, Safari: FAIL)
    • X448 non-multiple of 8 bits: FAIL (Chrome: FAIL, Safari: FAIL)
    • X448 mismatched algorithms: FAIL (Chrome: FAIL, Safari: FAIL)
    • X448 no deriveBits usage for base key: FAIL (Chrome: FAIL, Safari: FAIL)
    • X448 base key is not a private key: FAIL (Chrome: FAIL, Safari: FAIL)
    • X448 public property value is a private key: FAIL (Chrome: FAIL, Safari: FAIL)
    • X448 public property value is a secret key: FAIL (Chrome: FAIL, Safari: FAIL)
    • X448 asking for too many bits: FAIL (Chrome: FAIL, Safari: FAIL)
  • /WebCryptoAPI/derive_bits_keys/derived_bits_length.https.any.html [wpt.fyi]
    • HKDF derivation with omitted as 'length' parameter: FAIL (Chrome: FAIL, Safari: FAIL)
    • PBKDF2 derivation with omitted as 'length' parameter: FAIL (Chrome: FAIL, Safari: FAIL)
    • ECDH derivation with 0 as 'length' parameter: FAIL (Chrome: PASS, Safari: FAIL)
    • ECDH derivation with null as 'length' parameter: FAIL (Chrome: FAIL, Safari: PASS)
    • ECDH derivation with undefined as 'length' parameter: FAIL (Chrome: FAIL, Safari: PASS)
    • ECDH derivation with omitted as 'length' parameter: FAIL (Chrome: FAIL, Safari: FAIL)
    • X25519 derivation with 256 as 'length' parameter: FAIL (Chrome: PASS, Safari: PASS)
    • X25519 derivation with 0 as 'length' parameter: FAIL (Chrome: PASS, Safari: FAIL)
    • X25519 derivation with null as 'length' parameter: FAIL (Chrome: FAIL, Safari: PASS)
    • X25519 derivation with undefined as 'length' parameter: FAIL (Chrome: FAIL, Safari: PASS)
    • X25519 derivation with omitted as 'length' parameter: FAIL (Chrome: FAIL, Safari: FAIL)
  • /WebCryptoAPI/derive_bits_keys/derived_bits_length.https.any.worker.html [wpt.fyi]
    • HKDF derivation with omitted as 'length' parameter: FAIL (Chrome: FAIL, Safari: FAIL)
    • PBKDF2 derivation with omitted as 'length' parameter: FAIL (Chrome: FAIL, Safari: FAIL)
    • ECDH derivation with 0 as 'length' parameter: FAIL (Chrome: PASS, Safari: FAIL)
    • ECDH derivation with null as 'length' parameter: FAIL (Chrome: FAIL, Safari: PASS)
    • ECDH derivation with undefined as 'length' parameter: FAIL (Chrome: FAIL, Safari: PASS)
    • ECDH derivation with omitted as 'length' parameter: FAIL (Chrome: FAIL, Safari: FAIL)
    • X25519 derivation with 256 as 'length' parameter: FAIL (Chrome: PASS, Safari: PASS)
    • X25519 derivation with 0 as 'length' parameter: FAIL (Chrome: PASS, Safari: FAIL)
    • X25519 derivation with null as 'length' parameter: FAIL (Chrome: FAIL, Safari: PASS)
    • X25519 derivation with undefined as 'length' parameter: FAIL (Chrome: FAIL, Safari: PASS)
    • X25519 derivation with omitted as 'length' parameter: FAIL (Chrome: FAIL, Safari: FAIL)
  • /WebCryptoAPI/derive_bits_keys/ecdh_bits.https.any.html [wpt.fyi]
    • P-521 non-multiple of 8 bits: FAIL (Chrome: PASS, Safari: PASS)
    • P-256 non-multiple of 8 bits: FAIL (Chrome: PASS, Safari: PASS)
    • P-384 non-multiple of 8 bits: FAIL (Chrome: PASS, Safari: PASS)
  • /WebCryptoAPI/derive_bits_keys/ecdh_bits.https.any.worker.html [wpt.fyi]
    • P-521 non-multiple of 8 bits: FAIL (Chrome: PASS, Safari: PASS)
    • P-256 non-multiple of 8 bits: FAIL (Chrome: PASS, Safari: PASS)
    • P-384 non-multiple of 8 bits: FAIL (Chrome: PASS, Safari: PASS)
  • /WebCryptoAPI/derive_bits_keys/hkdf.https.any.html?3001-last [wpt.fyi]
    • empty derivedKey, normal salt, SHA-256, with empty info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • empty derivedKey, empty salt, SHA-384, with normal info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • empty derivedKey, empty salt, SHA-384, with empty info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • empty derivedKey, empty salt, SHA-512, with normal info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • empty derivedKey, empty salt, SHA-512, with empty info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • empty derivedKey, empty salt, SHA-1, with normal info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • empty derivedKey, empty salt, SHA-1, with empty info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • empty derivedKey, empty salt, SHA-256, with normal info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • empty derivedKey, empty salt, SHA-256, with empty info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
  • /WebCryptoAPI/derive_bits_keys/hkdf.https.any.html?1001-2000 [wpt.fyi]
    • short derivedKey, empty salt, SHA-1, with empty info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • short derivedKey, empty salt, SHA-256, with normal info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • short derivedKey, empty salt, SHA-256, with empty info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • long derivedKey, normal salt, SHA-384, with normal info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • long derivedKey, normal salt, SHA-384, with empty info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • long derivedKey, normal salt, SHA-512, with normal info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • long derivedKey, normal salt, SHA-512, with empty info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • long derivedKey, normal salt, SHA-1, with normal info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • long derivedKey, normal salt, SHA-1, with empty info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • long derivedKey, normal salt, SHA-256, with normal info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • long derivedKey, normal salt, SHA-256, with empty info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • long derivedKey, empty salt, SHA-384, with normal info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • long derivedKey, empty salt, SHA-384, with empty info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
  • /WebCryptoAPI/derive_bits_keys/hkdf.https.any.worker.html?3001-last [wpt.fyi]
    • empty derivedKey, normal salt, SHA-256, with empty info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • empty derivedKey, empty salt, SHA-384, with normal info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • empty derivedKey, empty salt, SHA-384, with empty info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • empty derivedKey, empty salt, SHA-512, with normal info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • empty derivedKey, empty salt, SHA-512, with empty info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • empty derivedKey, empty salt, SHA-1, with normal info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • empty derivedKey, empty salt, SHA-1, with empty info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • empty derivedKey, empty salt, SHA-256, with normal info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • empty derivedKey, empty salt, SHA-256, with empty info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
  • /WebCryptoAPI/derive_bits_keys/hkdf.https.any.worker.html?1-1000 [wpt.fyi]
    • short derivedKey, normal salt, SHA-384, with normal info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • short derivedKey, normal salt, SHA-384, with empty info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • short derivedKey, normal salt, SHA-512, with normal info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • short derivedKey, normal salt, SHA-512, with empty info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • short derivedKey, normal salt, SHA-1, with normal info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • short derivedKey, normal salt, SHA-1, with empty info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • short derivedKey, normal salt, SHA-256, with normal info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • short derivedKey, normal salt, SHA-256, with empty info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • short derivedKey, empty salt, SHA-384, with normal info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • short derivedKey, empty salt, SHA-384, with empty info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • short derivedKey, empty salt, SHA-512, with normal info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • short derivedKey, empty salt, SHA-512, with empty info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • short derivedKey, empty salt, SHA-1, with normal info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
  • /WebCryptoAPI/derive_bits_keys/hkdf.https.any.worker.html?2001-3000 [wpt.fyi]
    • long derivedKey, empty salt, SHA-512, with normal info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • long derivedKey, empty salt, SHA-512, with empty info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • long derivedKey, empty salt, SHA-1, with normal info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • long derivedKey, empty salt, SHA-1, with empty info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • long derivedKey, empty salt, SHA-256, with normal info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • long derivedKey, empty salt, SHA-256, with empty info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • empty derivedKey, normal salt, SHA-384, with normal info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • empty derivedKey, normal salt, SHA-384, with empty info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • empty derivedKey, normal salt, SHA-512, with normal info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • empty derivedKey, normal salt, SHA-512, with empty info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • empty derivedKey, normal salt, SHA-1, with normal info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • empty derivedKey, normal salt, SHA-1, with empty info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • empty derivedKey, normal salt, SHA-256, with normal info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
  • /WebCryptoAPI/derive_bits_keys/hkdf.https.any.html?2001-3000 [wpt.fyi]
    • long derivedKey, empty salt, SHA-512, with normal info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • long derivedKey, empty salt, SHA-512, with empty info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • long derivedKey, empty salt, SHA-1, with normal info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • long derivedKey, empty salt, SHA-1, with empty info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • long derivedKey, empty salt, SHA-256, with normal info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • long derivedKey, empty salt, SHA-256, with empty info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • empty derivedKey, normal salt, SHA-384, with normal info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • empty derivedKey, normal salt, SHA-384, with empty info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • empty derivedKey, normal salt, SHA-512, with normal info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • empty derivedKey, normal salt, SHA-512, with empty info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • empty derivedKey, normal salt, SHA-1, with normal info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • empty derivedKey, normal salt, SHA-1, with empty info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • empty derivedKey, normal salt, SHA-256, with normal info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
  • /WebCryptoAPI/derive_bits_keys/hkdf.https.any.worker.html?1001-2000 [wpt.fyi]
    • short derivedKey, empty salt, SHA-1, with empty info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • short derivedKey, empty salt, SHA-256, with normal info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • short derivedKey, empty salt, SHA-256, with empty info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • long derivedKey, normal salt, SHA-384, with normal info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • long derivedKey, normal salt, SHA-384, with empty info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • long derivedKey, normal salt, SHA-512, with normal info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • long derivedKey, normal salt, SHA-512, with empty info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • long derivedKey, normal salt, SHA-1, with normal info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • long derivedKey, normal salt, SHA-1, with empty info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • long derivedKey, normal salt, SHA-256, with normal info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • long derivedKey, normal salt, SHA-256, with empty info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • long derivedKey, empty salt, SHA-384, with normal info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • long derivedKey, empty salt, SHA-384, with empty info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
  • /WebCryptoAPI/derive_bits_keys/hkdf.https.any.html?1-1000 [wpt.fyi]
    • short derivedKey, normal salt, SHA-384, with normal info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • short derivedKey, normal salt, SHA-384, with empty info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • short derivedKey, normal salt, SHA-512, with normal info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • short derivedKey, normal salt, SHA-512, with empty info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • short derivedKey, normal salt, SHA-1, with normal info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • short derivedKey, normal salt, SHA-1, with empty info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • short derivedKey, normal salt, SHA-256, with normal info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • short derivedKey, normal salt, SHA-256, with empty info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • short derivedKey, empty salt, SHA-384, with normal info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • short derivedKey, empty salt, SHA-384, with empty info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • short derivedKey, empty salt, SHA-512, with normal info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • short derivedKey, empty salt, SHA-512, with empty info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • short derivedKey, empty salt, SHA-1, with normal info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)

CI Results

Ran 9 Firefox configurations based on mozilla-central, and Firefox, Chrome, and Safari on GitHub CI

Total 32 tests and 1001 subtests

Status Summary

Firefox

OK : 32
PASS: 24616
FAIL: 186

Chrome

OK : 32
PASS: 23500
FAIL: 1302

Safari

OK : 32
PASS: 24758
FAIL: 44

Links

Gecko CI (Treeherder)
GitHub PR Head
GitHub PR Base

Details

Firefox-only Failures

  • /WebCryptoAPI/derive_bits_keys/cfrg_curves_bits.https.any.html [wpt.fyi]
    • X25519 key derivation checks for all-zero value result with a key of order 0: FAIL
    • X25519 key derivation checks for all-zero value result with a key of order 1: FAIL
    • X25519 key derivation checks for all-zero value result with a key of order 8: FAIL
    • X25519 key derivation checks for all-zero value result with a key of order p-1 (order 2): FAIL
    • X25519 key derivation checks for all-zero value result with a key of order p (=0, order 4): FAIL
    • X25519 key derivation checks for all-zero value result with a key of order p+1 (=1, order 1): FAIL
    • X25519 good parameters: FAIL
    • X25519 mixed case parameters: FAIL
    • X25519 short result: FAIL
    • X25519 non-multiple of 8 bits: FAIL
    • X25519 no deriveBits usage for base key: FAIL
    • X25519 base key is not a private key: FAIL
    • X25519 public property value is a private key: FAIL
    • X25519 public property value is a secret key: FAIL
    • X25519 asking for too many bits: FAIL
  • /WebCryptoAPI/derive_bits_keys/cfrg_curves_bits.https.any.worker.html [wpt.fyi]
    • X25519 key derivation checks for all-zero value result with a key of order 0: FAIL
    • X25519 key derivation checks for all-zero value result with a key of order 1: FAIL
    • X25519 key derivation checks for all-zero value result with a key of order 8: FAIL
    • X25519 key derivation checks for all-zero value result with a key of order p-1 (order 2): FAIL
    • X25519 key derivation checks for all-zero value result with a key of order p (=0, order 4): FAIL
    • X25519 key derivation checks for all-zero value result with a key of order p+1 (=1, order 1): FAIL
    • X25519 good parameters: FAIL
    • X25519 mixed case parameters: FAIL
    • X25519 short result: FAIL
    • X25519 non-multiple of 8 bits: FAIL
    • X25519 no deriveBits usage for base key: FAIL
    • X25519 base key is not a private key: FAIL
    • X25519 public property value is a private key: FAIL
    • X25519 public property value is a secret key: FAIL
    • X25519 asking for too many bits: FAIL
  • /WebCryptoAPI/derive_bits_keys/derived_bits_length.https.any.html [wpt.fyi]
    • X25519 derivation with 256 as 'length' parameter: FAIL
  • /WebCryptoAPI/derive_bits_keys/derived_bits_length.https.any.worker.html [wpt.fyi]
    • X25519 derivation with 256 as 'length' parameter: FAIL
  • /WebCryptoAPI/derive_bits_keys/ecdh_bits.https.any.html [wpt.fyi]
    • P-521 non-multiple of 8 bits: FAIL
    • P-256 non-multiple of 8 bits: FAIL
    • P-384 non-multiple of 8 bits: FAIL
  • /WebCryptoAPI/derive_bits_keys/ecdh_bits.https.any.worker.html [wpt.fyi]
    • P-521 non-multiple of 8 bits: FAIL
    • P-256 non-multiple of 8 bits: FAIL
    • P-384 non-multiple of 8 bits: FAIL
  • /WebCryptoAPI/derive_bits_keys/hkdf.https.any.html?3001-last [wpt.fyi]
    • empty derivedKey, normal salt, SHA-256, with empty info with non-multiple of 8 length: FAIL
    • empty derivedKey, empty salt, SHA-384, with normal info with non-multiple of 8 length: FAIL
    • empty derivedKey, empty salt, SHA-384, with empty info with non-multiple of 8 length: FAIL
    • empty derivedKey, empty salt, SHA-512, with normal info with non-multiple of 8 length: FAIL
    • empty derivedKey, empty salt, SHA-512, with empty info with non-multiple of 8 length: FAIL
    • empty derivedKey, empty salt, SHA-1, with normal info with non-multiple of 8 length: FAIL
    • empty derivedKey, empty salt, SHA-1, with empty info with non-multiple of 8 length: FAIL
    • empty derivedKey, empty salt, SHA-256, with normal info with non-multiple of 8 length: FAIL
    • empty derivedKey, empty salt, SHA-256, with empty info with non-multiple of 8 length: FAIL
  • /WebCryptoAPI/derive_bits_keys/hkdf.https.any.html?1001-2000 [wpt.fyi]
    • short derivedKey, empty salt, SHA-1, with empty info with non-multiple of 8 length: FAIL
    • short derivedKey, empty salt, SHA-256, with normal info with non-multiple of 8 length: FAIL
    • short derivedKey, empty salt, SHA-256, with empty info with non-multiple of 8 length: FAIL
    • long derivedKey, normal salt, SHA-384, with normal info with non-multiple of 8 length: FAIL
    • long derivedKey, normal salt, SHA-384, with empty info with non-multiple of 8 length: FAIL
    • long derivedKey, normal salt, SHA-512, with normal info with non-multiple of 8 length: FAIL
    • long derivedKey, normal salt, SHA-512, with empty info with non-multiple of 8 length: FAIL
    • long derivedKey, normal salt, SHA-1, with normal info with non-multiple of 8 length: FAIL
    • long derivedKey, normal salt, SHA-1, with empty info with non-multiple of 8 length: FAIL
    • long derivedKey, normal salt, SHA-256, with normal info with non-multiple of 8 length: FAIL
    • long derivedKey, normal salt, SHA-256, with empty info with non-multiple of 8 length: FAIL
    • long derivedKey, empty salt, SHA-384, with normal info with non-multiple of 8 length: FAIL
    • long derivedKey, empty salt, SHA-384, with empty info with non-multiple of 8 length: FAIL
  • /WebCryptoAPI/derive_bits_keys/hkdf.https.any.worker.html?3001-last [wpt.fyi]
    • empty derivedKey, normal salt, SHA-256, with empty info with non-multiple of 8 length: FAIL
    • empty derivedKey, empty salt, SHA-384, with normal info with non-multiple of 8 length: FAIL
    • empty derivedKey, empty salt, SHA-384, with empty info with non-multiple of 8 length: FAIL
    • empty derivedKey, empty salt, SHA-512, with normal info with non-multiple of 8 length: FAIL
    • empty derivedKey, empty salt, SHA-512, with empty info with non-multiple of 8 length: FAIL
    • empty derivedKey, empty salt, SHA-1, with normal info with non-multiple of 8 length: FAIL
    • empty derivedKey, empty salt, SHA-1, with empty info with non-multiple of 8 length: FAIL
    • empty derivedKey, empty salt, SHA-256, with normal info with non-multiple of 8 length: FAIL
    • empty derivedKey, empty salt, SHA-256, with empty info with non-multiple of 8 length: FAIL
  • /WebCryptoAPI/derive_bits_keys/hkdf.https.any.worker.html?1-1000 [wpt.fyi]
    • short derivedKey, normal salt, SHA-384, with normal info with non-multiple of 8 length: FAIL
    • short derivedKey, normal salt, SHA-384, with empty info with non-multiple of 8 length: FAIL
    • short derivedKey, normal salt, SHA-512, with normal info with non-multiple of 8 length: FAIL
    • short derivedKey, normal salt, SHA-512, with empty info with non-multiple of 8 length: FAIL
    • short derivedKey, normal salt, SHA-1, with normal info with non-multiple of 8 length: FAIL
    • short derivedKey, normal salt, SHA-1, with empty info with non-multiple of 8 length: FAIL
    • short derivedKey, normal salt, SHA-256, with normal info with non-multiple of 8 length: FAIL
    • short derivedKey, normal salt, SHA-256, with empty info with non-multiple of 8 length: FAIL
    • short derivedKey, empty salt, SHA-384, with normal info with non-multiple of 8 length: FAIL
    • short derivedKey, empty salt, SHA-384, with empty info with non-multiple of 8 length: FAIL
    • short derivedKey, empty salt, SHA-512, with normal info with non-multiple of 8 length: FAIL
    • short derivedKey, empty salt, SHA-512, with empty info with non-multiple of 8 length: FAIL
    • short derivedKey, empty salt, SHA-1, with normal info with non-multiple of 8 length: FAIL
  • /WebCryptoAPI/derive_bits_keys/hkdf.https.any.worker.html?2001-3000 [wpt.fyi]
    • long derivedKey, empty salt, SHA-512, with normal info with non-multiple of 8 length: FAIL
    • long derivedKey, empty salt, SHA-512, with empty info with non-multiple of 8 length: FAIL
    • long derivedKey, empty salt, SHA-1, with normal info with non-multiple of 8 length: FAIL
    • long derivedKey, empty salt, SHA-1, with empty info with non-multiple of 8 length: FAIL
    • long derivedKey, empty salt, SHA-256, with normal info with non-multiple of 8 length: FAIL
    • long derivedKey, empty salt, SHA-256, with empty info with non-multiple of 8 length: FAIL
    • empty derivedKey, normal salt, SHA-384, with normal info with non-multiple of 8 length: FAIL
    • empty derivedKey, normal salt, SHA-384, with empty info with non-multiple of 8 length: FAIL
    • empty derivedKey, normal salt, SHA-512, with normal info with non-multiple of 8 length: FAIL
    • empty derivedKey, normal salt, SHA-512, with empty info with non-multiple of 8 length: FAIL
    • empty derivedKey, normal salt, SHA-1, with normal info with non-multiple of 8 length: FAIL
    • empty derivedKey, normal salt, SHA-1, with empty info with non-multiple of 8 length: FAIL
    • empty derivedKey, normal salt, SHA-256, with normal info with non-multiple of 8 length: FAIL
  • /WebCryptoAPI/derive_bits_keys/hkdf.https.any.html?2001-3000 [wpt.fyi]
    • long derivedKey, empty salt, SHA-512, with normal info with non-multiple of 8 length: FAIL
    • long derivedKey, empty salt, SHA-512, with empty info with non-multiple of 8 length: FAIL
    • long derivedKey, empty salt, SHA-1, with normal info with non-multiple of 8 length: FAIL
    • long derivedKey, empty salt, SHA-1, with empty info with non-multiple of 8 length: FAIL
    • long derivedKey, empty salt, SHA-256, with normal info with non-multiple of 8 length: FAIL
    • long derivedKey, empty salt, SHA-256, with empty info with non-multiple of 8 length: FAIL
    • empty derivedKey, normal salt, SHA-384, with normal info with non-multiple of 8 length: FAIL
    • empty derivedKey, normal salt, SHA-384, with empty info with non-multiple of 8 length: FAIL
    • empty derivedKey, normal salt, SHA-512, with normal info with non-multiple of 8 length: FAIL
    • empty derivedKey, normal salt, SHA-512, with empty info with non-multiple of 8 length: FAIL
    • empty derivedKey, normal salt, SHA-1, with normal info with non-multiple of 8 length: FAIL
    • empty derivedKey, normal salt, SHA-1, with empty info with non-multiple of 8 length: FAIL
    • empty derivedKey, normal salt, SHA-256, with normal info with non-multiple of 8 length: FAIL
  • /WebCryptoAPI/derive_bits_keys/hkdf.https.any.worker.html?1001-2000 [wpt.fyi]
    • short derivedKey, empty salt, SHA-1, with empty info with non-multiple of 8 length: FAIL
    • short derivedKey, empty salt, SHA-256, with normal info with non-multiple of 8 length: FAIL
    • short derivedKey, empty salt, SHA-256, with empty info with non-multiple of 8 length: FAIL
    • long derivedKey, normal salt, SHA-384, with normal info with non-multiple of 8 length: FAIL
    • long derivedKey, normal salt, SHA-384, with empty info with non-multiple of 8 length: FAIL
    • long derivedKey, normal salt, SHA-512, with normal info with non-multiple of 8 length: FAIL
    • long derivedKey, normal salt, SHA-512, with empty info with non-multiple of 8 length: FAIL
    • long derivedKey, normal salt, SHA-1, with normal info with non-multiple of 8 length: FAIL
    • long derivedKey, normal salt, SHA-1, with empty info with non-multiple of 8 length: FAIL
    • long derivedKey, normal salt, SHA-256, with normal info with non-multiple of 8 length: FAIL
    • long derivedKey, normal salt, SHA-256, with empty info with non-multiple of 8 length: FAIL
    • long derivedKey, empty salt, SHA-384, with normal info with non-multiple of 8 length: FAIL
    • long derivedKey, empty salt, SHA-384, with empty info with non-multiple of 8 length: FAIL
  • /WebCryptoAPI/derive_bits_keys/hkdf.https.any.html?1-1000 [wpt.fyi]
    • short derivedKey, normal salt, SHA-384, with normal info with non-multiple of 8 length: FAIL
    • short derivedKey, normal salt, SHA-384, with empty info with non-multiple of 8 length: FAIL
    • short derivedKey, normal salt, SHA-512, with normal info with non-multiple of 8 length: FAIL
    • short derivedKey, normal salt, SHA-512, with empty info with non-multiple of 8 length: FAIL
    • short derivedKey, normal salt, SHA-1, with normal info with non-multiple of 8 length: FAIL
    • short derivedKey, normal salt, SHA-1, with empty info with non-multiple of 8 length: FAIL
    • short derivedKey, normal salt, SHA-256, with normal info with non-multiple of 8 length: FAIL
    • short derivedKey, normal salt, SHA-256, with empty info with non-multiple of 8 length: FAIL
    • short derivedKey, empty salt, SHA-384, with normal info with non-multiple of 8 length: FAIL
    • short derivedKey, empty salt, SHA-384, with empty info with non-multiple of 8 length: FAIL
    • short derivedKey, empty salt, SHA-512, with normal info with non-multiple of 8 length: FAIL
    • short derivedKey, empty salt, SHA-512, with empty info with non-multiple of 8 length: FAIL
    • short derivedKey, empty salt, SHA-1, with normal info with non-multiple of 8 length: FAIL

New Tests That Don't Pass

  • /WebCryptoAPI/derive_bits_keys/cfrg_curves_bits.https.any.html [wpt.fyi]
    • X25519 key derivation checks for all-zero value result with a key of order 0: FAIL (Chrome: PASS, Safari: PASS)
    • X25519 key derivation checks for all-zero value result with a key of order 1: FAIL (Chrome: PASS, Safari: PASS)
    • X25519 key derivation checks for all-zero value result with a key of order 8: FAIL (Chrome: PASS, Safari: PASS)
    • X25519 key derivation checks for all-zero value result with a key of order p-1 (order 2): FAIL (Chrome: PASS, Safari: PASS)
    • X25519 key derivation checks for all-zero value result with a key of order p (=0, order 4): FAIL (Chrome: PASS, Safari: PASS)
    • X25519 key derivation checks for all-zero value result with a key of order p+1 (=1, order 1): FAIL (Chrome: PASS, Safari: PASS)
    • X448 key derivation checks for all-zero value result with a key of order 0: FAIL (Chrome: FAIL, Safari: FAIL)
    • X448 key derivation checks for all-zero value result with a key of order 1: FAIL (Chrome: FAIL, Safari: FAIL)
    • X448 key derivation checks for all-zero value result with a key of order p-1 (order 2): FAIL (Chrome: FAIL, Safari: FAIL)
    • X448 key derivation checks for all-zero value result with a key of order p (=0, order 4): FAIL (Chrome: FAIL, Safari: FAIL)
    • X448 key derivation checks for all-zero value result with a key of order p+1 (=1, order 1): FAIL (Chrome: FAIL, Safari: FAIL)
    • X25519 good parameters: FAIL (Chrome: PASS, Safari: PASS)
    • X25519 mixed case parameters: FAIL (Chrome: PASS, Safari: PASS)
    • X25519 short result: FAIL (Chrome: PASS, Safari: PASS)
    • X25519 non-multiple of 8 bits: FAIL (Chrome: PASS, Safari: PASS)
    • X25519 mismatched algorithms: FAIL (Chrome: FAIL, Safari: FAIL)
    • X25519 no deriveBits usage for base key: FAIL (Chrome: PASS, Safari: PASS)
    • X25519 base key is not a private key: FAIL (Chrome: PASS, Safari: PASS)
    • X25519 public property value is a private key: FAIL (Chrome: PASS, Safari: PASS)
    • X25519 public property value is a secret key: FAIL (Chrome: PASS, Safari: PASS)
    • X25519 asking for too many bits: FAIL (Chrome: PASS, Safari: PASS)
    • X448 good parameters: FAIL (Chrome: FAIL, Safari: FAIL)
    • X448 mixed case parameters: FAIL (Chrome: FAIL, Safari: FAIL)
    • X448 short result: FAIL (Chrome: FAIL, Safari: FAIL)
    • X448 non-multiple of 8 bits: FAIL (Chrome: FAIL, Safari: FAIL)
    • X448 mismatched algorithms: FAIL (Chrome: FAIL, Safari: FAIL)
    • X448 no deriveBits usage for base key: FAIL (Chrome: FAIL, Safari: FAIL)
    • X448 base key is not a private key: FAIL (Chrome: FAIL, Safari: FAIL)
    • X448 public property value is a private key: FAIL (Chrome: FAIL, Safari: FAIL)
    • X448 public property value is a secret key: FAIL (Chrome: FAIL, Safari: FAIL)
    • X448 asking for too many bits: FAIL (Chrome: FAIL, Safari: FAIL)
  • /WebCryptoAPI/derive_bits_keys/cfrg_curves_bits.https.any.worker.html [wpt.fyi]
    • X25519 key derivation checks for all-zero value result with a key of order 0: FAIL (Chrome: PASS, Safari: PASS)
    • X25519 key derivation checks for all-zero value result with a key of order 1: FAIL (Chrome: PASS, Safari: PASS)
    • X25519 key derivation checks for all-zero value result with a key of order 8: FAIL (Chrome: PASS, Safari: PASS)
    • X25519 key derivation checks for all-zero value result with a key of order p-1 (order 2): FAIL (Chrome: PASS, Safari: PASS)
    • X25519 key derivation checks for all-zero value result with a key of order p (=0, order 4): FAIL (Chrome: PASS, Safari: PASS)
    • X25519 key derivation checks for all-zero value result with a key of order p+1 (=1, order 1): FAIL (Chrome: PASS, Safari: PASS)
    • X448 key derivation checks for all-zero value result with a key of order 0: FAIL (Chrome: FAIL, Safari: FAIL)
    • X448 key derivation checks for all-zero value result with a key of order 1: FAIL (Chrome: FAIL, Safari: FAIL)
    • X448 key derivation checks for all-zero value result with a key of order p-1 (order 2): FAIL (Chrome: FAIL, Safari: FAIL)
    • X448 key derivation checks for all-zero value result with a key of order p (=0, order 4): FAIL (Chrome: FAIL, Safari: FAIL)
    • X448 key derivation checks for all-zero value result with a key of order p+1 (=1, order 1): FAIL (Chrome: FAIL, Safari: FAIL)
    • X25519 good parameters: FAIL (Chrome: PASS, Safari: PASS)
    • X25519 mixed case parameters: FAIL (Chrome: PASS, Safari: PASS)
    • X25519 short result: FAIL (Chrome: PASS, Safari: PASS)
    • X25519 non-multiple of 8 bits: FAIL (Chrome: PASS, Safari: PASS)
    • X25519 mismatched algorithms: FAIL (Chrome: FAIL, Safari: FAIL)
    • X25519 no deriveBits usage for base key: FAIL (Chrome: PASS, Safari: PASS)
    • X25519 base key is not a private key: FAIL (Chrome: PASS, Safari: PASS)
    • X25519 public property value is a private key: FAIL (Chrome: PASS, Safari: PASS)
    • X25519 public property value is a secret key: FAIL (Chrome: PASS, Safari: PASS)
    • X25519 asking for too many bits: FAIL (Chrome: PASS, Safari: PASS)
    • X448 good parameters: FAIL (Chrome: FAIL, Safari: FAIL)
    • X448 mixed case parameters: FAIL (Chrome: FAIL, Safari: FAIL)
    • X448 short result: FAIL (Chrome: FAIL, Safari: FAIL)
    • X448 non-multiple of 8 bits: FAIL (Chrome: FAIL, Safari: FAIL)
    • X448 mismatched algorithms: FAIL (Chrome: FAIL, Safari: FAIL)
    • X448 no deriveBits usage for base key: FAIL (Chrome: FAIL, Safari: FAIL)
    • X448 base key is not a private key: FAIL (Chrome: FAIL, Safari: FAIL)
    • X448 public property value is a private key: FAIL (Chrome: FAIL, Safari: FAIL)
    • X448 public property value is a secret key: FAIL (Chrome: FAIL, Safari: FAIL)
    • X448 asking for too many bits: FAIL (Chrome: FAIL, Safari: FAIL)
  • /WebCryptoAPI/derive_bits_keys/derived_bits_length.https.any.html [wpt.fyi]
    • HKDF derivation with omitted as 'length' parameter: FAIL (Chrome: FAIL, Safari: FAIL)
    • PBKDF2 derivation with omitted as 'length' parameter: FAIL (Chrome: FAIL, Safari: FAIL)
    • ECDH derivation with 0 as 'length' parameter: FAIL (Chrome: PASS, Safari: FAIL)
    • ECDH derivation with null as 'length' parameter: FAIL (Chrome: FAIL, Safari: PASS)
    • ECDH derivation with undefined as 'length' parameter: FAIL (Chrome: FAIL, Safari: PASS)
    • ECDH derivation with omitted as 'length' parameter: FAIL (Chrome: FAIL, Safari: FAIL)
    • X25519 derivation with 256 as 'length' parameter: FAIL (Chrome: PASS, Safari: PASS)
    • X25519 derivation with 0 as 'length' parameter: FAIL (Chrome: PASS, Safari: FAIL)
    • X25519 derivation with null as 'length' parameter: FAIL (Chrome: FAIL, Safari: PASS)
    • X25519 derivation with undefined as 'length' parameter: FAIL (Chrome: FAIL, Safari: PASS)
    • X25519 derivation with omitted as 'length' parameter: FAIL (Chrome: FAIL, Safari: FAIL)
  • /WebCryptoAPI/derive_bits_keys/derived_bits_length.https.any.worker.html [wpt.fyi]
    • HKDF derivation with omitted as 'length' parameter: FAIL (Chrome: FAIL, Safari: FAIL)
    • PBKDF2 derivation with omitted as 'length' parameter: FAIL (Chrome: FAIL, Safari: FAIL)
    • ECDH derivation with 0 as 'length' parameter: FAIL (Chrome: PASS, Safari: FAIL)
    • ECDH derivation with null as 'length' parameter: FAIL (Chrome: FAIL, Safari: PASS)
    • ECDH derivation with undefined as 'length' parameter: FAIL (Chrome: FAIL, Safari: PASS)
    • ECDH derivation with omitted as 'length' parameter: FAIL (Chrome: FAIL, Safari: FAIL)
    • X25519 derivation with 256 as 'length' parameter: FAIL (Chrome: PASS, Safari: PASS)
    • X25519 derivation with 0 as 'length' parameter: FAIL (Chrome: PASS, Safari: FAIL)
    • X25519 derivation with null as 'length' parameter: FAIL (Chrome: FAIL, Safari: PASS)
    • X25519 derivation with undefined as 'length' parameter: FAIL (Chrome: FAIL, Safari: PASS)
    • X25519 derivation with omitted as 'length' parameter: FAIL (Chrome: FAIL, Safari: FAIL)
  • /WebCryptoAPI/derive_bits_keys/ecdh_bits.https.any.html [wpt.fyi]
    • P-521 non-multiple of 8 bits: FAIL (Chrome: PASS, Safari: PASS)
    • P-256 non-multiple of 8 bits: FAIL (Chrome: PASS, Safari: PASS)
    • P-384 non-multiple of 8 bits: FAIL (Chrome: PASS, Safari: PASS)
  • /WebCryptoAPI/derive_bits_keys/ecdh_bits.https.any.worker.html [wpt.fyi]
    • P-521 non-multiple of 8 bits: FAIL (Chrome: PASS, Safari: PASS)
    • P-256 non-multiple of 8 bits: FAIL (Chrome: PASS, Safari: PASS)
    • P-384 non-multiple of 8 bits: FAIL (Chrome: PASS, Safari: PASS)
  • /WebCryptoAPI/derive_bits_keys/hkdf.https.any.html?3001-last [wpt.fyi]
    • empty derivedKey, normal salt, SHA-256, with empty info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • empty derivedKey, empty salt, SHA-384, with normal info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • empty derivedKey, empty salt, SHA-384, with empty info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • empty derivedKey, empty salt, SHA-512, with normal info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • empty derivedKey, empty salt, SHA-512, with empty info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • empty derivedKey, empty salt, SHA-1, with normal info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • empty derivedKey, empty salt, SHA-1, with empty info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • empty derivedKey, empty salt, SHA-256, with normal info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • empty derivedKey, empty salt, SHA-256, with empty info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
  • /WebCryptoAPI/derive_bits_keys/hkdf.https.any.html?1001-2000 [wpt.fyi]
    • short derivedKey, empty salt, SHA-1, with empty info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • short derivedKey, empty salt, SHA-256, with normal info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • short derivedKey, empty salt, SHA-256, with empty info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • long derivedKey, normal salt, SHA-384, with normal info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • long derivedKey, normal salt, SHA-384, with empty info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • long derivedKey, normal salt, SHA-512, with normal info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • long derivedKey, normal salt, SHA-512, with empty info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • long derivedKey, normal salt, SHA-1, with normal info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • long derivedKey, normal salt, SHA-1, with empty info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • long derivedKey, normal salt, SHA-256, with normal info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • long derivedKey, normal salt, SHA-256, with empty info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • long derivedKey, empty salt, SHA-384, with normal info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • long derivedKey, empty salt, SHA-384, with empty info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
  • /WebCryptoAPI/derive_bits_keys/hkdf.https.any.worker.html?3001-last [wpt.fyi]
    • empty derivedKey, normal salt, SHA-256, with empty info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • empty derivedKey, empty salt, SHA-384, with normal info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • empty derivedKey, empty salt, SHA-384, with empty info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • empty derivedKey, empty salt, SHA-512, with normal info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • empty derivedKey, empty salt, SHA-512, with empty info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • empty derivedKey, empty salt, SHA-1, with normal info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • empty derivedKey, empty salt, SHA-1, with empty info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • empty derivedKey, empty salt, SHA-256, with normal info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • empty derivedKey, empty salt, SHA-256, with empty info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
  • /WebCryptoAPI/derive_bits_keys/hkdf.https.any.worker.html?1-1000 [wpt.fyi]
    • short derivedKey, normal salt, SHA-384, with normal info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • short derivedKey, normal salt, SHA-384, with empty info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • short derivedKey, normal salt, SHA-512, with normal info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • short derivedKey, normal salt, SHA-512, with empty info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • short derivedKey, normal salt, SHA-1, with normal info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • short derivedKey, normal salt, SHA-1, with empty info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • short derivedKey, normal salt, SHA-256, with normal info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • short derivedKey, normal salt, SHA-256, with empty info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • short derivedKey, empty salt, SHA-384, with normal info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • short derivedKey, empty salt, SHA-384, with empty info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • short derivedKey, empty salt, SHA-512, with normal info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • short derivedKey, empty salt, SHA-512, with empty info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • short derivedKey, empty salt, SHA-1, with normal info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
  • /WebCryptoAPI/derive_bits_keys/hkdf.https.any.worker.html?2001-3000 [wpt.fyi]
    • long derivedKey, empty salt, SHA-512, with normal info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • long derivedKey, empty salt, SHA-512, with empty info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • long derivedKey, empty salt, SHA-1, with normal info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • long derivedKey, empty salt, SHA-1, with empty info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • long derivedKey, empty salt, SHA-256, with normal info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • long derivedKey, empty salt, SHA-256, with empty info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • empty derivedKey, normal salt, SHA-384, with normal info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • empty derivedKey, normal salt, SHA-384, with empty info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • empty derivedKey, normal salt, SHA-512, with normal info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • empty derivedKey, normal salt, SHA-512, with empty info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • empty derivedKey, normal salt, SHA-1, with normal info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • empty derivedKey, normal salt, SHA-1, with empty info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • empty derivedKey, normal salt, SHA-256, with normal info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
  • /WebCryptoAPI/derive_bits_keys/hkdf.https.any.html?2001-3000 [wpt.fyi]
    • long derivedKey, empty salt, SHA-512, with normal info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • long derivedKey, empty salt, SHA-512, with empty info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • long derivedKey, empty salt, SHA-1, with normal info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • long derivedKey, empty salt, SHA-1, with empty info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • long derivedKey, empty salt, SHA-256, with normal info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • long derivedKey, empty salt, SHA-256, with empty info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • empty derivedKey, normal salt, SHA-384, with normal info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • empty derivedKey, normal salt, SHA-384, with empty info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • empty derivedKey, normal salt, SHA-512, with normal info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • empty derivedKey, normal salt, SHA-512, with empty info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • empty derivedKey, normal salt, SHA-1, with normal info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • empty derivedKey, normal salt, SHA-1, with empty info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • empty derivedKey, normal salt, SHA-256, with normal info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
  • /WebCryptoAPI/derive_bits_keys/hkdf.https.any.worker.html?1001-2000 [wpt.fyi]
    • short derivedKey, empty salt, SHA-1, with empty info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • short derivedKey, empty salt, SHA-256, with normal info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • short derivedKey, empty salt, SHA-256, with empty info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • long derivedKey, normal salt, SHA-384, with normal info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • long derivedKey, normal salt, SHA-384, with empty info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • long derivedKey, normal salt, SHA-512, with normal info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • long derivedKey, normal salt, SHA-512, with empty info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • long derivedKey, normal salt, SHA-1, with normal info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • long derivedKey, normal salt, SHA-1, with empty info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • long derivedKey, normal salt, SHA-256, with normal info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • long derivedKey, normal salt, SHA-256, with empty info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • long derivedKey, empty salt, SHA-384, with normal info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • long derivedKey, empty salt, SHA-384, with empty info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
  • /WebCryptoAPI/derive_bits_keys/hkdf.https.any.html?1-1000 [wpt.fyi]
    • short derivedKey, normal salt, SHA-384, with normal info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • short derivedKey, normal salt, SHA-384, with empty info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • short derivedKey, normal salt, SHA-512, with normal info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • short derivedKey, normal salt, SHA-512, with empty info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • short derivedKey, normal salt, SHA-1, with normal info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • short derivedKey, normal salt, SHA-1, with empty info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • short derivedKey, normal salt, SHA-256, with normal info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • short derivedKey, normal salt, SHA-256, with empty info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • short derivedKey, empty salt, SHA-384, with normal info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • short derivedKey, empty salt, SHA-384, with empty info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • short derivedKey, empty salt, SHA-512, with normal info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • short derivedKey, empty salt, SHA-512, with empty info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • short derivedKey, empty salt, SHA-1, with normal info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)

CI Results

Ran 9 Firefox configurations based on mozilla-central, and Firefox, Chrome, and Safari on GitHub CI

Total 32 tests and 1001 subtests

Status Summary

Firefox

OK : 32
PASS: 24616
FAIL: 186

Chrome

OK : 32
PASS: 23500
FAIL: 1302

Safari

OK : 32
PASS: 24758
FAIL: 44

Links

Gecko CI (Treeherder)
GitHub PR Head
GitHub PR Base

Details

Firefox-only Failures

  • /WebCryptoAPI/derive_bits_keys/cfrg_curves_bits.https.any.html [wpt.fyi]
    • X25519 key derivation checks for all-zero value result with a key of order 0: FAIL
    • X25519 key derivation checks for all-zero value result with a key of order 1: FAIL
    • X25519 key derivation checks for all-zero value result with a key of order 8: FAIL
    • X25519 key derivation checks for all-zero value result with a key of order p-1 (order 2): FAIL
    • X25519 key derivation checks for all-zero value result with a key of order p (=0, order 4): FAIL
    • X25519 key derivation checks for all-zero value result with a key of order p+1 (=1, order 1): FAIL
    • X25519 good parameters: FAIL
    • X25519 mixed case parameters: FAIL
    • X25519 short result: FAIL
    • X25519 non-multiple of 8 bits: FAIL
    • X25519 no deriveBits usage for base key: FAIL
    • X25519 base key is not a private key: FAIL
    • X25519 public property value is a private key: FAIL
    • X25519 public property value is a secret key: FAIL
    • X25519 asking for too many bits: FAIL
  • /WebCryptoAPI/derive_bits_keys/cfrg_curves_bits.https.any.worker.html [wpt.fyi]
    • X25519 key derivation checks for all-zero value result with a key of order 0: FAIL
    • X25519 key derivation checks for all-zero value result with a key of order 1: FAIL
    • X25519 key derivation checks for all-zero value result with a key of order 8: FAIL
    • X25519 key derivation checks for all-zero value result with a key of order p-1 (order 2): FAIL
    • X25519 key derivation checks for all-zero value result with a key of order p (=0, order 4): FAIL
    • X25519 key derivation checks for all-zero value result with a key of order p+1 (=1, order 1): FAIL
    • X25519 good parameters: FAIL
    • X25519 mixed case parameters: FAIL
    • X25519 short result: FAIL
    • X25519 non-multiple of 8 bits: FAIL
    • X25519 no deriveBits usage for base key: FAIL
    • X25519 base key is not a private key: FAIL
    • X25519 public property value is a private key: FAIL
    • X25519 public property value is a secret key: FAIL
    • X25519 asking for too many bits: FAIL
  • /WebCryptoAPI/derive_bits_keys/derived_bits_length.https.any.html [wpt.fyi]
    • X25519 derivation with 256 as 'length' parameter: FAIL
  • /WebCryptoAPI/derive_bits_keys/derived_bits_length.https.any.worker.html [wpt.fyi]
    • X25519 derivation with 256 as 'length' parameter: FAIL
  • /WebCryptoAPI/derive_bits_keys/ecdh_bits.https.any.html [wpt.fyi]
    • P-521 non-multiple of 8 bits: FAIL
    • P-256 non-multiple of 8 bits: FAIL
    • P-384 non-multiple of 8 bits: FAIL
  • /WebCryptoAPI/derive_bits_keys/ecdh_bits.https.any.worker.html [wpt.fyi]
    • P-521 non-multiple of 8 bits: FAIL
    • P-256 non-multiple of 8 bits: FAIL
    • P-384 non-multiple of 8 bits: FAIL
  • /WebCryptoAPI/derive_bits_keys/hkdf.https.any.html?3001-last [wpt.fyi]
    • empty derivedKey, normal salt, SHA-256, with empty info with non-multiple of 8 length: FAIL
    • empty derivedKey, empty salt, SHA-384, with normal info with non-multiple of 8 length: FAIL
    • empty derivedKey, empty salt, SHA-384, with empty info with non-multiple of 8 length: FAIL
    • empty derivedKey, empty salt, SHA-512, with normal info with non-multiple of 8 length: FAIL
    • empty derivedKey, empty salt, SHA-512, with empty info with non-multiple of 8 length: FAIL
    • empty derivedKey, empty salt, SHA-1, with normal info with non-multiple of 8 length: FAIL
    • empty derivedKey, empty salt, SHA-1, with empty info with non-multiple of 8 length: FAIL
    • empty derivedKey, empty salt, SHA-256, with normal info with non-multiple of 8 length: FAIL
    • empty derivedKey, empty salt, SHA-256, with empty info with non-multiple of 8 length: FAIL
  • /WebCryptoAPI/derive_bits_keys/hkdf.https.any.html?1001-2000 [wpt.fyi]
    • short derivedKey, empty salt, SHA-1, with empty info with non-multiple of 8 length: FAIL
    • short derivedKey, empty salt, SHA-256, with normal info with non-multiple of 8 length: FAIL
    • short derivedKey, empty salt, SHA-256, with empty info with non-multiple of 8 length: FAIL
    • long derivedKey, normal salt, SHA-384, with normal info with non-multiple of 8 length: FAIL
    • long derivedKey, normal salt, SHA-384, with empty info with non-multiple of 8 length: FAIL
    • long derivedKey, normal salt, SHA-512, with normal info with non-multiple of 8 length: FAIL
    • long derivedKey, normal salt, SHA-512, with empty info with non-multiple of 8 length: FAIL
    • long derivedKey, normal salt, SHA-1, with normal info with non-multiple of 8 length: FAIL
    • long derivedKey, normal salt, SHA-1, with empty info with non-multiple of 8 length: FAIL
    • long derivedKey, normal salt, SHA-256, with normal info with non-multiple of 8 length: FAIL
    • long derivedKey, normal salt, SHA-256, with empty info with non-multiple of 8 length: FAIL
    • long derivedKey, empty salt, SHA-384, with normal info with non-multiple of 8 length: FAIL
    • long derivedKey, empty salt, SHA-384, with empty info with non-multiple of 8 length: FAIL
  • /WebCryptoAPI/derive_bits_keys/hkdf.https.any.worker.html?3001-last [wpt.fyi]
    • empty derivedKey, normal salt, SHA-256, with empty info with non-multiple of 8 length: FAIL
    • empty derivedKey, empty salt, SHA-384, with normal info with non-multiple of 8 length: FAIL
    • empty derivedKey, empty salt, SHA-384, with empty info with non-multiple of 8 length: FAIL
    • empty derivedKey, empty salt, SHA-512, with normal info with non-multiple of 8 length: FAIL
    • empty derivedKey, empty salt, SHA-512, with empty info with non-multiple of 8 length: FAIL
    • empty derivedKey, empty salt, SHA-1, with normal info with non-multiple of 8 length: FAIL
    • empty derivedKey, empty salt, SHA-1, with empty info with non-multiple of 8 length: FAIL
    • empty derivedKey, empty salt, SHA-256, with normal info with non-multiple of 8 length: FAIL
    • empty derivedKey, empty salt, SHA-256, with empty info with non-multiple of 8 length: FAIL
  • /WebCryptoAPI/derive_bits_keys/hkdf.https.any.worker.html?1-1000 [wpt.fyi]
    • short derivedKey, normal salt, SHA-384, with normal info with non-multiple of 8 length: FAIL
    • short derivedKey, normal salt, SHA-384, with empty info with non-multiple of 8 length: FAIL
    • short derivedKey, normal salt, SHA-512, with normal info with non-multiple of 8 length: FAIL
    • short derivedKey, normal salt, SHA-512, with empty info with non-multiple of 8 length: FAIL
    • short derivedKey, normal salt, SHA-1, with normal info with non-multiple of 8 length: FAIL
    • short derivedKey, normal salt, SHA-1, with empty info with non-multiple of 8 length: FAIL
    • short derivedKey, normal salt, SHA-256, with normal info with non-multiple of 8 length: FAIL
    • short derivedKey, normal salt, SHA-256, with empty info with non-multiple of 8 length: FAIL
    • short derivedKey, empty salt, SHA-384, with normal info with non-multiple of 8 length: FAIL
    • short derivedKey, empty salt, SHA-384, with empty info with non-multiple of 8 length: FAIL
    • short derivedKey, empty salt, SHA-512, with normal info with non-multiple of 8 length: FAIL
    • short derivedKey, empty salt, SHA-512, with empty info with non-multiple of 8 length: FAIL
    • short derivedKey, empty salt, SHA-1, with normal info with non-multiple of 8 length: FAIL
  • /WebCryptoAPI/derive_bits_keys/hkdf.https.any.worker.html?2001-3000 [wpt.fyi]
    • long derivedKey, empty salt, SHA-512, with normal info with non-multiple of 8 length: FAIL
    • long derivedKey, empty salt, SHA-512, with empty info with non-multiple of 8 length: FAIL
    • long derivedKey, empty salt, SHA-1, with normal info with non-multiple of 8 length: FAIL
    • long derivedKey, empty salt, SHA-1, with empty info with non-multiple of 8 length: FAIL
    • long derivedKey, empty salt, SHA-256, with normal info with non-multiple of 8 length: FAIL
    • long derivedKey, empty salt, SHA-256, with empty info with non-multiple of 8 length: FAIL
    • empty derivedKey, normal salt, SHA-384, with normal info with non-multiple of 8 length: FAIL
    • empty derivedKey, normal salt, SHA-384, with empty info with non-multiple of 8 length: FAIL
    • empty derivedKey, normal salt, SHA-512, with normal info with non-multiple of 8 length: FAIL
    • empty derivedKey, normal salt, SHA-512, with empty info with non-multiple of 8 length: FAIL
    • empty derivedKey, normal salt, SHA-1, with normal info with non-multiple of 8 length: FAIL
    • empty derivedKey, normal salt, SHA-1, with empty info with non-multiple of 8 length: FAIL
    • empty derivedKey, normal salt, SHA-256, with normal info with non-multiple of 8 length: FAIL
  • /WebCryptoAPI/derive_bits_keys/hkdf.https.any.html?2001-3000 [wpt.fyi]
    • long derivedKey, empty salt, SHA-512, with normal info with non-multiple of 8 length: FAIL
    • long derivedKey, empty salt, SHA-512, with empty info with non-multiple of 8 length: FAIL
    • long derivedKey, empty salt, SHA-1, with normal info with non-multiple of 8 length: FAIL
    • long derivedKey, empty salt, SHA-1, with empty info with non-multiple of 8 length: FAIL
    • long derivedKey, empty salt, SHA-256, with normal info with non-multiple of 8 length: FAIL
    • long derivedKey, empty salt, SHA-256, with empty info with non-multiple of 8 length: FAIL
    • empty derivedKey, normal salt, SHA-384, with normal info with non-multiple of 8 length: FAIL
    • empty derivedKey, normal salt, SHA-384, with empty info with non-multiple of 8 length: FAIL
    • empty derivedKey, normal salt, SHA-512, with normal info with non-multiple of 8 length: FAIL
    • empty derivedKey, normal salt, SHA-512, with empty info with non-multiple of 8 length: FAIL
    • empty derivedKey, normal salt, SHA-1, with normal info with non-multiple of 8 length: FAIL
    • empty derivedKey, normal salt, SHA-1, with empty info with non-multiple of 8 length: FAIL
    • empty derivedKey, normal salt, SHA-256, with normal info with non-multiple of 8 length: FAIL
  • /WebCryptoAPI/derive_bits_keys/hkdf.https.any.worker.html?1001-2000 [wpt.fyi]
    • short derivedKey, empty salt, SHA-1, with empty info with non-multiple of 8 length: FAIL
    • short derivedKey, empty salt, SHA-256, with normal info with non-multiple of 8 length: FAIL
    • short derivedKey, empty salt, SHA-256, with empty info with non-multiple of 8 length: FAIL
    • long derivedKey, normal salt, SHA-384, with normal info with non-multiple of 8 length: FAIL
    • long derivedKey, normal salt, SHA-384, with empty info with non-multiple of 8 length: FAIL
    • long derivedKey, normal salt, SHA-512, with normal info with non-multiple of 8 length: FAIL
    • long derivedKey, normal salt, SHA-512, with empty info with non-multiple of 8 length: FAIL
    • long derivedKey, normal salt, SHA-1, with normal info with non-multiple of 8 length: FAIL
    • long derivedKey, normal salt, SHA-1, with empty info with non-multiple of 8 length: FAIL
    • long derivedKey, normal salt, SHA-256, with normal info with non-multiple of 8 length: FAIL
    • long derivedKey, normal salt, SHA-256, with empty info with non-multiple of 8 length: FAIL
    • long derivedKey, empty salt, SHA-384, with normal info with non-multiple of 8 length: FAIL
    • long derivedKey, empty salt, SHA-384, with empty info with non-multiple of 8 length: FAIL
  • /WebCryptoAPI/derive_bits_keys/hkdf.https.any.html?1-1000 [wpt.fyi]
    • short derivedKey, normal salt, SHA-384, with normal info with non-multiple of 8 length: FAIL
    • short derivedKey, normal salt, SHA-384, with empty info with non-multiple of 8 length: FAIL
    • short derivedKey, normal salt, SHA-512, with normal info with non-multiple of 8 length: FAIL
    • short derivedKey, normal salt, SHA-512, with empty info with non-multiple of 8 length: FAIL
    • short derivedKey, normal salt, SHA-1, with normal info with non-multiple of 8 length: FAIL
    • short derivedKey, normal salt, SHA-1, with empty info with non-multiple of 8 length: FAIL
    • short derivedKey, normal salt, SHA-256, with normal info with non-multiple of 8 length: FAIL
    • short derivedKey, normal salt, SHA-256, with empty info with non-multiple of 8 length: FAIL
    • short derivedKey, empty salt, SHA-384, with normal info with non-multiple of 8 length: FAIL
    • short derivedKey, empty salt, SHA-384, with empty info with non-multiple of 8 length: FAIL
    • short derivedKey, empty salt, SHA-512, with normal info with non-multiple of 8 length: FAIL
    • short derivedKey, empty salt, SHA-512, with empty info with non-multiple of 8 length: FAIL
    • short derivedKey, empty salt, SHA-1, with normal info with non-multiple of 8 length: FAIL

New Tests That Don't Pass

  • /WebCryptoAPI/derive_bits_keys/cfrg_curves_bits.https.any.html [wpt.fyi]
    • X25519 key derivation checks for all-zero value result with a key of order 0: FAIL (Chrome: PASS, Safari: PASS)
    • X25519 key derivation checks for all-zero value result with a key of order 1: FAIL (Chrome: PASS, Safari: PASS)
    • X25519 key derivation checks for all-zero value result with a key of order 8: FAIL (Chrome: PASS, Safari: PASS)
    • X25519 key derivation checks for all-zero value result with a key of order p-1 (order 2): FAIL (Chrome: PASS, Safari: PASS)
    • X25519 key derivation checks for all-zero value result with a key of order p (=0, order 4): FAIL (Chrome: PASS, Safari: PASS)
    • X25519 key derivation checks for all-zero value result with a key of order p+1 (=1, order 1): FAIL (Chrome: PASS, Safari: PASS)
    • X448 key derivation checks for all-zero value result with a key of order 0: FAIL (Chrome: FAIL, Safari: FAIL)
    • X448 key derivation checks for all-zero value result with a key of order 1: FAIL (Chrome: FAIL, Safari: FAIL)
    • X448 key derivation checks for all-zero value result with a key of order p-1 (order 2): FAIL (Chrome: FAIL, Safari: FAIL)
    • X448 key derivation checks for all-zero value result with a key of order p (=0, order 4): FAIL (Chrome: FAIL, Safari: FAIL)
    • X448 key derivation checks for all-zero value result with a key of order p+1 (=1, order 1): FAIL (Chrome: FAIL, Safari: FAIL)
    • X25519 good parameters: FAIL (Chrome: PASS, Safari: PASS)
    • X25519 mixed case parameters: FAIL (Chrome: PASS, Safari: PASS)
    • X25519 short result: FAIL (Chrome: PASS, Safari: PASS)
    • X25519 non-multiple of 8 bits: FAIL (Chrome: PASS, Safari: PASS)
    • X25519 mismatched algorithms: FAIL (Chrome: FAIL, Safari: FAIL)
    • X25519 no deriveBits usage for base key: FAIL (Chrome: PASS, Safari: PASS)
    • X25519 base key is not a private key: FAIL (Chrome: PASS, Safari: PASS)
    • X25519 public property value is a private key: FAIL (Chrome: PASS, Safari: PASS)
    • X25519 public property value is a secret key: FAIL (Chrome: PASS, Safari: PASS)
    • X25519 asking for too many bits: FAIL (Chrome: PASS, Safari: PASS)
    • X448 good parameters: FAIL (Chrome: FAIL, Safari: FAIL)
    • X448 mixed case parameters: FAIL (Chrome: FAIL, Safari: FAIL)
    • X448 short result: FAIL (Chrome: FAIL, Safari: FAIL)
    • X448 non-multiple of 8 bits: FAIL (Chrome: FAIL, Safari: FAIL)
    • X448 mismatched algorithms: FAIL (Chrome: FAIL, Safari: FAIL)
    • X448 no deriveBits usage for base key: FAIL (Chrome: FAIL, Safari: FAIL)
    • X448 base key is not a private key: FAIL (Chrome: FAIL, Safari: FAIL)
    • X448 public property value is a private key: FAIL (Chrome: FAIL, Safari: FAIL)
    • X448 public property value is a secret key: FAIL (Chrome: FAIL, Safari: FAIL)
    • X448 asking for too many bits: FAIL (Chrome: FAIL, Safari: FAIL)
  • /WebCryptoAPI/derive_bits_keys/cfrg_curves_bits.https.any.worker.html [wpt.fyi]
    • X25519 key derivation checks for all-zero value result with a key of order 0: FAIL (Chrome: PASS, Safari: PASS)
    • X25519 key derivation checks for all-zero value result with a key of order 1: FAIL (Chrome: PASS, Safari: PASS)
    • X25519 key derivation checks for all-zero value result with a key of order 8: FAIL (Chrome: PASS, Safari: PASS)
    • X25519 key derivation checks for all-zero value result with a key of order p-1 (order 2): FAIL (Chrome: PASS, Safari: PASS)
    • X25519 key derivation checks for all-zero value result with a key of order p (=0, order 4): FAIL (Chrome: PASS, Safari: PASS)
    • X25519 key derivation checks for all-zero value result with a key of order p+1 (=1, order 1): FAIL (Chrome: PASS, Safari: PASS)
    • X448 key derivation checks for all-zero value result with a key of order 0: FAIL (Chrome: FAIL, Safari: FAIL)
    • X448 key derivation checks for all-zero value result with a key of order 1: FAIL (Chrome: FAIL, Safari: FAIL)
    • X448 key derivation checks for all-zero value result with a key of order p-1 (order 2): FAIL (Chrome: FAIL, Safari: FAIL)
    • X448 key derivation checks for all-zero value result with a key of order p (=0, order 4): FAIL (Chrome: FAIL, Safari: FAIL)
    • X448 key derivation checks for all-zero value result with a key of order p+1 (=1, order 1): FAIL (Chrome: FAIL, Safari: FAIL)
    • X25519 good parameters: FAIL (Chrome: PASS, Safari: PASS)
    • X25519 mixed case parameters: FAIL (Chrome: PASS, Safari: PASS)
    • X25519 short result: FAIL (Chrome: PASS, Safari: PASS)
    • X25519 non-multiple of 8 bits: FAIL (Chrome: PASS, Safari: PASS)
    • X25519 mismatched algorithms: FAIL (Chrome: FAIL, Safari: FAIL)
    • X25519 no deriveBits usage for base key: FAIL (Chrome: PASS, Safari: PASS)
    • X25519 base key is not a private key: FAIL (Chrome: PASS, Safari: PASS)
    • X25519 public property value is a private key: FAIL (Chrome: PASS, Safari: PASS)
    • X25519 public property value is a secret key: FAIL (Chrome: PASS, Safari: PASS)
    • X25519 asking for too many bits: FAIL (Chrome: PASS, Safari: PASS)
    • X448 good parameters: FAIL (Chrome: FAIL, Safari: FAIL)
    • X448 mixed case parameters: FAIL (Chrome: FAIL, Safari: FAIL)
    • X448 short result: FAIL (Chrome: FAIL, Safari: FAIL)
    • X448 non-multiple of 8 bits: FAIL (Chrome: FAIL, Safari: FAIL)
    • X448 mismatched algorithms: FAIL (Chrome: FAIL, Safari: FAIL)
    • X448 no deriveBits usage for base key: FAIL (Chrome: FAIL, Safari: FAIL)
    • X448 base key is not a private key: FAIL (Chrome: FAIL, Safari: FAIL)
    • X448 public property value is a private key: FAIL (Chrome: FAIL, Safari: FAIL)
    • X448 public property value is a secret key: FAIL (Chrome: FAIL, Safari: FAIL)
    • X448 asking for too many bits: FAIL (Chrome: FAIL, Safari: FAIL)
  • /WebCryptoAPI/derive_bits_keys/derived_bits_length.https.any.html [wpt.fyi]
    • HKDF derivation with omitted as 'length' parameter: FAIL (Chrome: FAIL, Safari: FAIL)
    • PBKDF2 derivation with omitted as 'length' parameter: FAIL (Chrome: FAIL, Safari: FAIL)
    • ECDH derivation with 0 as 'length' parameter: FAIL (Chrome: PASS, Safari: FAIL)
    • ECDH derivation with null as 'length' parameter: FAIL (Chrome: FAIL, Safari: PASS)
    • ECDH derivation with undefined as 'length' parameter: FAIL (Chrome: FAIL, Safari: PASS)
    • ECDH derivation with omitted as 'length' parameter: FAIL (Chrome: FAIL, Safari: FAIL)
    • X25519 derivation with 256 as 'length' parameter: FAIL (Chrome: PASS, Safari: PASS)
    • X25519 derivation with 0 as 'length' parameter: FAIL (Chrome: PASS, Safari: FAIL)
    • X25519 derivation with null as 'length' parameter: FAIL (Chrome: FAIL, Safari: PASS)
    • X25519 derivation with undefined as 'length' parameter: FAIL (Chrome: FAIL, Safari: PASS)
    • X25519 derivation with omitted as 'length' parameter: FAIL (Chrome: FAIL, Safari: FAIL)
  • /WebCryptoAPI/derive_bits_keys/derived_bits_length.https.any.worker.html [wpt.fyi]
    • HKDF derivation with omitted as 'length' parameter: FAIL (Chrome: FAIL, Safari: FAIL)
    • PBKDF2 derivation with omitted as 'length' parameter: FAIL (Chrome: FAIL, Safari: FAIL)
    • ECDH derivation with 0 as 'length' parameter: FAIL (Chrome: PASS, Safari: FAIL)
    • ECDH derivation with null as 'length' parameter: FAIL (Chrome: FAIL, Safari: PASS)
    • ECDH derivation with undefined as 'length' parameter: FAIL (Chrome: FAIL, Safari: PASS)
    • ECDH derivation with omitted as 'length' parameter: FAIL (Chrome: FAIL, Safari: FAIL)
    • X25519 derivation with 256 as 'length' parameter: FAIL (Chrome: PASS, Safari: PASS)
    • X25519 derivation with 0 as 'length' parameter: FAIL (Chrome: PASS, Safari: FAIL)
    • X25519 derivation with null as 'length' parameter: FAIL (Chrome: FAIL, Safari: PASS)
    • X25519 derivation with undefined as 'length' parameter: FAIL (Chrome: FAIL, Safari: PASS)
    • X25519 derivation with omitted as 'length' parameter: FAIL (Chrome: FAIL, Safari: FAIL)
  • /WebCryptoAPI/derive_bits_keys/ecdh_bits.https.any.html [wpt.fyi]
    • P-521 non-multiple of 8 bits: FAIL (Chrome: PASS, Safari: PASS)
    • P-256 non-multiple of 8 bits: FAIL (Chrome: PASS, Safari: PASS)
    • P-384 non-multiple of 8 bits: FAIL (Chrome: PASS, Safari: PASS)
  • /WebCryptoAPI/derive_bits_keys/ecdh_bits.https.any.worker.html [wpt.fyi]
    • P-521 non-multiple of 8 bits: FAIL (Chrome: PASS, Safari: PASS)
    • P-256 non-multiple of 8 bits: FAIL (Chrome: PASS, Safari: PASS)
    • P-384 non-multiple of 8 bits: FAIL (Chrome: PASS, Safari: PASS)
  • /WebCryptoAPI/derive_bits_keys/hkdf.https.any.html?3001-last [wpt.fyi]
    • empty derivedKey, normal salt, SHA-256, with empty info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • empty derivedKey, empty salt, SHA-384, with normal info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • empty derivedKey, empty salt, SHA-384, with empty info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • empty derivedKey, empty salt, SHA-512, with normal info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • empty derivedKey, empty salt, SHA-512, with empty info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • empty derivedKey, empty salt, SHA-1, with normal info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • empty derivedKey, empty salt, SHA-1, with empty info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • empty derivedKey, empty salt, SHA-256, with normal info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • empty derivedKey, empty salt, SHA-256, with empty info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
  • /WebCryptoAPI/derive_bits_keys/hkdf.https.any.html?1001-2000 [wpt.fyi]
    • short derivedKey, empty salt, SHA-1, with empty info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • short derivedKey, empty salt, SHA-256, with normal info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • short derivedKey, empty salt, SHA-256, with empty info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • long derivedKey, normal salt, SHA-384, with normal info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • long derivedKey, normal salt, SHA-384, with empty info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • long derivedKey, normal salt, SHA-512, with normal info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • long derivedKey, normal salt, SHA-512, with empty info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • long derivedKey, normal salt, SHA-1, with normal info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • long derivedKey, normal salt, SHA-1, with empty info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • long derivedKey, normal salt, SHA-256, with normal info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • long derivedKey, normal salt, SHA-256, with empty info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • long derivedKey, empty salt, SHA-384, with normal info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • long derivedKey, empty salt, SHA-384, with empty info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
  • /WebCryptoAPI/derive_bits_keys/hkdf.https.any.worker.html?3001-last [wpt.fyi]
    • empty derivedKey, normal salt, SHA-256, with empty info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • empty derivedKey, empty salt, SHA-384, with normal info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • empty derivedKey, empty salt, SHA-384, with empty info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • empty derivedKey, empty salt, SHA-512, with normal info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • empty derivedKey, empty salt, SHA-512, with empty info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • empty derivedKey, empty salt, SHA-1, with normal info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • empty derivedKey, empty salt, SHA-1, with empty info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • empty derivedKey, empty salt, SHA-256, with normal info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • empty derivedKey, empty salt, SHA-256, with empty info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
  • /WebCryptoAPI/derive_bits_keys/hkdf.https.any.worker.html?1-1000 [wpt.fyi]
    • short derivedKey, normal salt, SHA-384, with normal info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • short derivedKey, normal salt, SHA-384, with empty info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • short derivedKey, normal salt, SHA-512, with normal info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • short derivedKey, normal salt, SHA-512, with empty info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • short derivedKey, normal salt, SHA-1, with normal info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • short derivedKey, normal salt, SHA-1, with empty info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • short derivedKey, normal salt, SHA-256, with normal info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • short derivedKey, normal salt, SHA-256, with empty info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • short derivedKey, empty salt, SHA-384, with normal info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • short derivedKey, empty salt, SHA-384, with empty info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • short derivedKey, empty salt, SHA-512, with normal info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • short derivedKey, empty salt, SHA-512, with empty info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • short derivedKey, empty salt, SHA-1, with normal info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
  • /WebCryptoAPI/derive_bits_keys/hkdf.https.any.worker.html?2001-3000 [wpt.fyi]
    • long derivedKey, empty salt, SHA-512, with normal info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • long derivedKey, empty salt, SHA-512, with empty info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • long derivedKey, empty salt, SHA-1, with normal info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • long derivedKey, empty salt, SHA-1, with empty info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • long derivedKey, empty salt, SHA-256, with normal info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • long derivedKey, empty salt, SHA-256, with empty info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • empty derivedKey, normal salt, SHA-384, with normal info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • empty derivedKey, normal salt, SHA-384, with empty info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • empty derivedKey, normal salt, SHA-512, with normal info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • empty derivedKey, normal salt, SHA-512, with empty info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • empty derivedKey, normal salt, SHA-1, with normal info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • empty derivedKey, normal salt, SHA-1, with empty info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • empty derivedKey, normal salt, SHA-256, with normal info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
  • /WebCryptoAPI/derive_bits_keys/hkdf.https.any.html?2001-3000 [wpt.fyi]
    • long derivedKey, empty salt, SHA-512, with normal info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • long derivedKey, empty salt, SHA-512, with empty info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • long derivedKey, empty salt, SHA-1, with normal info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • long derivedKey, empty salt, SHA-1, with empty info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • long derivedKey, empty salt, SHA-256, with normal info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • long derivedKey, empty salt, SHA-256, with empty info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • empty derivedKey, normal salt, SHA-384, with normal info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • empty derivedKey, normal salt, SHA-384, with empty info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • empty derivedKey, normal salt, SHA-512, with normal info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • empty derivedKey, normal salt, SHA-512, with empty info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • empty derivedKey, normal salt, SHA-1, with normal info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • empty derivedKey, normal salt, SHA-1, with empty info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • empty derivedKey, normal salt, SHA-256, with normal info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
  • /WebCryptoAPI/derive_bits_keys/hkdf.https.any.worker.html?1001-2000 [wpt.fyi]
    • short derivedKey, empty salt, SHA-1, with empty info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • short derivedKey, empty salt, SHA-256, with normal info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • short derivedKey, empty salt, SHA-256, with empty info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • long derivedKey, normal salt, SHA-384, with normal info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • long derivedKey, normal salt, SHA-384, with empty info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • long derivedKey, normal salt, SHA-512, with normal info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • long derivedKey, normal salt, SHA-512, with empty info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • long derivedKey, normal salt, SHA-1, with normal info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • long derivedKey, normal salt, SHA-1, with empty info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • long derivedKey, normal salt, SHA-256, with normal info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • long derivedKey, normal salt, SHA-256, with empty info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • long derivedKey, empty salt, SHA-384, with normal info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • long derivedKey, empty salt, SHA-384, with empty info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
  • /WebCryptoAPI/derive_bits_keys/hkdf.https.any.html?1-1000 [wpt.fyi]
    • short derivedKey, normal salt, SHA-384, with normal info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • short derivedKey, normal salt, SHA-384, with empty info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • short derivedKey, normal salt, SHA-512, with normal info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • short derivedKey, normal salt, SHA-512, with empty info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • short derivedKey, normal salt, SHA-1, with normal info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • short derivedKey, normal salt, SHA-1, with empty info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • short derivedKey, normal salt, SHA-256, with normal info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • short derivedKey, normal salt, SHA-256, with empty info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • short derivedKey, empty salt, SHA-384, with normal info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • short derivedKey, empty salt, SHA-384, with empty info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • short derivedKey, empty salt, SHA-512, with normal info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • short derivedKey, empty salt, SHA-512, with empty info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • short derivedKey, empty salt, SHA-1, with normal info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)

CI Results

Ran 9 Firefox configurations based on mozilla-central, and Firefox, Chrome, and Safari on GitHub CI

Total 32 tests and 1001 subtests

Status Summary

Firefox

OK : 32
PASS: 24616
FAIL: 186

Chrome

OK : 32
PASS: 23500
FAIL: 1302

Safari

OK : 32
PASS: 24758
FAIL: 44

Links

Gecko CI (Treeherder)
GitHub PR Head
GitHub PR Base

Details

Firefox-only Failures

  • /WebCryptoAPI/derive_bits_keys/cfrg_curves_bits.https.any.html [wpt.fyi]
    • X25519 key derivation checks for all-zero value result with a key of order 0: FAIL
    • X25519 key derivation checks for all-zero value result with a key of order 1: FAIL
    • X25519 key derivation checks for all-zero value result with a key of order 8: FAIL
    • X25519 key derivation checks for all-zero value result with a key of order p-1 (order 2): FAIL
    • X25519 key derivation checks for all-zero value result with a key of order p (=0, order 4): FAIL
    • X25519 key derivation checks for all-zero value result with a key of order p+1 (=1, order 1): FAIL
    • X25519 good parameters: FAIL
    • X25519 mixed case parameters: FAIL
    • X25519 short result: FAIL
    • X25519 non-multiple of 8 bits: FAIL
    • X25519 no deriveBits usage for base key: FAIL
    • X25519 base key is not a private key: FAIL
    • X25519 public property value is a private key: FAIL
    • X25519 public property value is a secret key: FAIL
    • X25519 asking for too many bits: FAIL
  • /WebCryptoAPI/derive_bits_keys/cfrg_curves_bits.https.any.worker.html [wpt.fyi]
    • X25519 key derivation checks for all-zero value result with a key of order 0: FAIL
    • X25519 key derivation checks for all-zero value result with a key of order 1: FAIL
    • X25519 key derivation checks for all-zero value result with a key of order 8: FAIL
    • X25519 key derivation checks for all-zero value result with a key of order p-1 (order 2): FAIL
    • X25519 key derivation checks for all-zero value result with a key of order p (=0, order 4): FAIL
    • X25519 key derivation checks for all-zero value result with a key of order p+1 (=1, order 1): FAIL
    • X25519 good parameters: FAIL
    • X25519 mixed case parameters: FAIL
    • X25519 short result: FAIL
    • X25519 non-multiple of 8 bits: FAIL
    • X25519 no deriveBits usage for base key: FAIL
    • X25519 base key is not a private key: FAIL
    • X25519 public property value is a private key: FAIL
    • X25519 public property value is a secret key: FAIL
    • X25519 asking for too many bits: FAIL
  • /WebCryptoAPI/derive_bits_keys/derived_bits_length.https.any.html [wpt.fyi]
    • X25519 derivation with 256 as 'length' parameter: FAIL
  • /WebCryptoAPI/derive_bits_keys/derived_bits_length.https.any.worker.html [wpt.fyi]
    • X25519 derivation with 256 as 'length' parameter: FAIL
  • /WebCryptoAPI/derive_bits_keys/ecdh_bits.https.any.html [wpt.fyi]
    • P-521 non-multiple of 8 bits: FAIL
    • P-256 non-multiple of 8 bits: FAIL
    • P-384 non-multiple of 8 bits: FAIL
  • /WebCryptoAPI/derive_bits_keys/ecdh_bits.https.any.worker.html [wpt.fyi]
    • P-521 non-multiple of 8 bits: FAIL
    • P-256 non-multiple of 8 bits: FAIL
    • P-384 non-multiple of 8 bits: FAIL
  • /WebCryptoAPI/derive_bits_keys/hkdf.https.any.html?3001-last [wpt.fyi]
    • empty derivedKey, normal salt, SHA-256, with empty info with non-multiple of 8 length: FAIL
    • empty derivedKey, empty salt, SHA-384, with normal info with non-multiple of 8 length: FAIL
    • empty derivedKey, empty salt, SHA-384, with empty info with non-multiple of 8 length: FAIL
    • empty derivedKey, empty salt, SHA-512, with normal info with non-multiple of 8 length: FAIL
    • empty derivedKey, empty salt, SHA-512, with empty info with non-multiple of 8 length: FAIL
    • empty derivedKey, empty salt, SHA-1, with normal info with non-multiple of 8 length: FAIL
    • empty derivedKey, empty salt, SHA-1, with empty info with non-multiple of 8 length: FAIL
    • empty derivedKey, empty salt, SHA-256, with normal info with non-multiple of 8 length: FAIL
    • empty derivedKey, empty salt, SHA-256, with empty info with non-multiple of 8 length: FAIL
  • /WebCryptoAPI/derive_bits_keys/hkdf.https.any.html?1001-2000 [wpt.fyi]
    • short derivedKey, empty salt, SHA-1, with empty info with non-multiple of 8 length: FAIL
    • short derivedKey, empty salt, SHA-256, with normal info with non-multiple of 8 length: FAIL
    • short derivedKey, empty salt, SHA-256, with empty info with non-multiple of 8 length: FAIL
    • long derivedKey, normal salt, SHA-384, with normal info with non-multiple of 8 length: FAIL
    • long derivedKey, normal salt, SHA-384, with empty info with non-multiple of 8 length: FAIL
    • long derivedKey, normal salt, SHA-512, with normal info with non-multiple of 8 length: FAIL
    • long derivedKey, normal salt, SHA-512, with empty info with non-multiple of 8 length: FAIL
    • long derivedKey, normal salt, SHA-1, with normal info with non-multiple of 8 length: FAIL
    • long derivedKey, normal salt, SHA-1, with empty info with non-multiple of 8 length: FAIL
    • long derivedKey, normal salt, SHA-256, with normal info with non-multiple of 8 length: FAIL
    • long derivedKey, normal salt, SHA-256, with empty info with non-multiple of 8 length: FAIL
    • long derivedKey, empty salt, SHA-384, with normal info with non-multiple of 8 length: FAIL
    • long derivedKey, empty salt, SHA-384, with empty info with non-multiple of 8 length: FAIL
  • /WebCryptoAPI/derive_bits_keys/hkdf.https.any.worker.html?3001-last [wpt.fyi]
    • empty derivedKey, normal salt, SHA-256, with empty info with non-multiple of 8 length: FAIL
    • empty derivedKey, empty salt, SHA-384, with normal info with non-multiple of 8 length: FAIL
    • empty derivedKey, empty salt, SHA-384, with empty info with non-multiple of 8 length: FAIL
    • empty derivedKey, empty salt, SHA-512, with normal info with non-multiple of 8 length: FAIL
    • empty derivedKey, empty salt, SHA-512, with empty info with non-multiple of 8 length: FAIL
    • empty derivedKey, empty salt, SHA-1, with normal info with non-multiple of 8 length: FAIL
    • empty derivedKey, empty salt, SHA-1, with empty info with non-multiple of 8 length: FAIL
    • empty derivedKey, empty salt, SHA-256, with normal info with non-multiple of 8 length: FAIL
    • empty derivedKey, empty salt, SHA-256, with empty info with non-multiple of 8 length: FAIL
  • /WebCryptoAPI/derive_bits_keys/hkdf.https.any.worker.html?1-1000 [wpt.fyi]
    • short derivedKey, normal salt, SHA-384, with normal info with non-multiple of 8 length: FAIL
    • short derivedKey, normal salt, SHA-384, with empty info with non-multiple of 8 length: FAIL
    • short derivedKey, normal salt, SHA-512, with normal info with non-multiple of 8 length: FAIL
    • short derivedKey, normal salt, SHA-512, with empty info with non-multiple of 8 length: FAIL
    • short derivedKey, normal salt, SHA-1, with normal info with non-multiple of 8 length: FAIL
    • short derivedKey, normal salt, SHA-1, with empty info with non-multiple of 8 length: FAIL
    • short derivedKey, normal salt, SHA-256, with normal info with non-multiple of 8 length: FAIL
    • short derivedKey, normal salt, SHA-256, with empty info with non-multiple of 8 length: FAIL
    • short derivedKey, empty salt, SHA-384, with normal info with non-multiple of 8 length: FAIL
    • short derivedKey, empty salt, SHA-384, with empty info with non-multiple of 8 length: FAIL
    • short derivedKey, empty salt, SHA-512, with normal info with non-multiple of 8 length: FAIL
    • short derivedKey, empty salt, SHA-512, with empty info with non-multiple of 8 length: FAIL
    • short derivedKey, empty salt, SHA-1, with normal info with non-multiple of 8 length: FAIL
  • /WebCryptoAPI/derive_bits_keys/hkdf.https.any.worker.html?2001-3000 [wpt.fyi]
    • long derivedKey, empty salt, SHA-512, with normal info with non-multiple of 8 length: FAIL
    • long derivedKey, empty salt, SHA-512, with empty info with non-multiple of 8 length: FAIL
    • long derivedKey, empty salt, SHA-1, with normal info with non-multiple of 8 length: FAIL
    • long derivedKey, empty salt, SHA-1, with empty info with non-multiple of 8 length: FAIL
    • long derivedKey, empty salt, SHA-256, with normal info with non-multiple of 8 length: FAIL
    • long derivedKey, empty salt, SHA-256, with empty info with non-multiple of 8 length: FAIL
    • empty derivedKey, normal salt, SHA-384, with normal info with non-multiple of 8 length: FAIL
    • empty derivedKey, normal salt, SHA-384, with empty info with non-multiple of 8 length: FAIL
    • empty derivedKey, normal salt, SHA-512, with normal info with non-multiple of 8 length: FAIL
    • empty derivedKey, normal salt, SHA-512, with empty info with non-multiple of 8 length: FAIL
    • empty derivedKey, normal salt, SHA-1, with normal info with non-multiple of 8 length: FAIL
    • empty derivedKey, normal salt, SHA-1, with empty info with non-multiple of 8 length: FAIL
    • empty derivedKey, normal salt, SHA-256, with normal info with non-multiple of 8 length: FAIL
  • /WebCryptoAPI/derive_bits_keys/hkdf.https.any.html?2001-3000 [wpt.fyi]
    • long derivedKey, empty salt, SHA-512, with normal info with non-multiple of 8 length: FAIL
    • long derivedKey, empty salt, SHA-512, with empty info with non-multiple of 8 length: FAIL
    • long derivedKey, empty salt, SHA-1, with normal info with non-multiple of 8 length: FAIL
    • long derivedKey, empty salt, SHA-1, with empty info with non-multiple of 8 length: FAIL
    • long derivedKey, empty salt, SHA-256, with normal info with non-multiple of 8 length: FAIL
    • long derivedKey, empty salt, SHA-256, with empty info with non-multiple of 8 length: FAIL
    • empty derivedKey, normal salt, SHA-384, with normal info with non-multiple of 8 length: FAIL
    • empty derivedKey, normal salt, SHA-384, with empty info with non-multiple of 8 length: FAIL
    • empty derivedKey, normal salt, SHA-512, with normal info with non-multiple of 8 length: FAIL
    • empty derivedKey, normal salt, SHA-512, with empty info with non-multiple of 8 length: FAIL
    • empty derivedKey, normal salt, SHA-1, with normal info with non-multiple of 8 length: FAIL
    • empty derivedKey, normal salt, SHA-1, with empty info with non-multiple of 8 length: FAIL
    • empty derivedKey, normal salt, SHA-256, with normal info with non-multiple of 8 length: FAIL
  • /WebCryptoAPI/derive_bits_keys/hkdf.https.any.worker.html?1001-2000 [wpt.fyi]
    • short derivedKey, empty salt, SHA-1, with empty info with non-multiple of 8 length: FAIL
    • short derivedKey, empty salt, SHA-256, with normal info with non-multiple of 8 length: FAIL
    • short derivedKey, empty salt, SHA-256, with empty info with non-multiple of 8 length: FAIL
    • long derivedKey, normal salt, SHA-384, with normal info with non-multiple of 8 length: FAIL
    • long derivedKey, normal salt, SHA-384, with empty info with non-multiple of 8 length: FAIL
    • long derivedKey, normal salt, SHA-512, with normal info with non-multiple of 8 length: FAIL
    • long derivedKey, normal salt, SHA-512, with empty info with non-multiple of 8 length: FAIL
    • long derivedKey, normal salt, SHA-1, with normal info with non-multiple of 8 length: FAIL
    • long derivedKey, normal salt, SHA-1, with empty info with non-multiple of 8 length: FAIL
    • long derivedKey, normal salt, SHA-256, with normal info with non-multiple of 8 length: FAIL
    • long derivedKey, normal salt, SHA-256, with empty info with non-multiple of 8 length: FAIL
    • long derivedKey, empty salt, SHA-384, with normal info with non-multiple of 8 length: FAIL
    • long derivedKey, empty salt, SHA-384, with empty info with non-multiple of 8 length: FAIL
  • /WebCryptoAPI/derive_bits_keys/hkdf.https.any.html?1-1000 [wpt.fyi]
    • short derivedKey, normal salt, SHA-384, with normal info with non-multiple of 8 length: FAIL
    • short derivedKey, normal salt, SHA-384, with empty info with non-multiple of 8 length: FAIL
    • short derivedKey, normal salt, SHA-512, with normal info with non-multiple of 8 length: FAIL
    • short derivedKey, normal salt, SHA-512, with empty info with non-multiple of 8 length: FAIL
    • short derivedKey, normal salt, SHA-1, with normal info with non-multiple of 8 length: FAIL
    • short derivedKey, normal salt, SHA-1, with empty info with non-multiple of 8 length: FAIL
    • short derivedKey, normal salt, SHA-256, with normal info with non-multiple of 8 length: FAIL
    • short derivedKey, normal salt, SHA-256, with empty info with non-multiple of 8 length: FAIL
    • short derivedKey, empty salt, SHA-384, with normal info with non-multiple of 8 length: FAIL
    • short derivedKey, empty salt, SHA-384, with empty info with non-multiple of 8 length: FAIL
    • short derivedKey, empty salt, SHA-512, with normal info with non-multiple of 8 length: FAIL
    • short derivedKey, empty salt, SHA-512, with empty info with non-multiple of 8 length: FAIL
    • short derivedKey, empty salt, SHA-1, with normal info with non-multiple of 8 length: FAIL

New Tests That Don't Pass

  • /WebCryptoAPI/derive_bits_keys/cfrg_curves_bits.https.any.html [wpt.fyi]
    • X25519 key derivation checks for all-zero value result with a key of order 0: FAIL (Chrome: PASS, Safari: PASS)
    • X25519 key derivation checks for all-zero value result with a key of order 1: FAIL (Chrome: PASS, Safari: PASS)
    • X25519 key derivation checks for all-zero value result with a key of order 8: FAIL (Chrome: PASS, Safari: PASS)
    • X25519 key derivation checks for all-zero value result with a key of order p-1 (order 2): FAIL (Chrome: PASS, Safari: PASS)
    • X25519 key derivation checks for all-zero value result with a key of order p (=0, order 4): FAIL (Chrome: PASS, Safari: PASS)
    • X25519 key derivation checks for all-zero value result with a key of order p+1 (=1, order 1): FAIL (Chrome: PASS, Safari: PASS)
    • X448 key derivation checks for all-zero value result with a key of order 0: FAIL (Chrome: FAIL, Safari: FAIL)
    • X448 key derivation checks for all-zero value result with a key of order 1: FAIL (Chrome: FAIL, Safari: FAIL)
    • X448 key derivation checks for all-zero value result with a key of order p-1 (order 2): FAIL (Chrome: FAIL, Safari: FAIL)
    • X448 key derivation checks for all-zero value result with a key of order p (=0, order 4): FAIL (Chrome: FAIL, Safari: FAIL)
    • X448 key derivation checks for all-zero value result with a key of order p+1 (=1, order 1): FAIL (Chrome: FAIL, Safari: FAIL)
    • X25519 good parameters: FAIL (Chrome: PASS, Safari: PASS)
    • X25519 mixed case parameters: FAIL (Chrome: PASS, Safari: PASS)
    • X25519 short result: FAIL (Chrome: PASS, Safari: PASS)
    • X25519 non-multiple of 8 bits: FAIL (Chrome: PASS, Safari: PASS)
    • X25519 mismatched algorithms: FAIL (Chrome: FAIL, Safari: FAIL)
    • X25519 no deriveBits usage for base key: FAIL (Chrome: PASS, Safari: PASS)
    • X25519 base key is not a private key: FAIL (Chrome: PASS, Safari: PASS)
    • X25519 public property value is a private key: FAIL (Chrome: PASS, Safari: PASS)
    • X25519 public property value is a secret key: FAIL (Chrome: PASS, Safari: PASS)
    • X25519 asking for too many bits: FAIL (Chrome: PASS, Safari: PASS)
    • X448 good parameters: FAIL (Chrome: FAIL, Safari: FAIL)
    • X448 mixed case parameters: FAIL (Chrome: FAIL, Safari: FAIL)
    • X448 short result: FAIL (Chrome: FAIL, Safari: FAIL)
    • X448 non-multiple of 8 bits: FAIL (Chrome: FAIL, Safari: FAIL)
    • X448 mismatched algorithms: FAIL (Chrome: FAIL, Safari: FAIL)
    • X448 no deriveBits usage for base key: FAIL (Chrome: FAIL, Safari: FAIL)
    • X448 base key is not a private key: FAIL (Chrome: FAIL, Safari: FAIL)
    • X448 public property value is a private key: FAIL (Chrome: FAIL, Safari: FAIL)
    • X448 public property value is a secret key: FAIL (Chrome: FAIL, Safari: FAIL)
    • X448 asking for too many bits: FAIL (Chrome: FAIL, Safari: FAIL)
  • /WebCryptoAPI/derive_bits_keys/cfrg_curves_bits.https.any.worker.html [wpt.fyi]
    • X25519 key derivation checks for all-zero value result with a key of order 0: FAIL (Chrome: PASS, Safari: PASS)
    • X25519 key derivation checks for all-zero value result with a key of order 1: FAIL (Chrome: PASS, Safari: PASS)
    • X25519 key derivation checks for all-zero value result with a key of order 8: FAIL (Chrome: PASS, Safari: PASS)
    • X25519 key derivation checks for all-zero value result with a key of order p-1 (order 2): FAIL (Chrome: PASS, Safari: PASS)
    • X25519 key derivation checks for all-zero value result with a key of order p (=0, order 4): FAIL (Chrome: PASS, Safari: PASS)
    • X25519 key derivation checks for all-zero value result with a key of order p+1 (=1, order 1): FAIL (Chrome: PASS, Safari: PASS)
    • X448 key derivation checks for all-zero value result with a key of order 0: FAIL (Chrome: FAIL, Safari: FAIL)
    • X448 key derivation checks for all-zero value result with a key of order 1: FAIL (Chrome: FAIL, Safari: FAIL)
    • X448 key derivation checks for all-zero value result with a key of order p-1 (order 2): FAIL (Chrome: FAIL, Safari: FAIL)
    • X448 key derivation checks for all-zero value result with a key of order p (=0, order 4): FAIL (Chrome: FAIL, Safari: FAIL)
    • X448 key derivation checks for all-zero value result with a key of order p+1 (=1, order 1): FAIL (Chrome: FAIL, Safari: FAIL)
    • X25519 good parameters: FAIL (Chrome: PASS, Safari: PASS)
    • X25519 mixed case parameters: FAIL (Chrome: PASS, Safari: PASS)
    • X25519 short result: FAIL (Chrome: PASS, Safari: PASS)
    • X25519 non-multiple of 8 bits: FAIL (Chrome: PASS, Safari: PASS)
    • X25519 mismatched algorithms: FAIL (Chrome: FAIL, Safari: FAIL)
    • X25519 no deriveBits usage for base key: FAIL (Chrome: PASS, Safari: PASS)
    • X25519 base key is not a private key: FAIL (Chrome: PASS, Safari: PASS)
    • X25519 public property value is a private key: FAIL (Chrome: PASS, Safari: PASS)
    • X25519 public property value is a secret key: FAIL (Chrome: PASS, Safari: PASS)
    • X25519 asking for too many bits: FAIL (Chrome: PASS, Safari: PASS)
    • X448 good parameters: FAIL (Chrome: FAIL, Safari: FAIL)
    • X448 mixed case parameters: FAIL (Chrome: FAIL, Safari: FAIL)
    • X448 short result: FAIL (Chrome: FAIL, Safari: FAIL)
    • X448 non-multiple of 8 bits: FAIL (Chrome: FAIL, Safari: FAIL)
    • X448 mismatched algorithms: FAIL (Chrome: FAIL, Safari: FAIL)
    • X448 no deriveBits usage for base key: FAIL (Chrome: FAIL, Safari: FAIL)
    • X448 base key is not a private key: FAIL (Chrome: FAIL, Safari: FAIL)
    • X448 public property value is a private key: FAIL (Chrome: FAIL, Safari: FAIL)
    • X448 public property value is a secret key: FAIL (Chrome: FAIL, Safari: FAIL)
    • X448 asking for too many bits: FAIL (Chrome: FAIL, Safari: FAIL)
  • /WebCryptoAPI/derive_bits_keys/derived_bits_length.https.any.html [wpt.fyi]
    • HKDF derivation with omitted as 'length' parameter: FAIL (Chrome: FAIL, Safari: FAIL)
    • PBKDF2 derivation with omitted as 'length' parameter: FAIL (Chrome: FAIL, Safari: FAIL)
    • ECDH derivation with 0 as 'length' parameter: FAIL (Chrome: PASS, Safari: FAIL)
    • ECDH derivation with null as 'length' parameter: FAIL (Chrome: FAIL, Safari: PASS)
    • ECDH derivation with undefined as 'length' parameter: FAIL (Chrome: FAIL, Safari: PASS)
    • ECDH derivation with omitted as 'length' parameter: FAIL (Chrome: FAIL, Safari: FAIL)
    • X25519 derivation with 256 as 'length' parameter: FAIL (Chrome: PASS, Safari: PASS)
    • X25519 derivation with 0 as 'length' parameter: FAIL (Chrome: PASS, Safari: FAIL)
    • X25519 derivation with null as 'length' parameter: FAIL (Chrome: FAIL, Safari: PASS)
    • X25519 derivation with undefined as 'length' parameter: FAIL (Chrome: FAIL, Safari: PASS)
    • X25519 derivation with omitted as 'length' parameter: FAIL (Chrome: FAIL, Safari: FAIL)
  • /WebCryptoAPI/derive_bits_keys/derived_bits_length.https.any.worker.html [wpt.fyi]
    • HKDF derivation with omitted as 'length' parameter: FAIL (Chrome: FAIL, Safari: FAIL)
    • PBKDF2 derivation with omitted as 'length' parameter: FAIL (Chrome: FAIL, Safari: FAIL)
    • ECDH derivation with 0 as 'length' parameter: FAIL (Chrome: PASS, Safari: FAIL)
    • ECDH derivation with null as 'length' parameter: FAIL (Chrome: FAIL, Safari: PASS)
    • ECDH derivation with undefined as 'length' parameter: FAIL (Chrome: FAIL, Safari: PASS)
    • ECDH derivation with omitted as 'length' parameter: FAIL (Chrome: FAIL, Safari: FAIL)
    • X25519 derivation with 256 as 'length' parameter: FAIL (Chrome: PASS, Safari: PASS)
    • X25519 derivation with 0 as 'length' parameter: FAIL (Chrome: PASS, Safari: FAIL)
    • X25519 derivation with null as 'length' parameter: FAIL (Chrome: FAIL, Safari: PASS)
    • X25519 derivation with undefined as 'length' parameter: FAIL (Chrome: FAIL, Safari: PASS)
    • X25519 derivation with omitted as 'length' parameter: FAIL (Chrome: FAIL, Safari: FAIL)
  • /WebCryptoAPI/derive_bits_keys/ecdh_bits.https.any.html [wpt.fyi]
    • P-521 non-multiple of 8 bits: FAIL (Chrome: PASS, Safari: PASS)
    • P-256 non-multiple of 8 bits: FAIL (Chrome: PASS, Safari: PASS)
    • P-384 non-multiple of 8 bits: FAIL (Chrome: PASS, Safari: PASS)
  • /WebCryptoAPI/derive_bits_keys/ecdh_bits.https.any.worker.html [wpt.fyi]
    • P-521 non-multiple of 8 bits: FAIL (Chrome: PASS, Safari: PASS)
    • P-256 non-multiple of 8 bits: FAIL (Chrome: PASS, Safari: PASS)
    • P-384 non-multiple of 8 bits: FAIL (Chrome: PASS, Safari: PASS)
  • /WebCryptoAPI/derive_bits_keys/hkdf.https.any.html?3001-last [wpt.fyi]
    • empty derivedKey, normal salt, SHA-256, with empty info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • empty derivedKey, empty salt, SHA-384, with normal info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • empty derivedKey, empty salt, SHA-384, with empty info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • empty derivedKey, empty salt, SHA-512, with normal info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • empty derivedKey, empty salt, SHA-512, with empty info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • empty derivedKey, empty salt, SHA-1, with normal info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • empty derivedKey, empty salt, SHA-1, with empty info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • empty derivedKey, empty salt, SHA-256, with normal info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • empty derivedKey, empty salt, SHA-256, with empty info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
  • /WebCryptoAPI/derive_bits_keys/hkdf.https.any.html?1001-2000 [wpt.fyi]
    • short derivedKey, empty salt, SHA-1, with empty info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • short derivedKey, empty salt, SHA-256, with normal info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • short derivedKey, empty salt, SHA-256, with empty info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • long derivedKey, normal salt, SHA-384, with normal info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • long derivedKey, normal salt, SHA-384, with empty info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • long derivedKey, normal salt, SHA-512, with normal info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • long derivedKey, normal salt, SHA-512, with empty info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • long derivedKey, normal salt, SHA-1, with normal info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • long derivedKey, normal salt, SHA-1, with empty info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • long derivedKey, normal salt, SHA-256, with normal info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • long derivedKey, normal salt, SHA-256, with empty info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • long derivedKey, empty salt, SHA-384, with normal info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • long derivedKey, empty salt, SHA-384, with empty info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
  • /WebCryptoAPI/derive_bits_keys/hkdf.https.any.worker.html?3001-last [wpt.fyi]
    • empty derivedKey, normal salt, SHA-256, with empty info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • empty derivedKey, empty salt, SHA-384, with normal info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • empty derivedKey, empty salt, SHA-384, with empty info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • empty derivedKey, empty salt, SHA-512, with normal info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • empty derivedKey, empty salt, SHA-512, with empty info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • empty derivedKey, empty salt, SHA-1, with normal info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • empty derivedKey, empty salt, SHA-1, with empty info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • empty derivedKey, empty salt, SHA-256, with normal info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • empty derivedKey, empty salt, SHA-256, with empty info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
  • /WebCryptoAPI/derive_bits_keys/hkdf.https.any.worker.html?1-1000 [wpt.fyi]
    • short derivedKey, normal salt, SHA-384, with normal info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • short derivedKey, normal salt, SHA-384, with empty info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • short derivedKey, normal salt, SHA-512, with normal info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • short derivedKey, normal salt, SHA-512, with empty info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • short derivedKey, normal salt, SHA-1, with normal info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • short derivedKey, normal salt, SHA-1, with empty info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • short derivedKey, normal salt, SHA-256, with normal info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • short derivedKey, normal salt, SHA-256, with empty info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • short derivedKey, empty salt, SHA-384, with normal info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • short derivedKey, empty salt, SHA-384, with empty info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • short derivedKey, empty salt, SHA-512, with normal info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • short derivedKey, empty salt, SHA-512, with empty info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • short derivedKey, empty salt, SHA-1, with normal info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
  • /WebCryptoAPI/derive_bits_keys/hkdf.https.any.worker.html?2001-3000 [wpt.fyi]
    • long derivedKey, empty salt, SHA-512, with normal info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • long derivedKey, empty salt, SHA-512, with empty info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • long derivedKey, empty salt, SHA-1, with normal info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • long derivedKey, empty salt, SHA-1, with empty info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • long derivedKey, empty salt, SHA-256, with normal info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • long derivedKey, empty salt, SHA-256, with empty info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • empty derivedKey, normal salt, SHA-384, with normal info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • empty derivedKey, normal salt, SHA-384, with empty info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • empty derivedKey, normal salt, SHA-512, with normal info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • empty derivedKey, normal salt, SHA-512, with empty info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • empty derivedKey, normal salt, SHA-1, with normal info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • empty derivedKey, normal salt, SHA-1, with empty info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • empty derivedKey, normal salt, SHA-256, with normal info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
  • /WebCryptoAPI/derive_bits_keys/hkdf.https.any.html?2001-3000 [wpt.fyi]
    • long derivedKey, empty salt, SHA-512, with normal info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • long derivedKey, empty salt, SHA-512, with empty info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • long derivedKey, empty salt, SHA-1, with normal info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • long derivedKey, empty salt, SHA-1, with empty info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • long derivedKey, empty salt, SHA-256, with normal info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • long derivedKey, empty salt, SHA-256, with empty info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • empty derivedKey, normal salt, SHA-384, with normal info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • empty derivedKey, normal salt, SHA-384, with empty info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • empty derivedKey, normal salt, SHA-512, with normal info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • empty derivedKey, normal salt, SHA-512, with empty info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • empty derivedKey, normal salt, SHA-1, with normal info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • empty derivedKey, normal salt, SHA-1, with empty info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • empty derivedKey, normal salt, SHA-256, with normal info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
  • /WebCryptoAPI/derive_bits_keys/hkdf.https.any.worker.html?1001-2000 [wpt.fyi]
    • short derivedKey, empty salt, SHA-1, with empty info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • short derivedKey, empty salt, SHA-256, with normal info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • short derivedKey, empty salt, SHA-256, with empty info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • long derivedKey, normal salt, SHA-384, with normal info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • long derivedKey, normal salt, SHA-384, with empty info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • long derivedKey, normal salt, SHA-512, with normal info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • long derivedKey, normal salt, SHA-512, with empty info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • long derivedKey, normal salt, SHA-1, with normal info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • long derivedKey, normal salt, SHA-1, with empty info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • long derivedKey, normal salt, SHA-256, with normal info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • long derivedKey, normal salt, SHA-256, with empty info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • long derivedKey, empty salt, SHA-384, with normal info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • long derivedKey, empty salt, SHA-384, with empty info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
  • /WebCryptoAPI/derive_bits_keys/hkdf.https.any.html?1-1000 [wpt.fyi]
    • short derivedKey, normal salt, SHA-384, with normal info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • short derivedKey, normal salt, SHA-384, with empty info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • short derivedKey, normal salt, SHA-512, with normal info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • short derivedKey, normal salt, SHA-512, with empty info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • short derivedKey, normal salt, SHA-1, with normal info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • short derivedKey, normal salt, SHA-1, with empty info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • short derivedKey, normal salt, SHA-256, with normal info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • short derivedKey, normal salt, SHA-256, with empty info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • short derivedKey, empty salt, SHA-384, with normal info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • short derivedKey, empty salt, SHA-384, with empty info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • short derivedKey, empty salt, SHA-512, with normal info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • short derivedKey, empty salt, SHA-512, with empty info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • short derivedKey, empty salt, SHA-1, with normal info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)

CI Results

Ran 9 Firefox configurations based on mozilla-central, and Firefox, Chrome, and Safari on GitHub CI

Total 32 tests and 1001 subtests

Status Summary

Firefox

OK : 32
PASS: 24616
FAIL: 186

Chrome

OK : 32
PASS: 23500
FAIL: 1302

Safari

OK : 32
PASS: 24758
FAIL: 44

Links

Gecko CI (Treeherder)
GitHub PR Head
GitHub PR Base

Details

Firefox-only Failures

  • /WebCryptoAPI/derive_bits_keys/cfrg_curves_bits.https.any.html [wpt.fyi]
    • X25519 key derivation checks for all-zero value result with a key of order 0: FAIL
    • X25519 key derivation checks for all-zero value result with a key of order 1: FAIL
    • X25519 key derivation checks for all-zero value result with a key of order 8: FAIL
    • X25519 key derivation checks for all-zero value result with a key of order p-1 (order 2): FAIL
    • X25519 key derivation checks for all-zero value result with a key of order p (=0, order 4): FAIL
    • X25519 key derivation checks for all-zero value result with a key of order p+1 (=1, order 1): FAIL
    • X25519 good parameters: FAIL
    • X25519 mixed case parameters: FAIL
    • X25519 short result: FAIL
    • X25519 non-multiple of 8 bits: FAIL
    • X25519 no deriveBits usage for base key: FAIL
    • X25519 base key is not a private key: FAIL
    • X25519 public property value is a private key: FAIL
    • X25519 public property value is a secret key: FAIL
    • X25519 asking for too many bits: FAIL
  • /WebCryptoAPI/derive_bits_keys/cfrg_curves_bits.https.any.worker.html [wpt.fyi]
    • X25519 key derivation checks for all-zero value result with a key of order 0: FAIL
    • X25519 key derivation checks for all-zero value result with a key of order 1: FAIL
    • X25519 key derivation checks for all-zero value result with a key of order 8: FAIL
    • X25519 key derivation checks for all-zero value result with a key of order p-1 (order 2): FAIL
    • X25519 key derivation checks for all-zero value result with a key of order p (=0, order 4): FAIL
    • X25519 key derivation checks for all-zero value result with a key of order p+1 (=1, order 1): FAIL
    • X25519 good parameters: FAIL
    • X25519 mixed case parameters: FAIL
    • X25519 short result: FAIL
    • X25519 non-multiple of 8 bits: FAIL
    • X25519 no deriveBits usage for base key: FAIL
    • X25519 base key is not a private key: FAIL
    • X25519 public property value is a private key: FAIL
    • X25519 public property value is a secret key: FAIL
    • X25519 asking for too many bits: FAIL
  • /WebCryptoAPI/derive_bits_keys/derived_bits_length.https.any.html [wpt.fyi]
    • X25519 derivation with 256 as 'length' parameter: FAIL
  • /WebCryptoAPI/derive_bits_keys/derived_bits_length.https.any.worker.html [wpt.fyi]
    • X25519 derivation with 256 as 'length' parameter: FAIL
  • /WebCryptoAPI/derive_bits_keys/ecdh_bits.https.any.html [wpt.fyi]
    • P-521 non-multiple of 8 bits: FAIL
    • P-256 non-multiple of 8 bits: FAIL
    • P-384 non-multiple of 8 bits: FAIL
  • /WebCryptoAPI/derive_bits_keys/ecdh_bits.https.any.worker.html [wpt.fyi]
    • P-521 non-multiple of 8 bits: FAIL
    • P-256 non-multiple of 8 bits: FAIL
    • P-384 non-multiple of 8 bits: FAIL
  • /WebCryptoAPI/derive_bits_keys/hkdf.https.any.html?3001-last [wpt.fyi]
    • empty derivedKey, normal salt, SHA-256, with empty info with non-multiple of 8 length: FAIL
    • empty derivedKey, empty salt, SHA-384, with normal info with non-multiple of 8 length: FAIL
    • empty derivedKey, empty salt, SHA-384, with empty info with non-multiple of 8 length: FAIL
    • empty derivedKey, empty salt, SHA-512, with normal info with non-multiple of 8 length: FAIL
    • empty derivedKey, empty salt, SHA-512, with empty info with non-multiple of 8 length: FAIL
    • empty derivedKey, empty salt, SHA-1, with normal info with non-multiple of 8 length: FAIL
    • empty derivedKey, empty salt, SHA-1, with empty info with non-multiple of 8 length: FAIL
    • empty derivedKey, empty salt, SHA-256, with normal info with non-multiple of 8 length: FAIL
    • empty derivedKey, empty salt, SHA-256, with empty info with non-multiple of 8 length: FAIL
  • /WebCryptoAPI/derive_bits_keys/hkdf.https.any.html?1001-2000 [wpt.fyi]
    • short derivedKey, empty salt, SHA-1, with empty info with non-multiple of 8 length: FAIL
    • short derivedKey, empty salt, SHA-256, with normal info with non-multiple of 8 length: FAIL
    • short derivedKey, empty salt, SHA-256, with empty info with non-multiple of 8 length: FAIL
    • long derivedKey, normal salt, SHA-384, with normal info with non-multiple of 8 length: FAIL
    • long derivedKey, normal salt, SHA-384, with empty info with non-multiple of 8 length: FAIL
    • long derivedKey, normal salt, SHA-512, with normal info with non-multiple of 8 length: FAIL
    • long derivedKey, normal salt, SHA-512, with empty info with non-multiple of 8 length: FAIL
    • long derivedKey, normal salt, SHA-1, with normal info with non-multiple of 8 length: FAIL
    • long derivedKey, normal salt, SHA-1, with empty info with non-multiple of 8 length: FAIL
    • long derivedKey, normal salt, SHA-256, with normal info with non-multiple of 8 length: FAIL
    • long derivedKey, normal salt, SHA-256, with empty info with non-multiple of 8 length: FAIL
    • long derivedKey, empty salt, SHA-384, with normal info with non-multiple of 8 length: FAIL
    • long derivedKey, empty salt, SHA-384, with empty info with non-multiple of 8 length: FAIL
  • /WebCryptoAPI/derive_bits_keys/hkdf.https.any.worker.html?3001-last [wpt.fyi]
    • empty derivedKey, normal salt, SHA-256, with empty info with non-multiple of 8 length: FAIL
    • empty derivedKey, empty salt, SHA-384, with normal info with non-multiple of 8 length: FAIL
    • empty derivedKey, empty salt, SHA-384, with empty info with non-multiple of 8 length: FAIL
    • empty derivedKey, empty salt, SHA-512, with normal info with non-multiple of 8 length: FAIL
    • empty derivedKey, empty salt, SHA-512, with empty info with non-multiple of 8 length: FAIL
    • empty derivedKey, empty salt, SHA-1, with normal info with non-multiple of 8 length: FAIL
    • empty derivedKey, empty salt, SHA-1, with empty info with non-multiple of 8 length: FAIL
    • empty derivedKey, empty salt, SHA-256, with normal info with non-multiple of 8 length: FAIL
    • empty derivedKey, empty salt, SHA-256, with empty info with non-multiple of 8 length: FAIL
  • /WebCryptoAPI/derive_bits_keys/hkdf.https.any.worker.html?1-1000 [wpt.fyi]
    • short derivedKey, normal salt, SHA-384, with normal info with non-multiple of 8 length: FAIL
    • short derivedKey, normal salt, SHA-384, with empty info with non-multiple of 8 length: FAIL
    • short derivedKey, normal salt, SHA-512, with normal info with non-multiple of 8 length: FAIL
    • short derivedKey, normal salt, SHA-512, with empty info with non-multiple of 8 length: FAIL
    • short derivedKey, normal salt, SHA-1, with normal info with non-multiple of 8 length: FAIL
    • short derivedKey, normal salt, SHA-1, with empty info with non-multiple of 8 length: FAIL
    • short derivedKey, normal salt, SHA-256, with normal info with non-multiple of 8 length: FAIL
    • short derivedKey, normal salt, SHA-256, with empty info with non-multiple of 8 length: FAIL
    • short derivedKey, empty salt, SHA-384, with normal info with non-multiple of 8 length: FAIL
    • short derivedKey, empty salt, SHA-384, with empty info with non-multiple of 8 length: FAIL
    • short derivedKey, empty salt, SHA-512, with normal info with non-multiple of 8 length: FAIL
    • short derivedKey, empty salt, SHA-512, with empty info with non-multiple of 8 length: FAIL
    • short derivedKey, empty salt, SHA-1, with normal info with non-multiple of 8 length: FAIL
  • /WebCryptoAPI/derive_bits_keys/hkdf.https.any.worker.html?2001-3000 [wpt.fyi]
    • long derivedKey, empty salt, SHA-512, with normal info with non-multiple of 8 length: FAIL
    • long derivedKey, empty salt, SHA-512, with empty info with non-multiple of 8 length: FAIL
    • long derivedKey, empty salt, SHA-1, with normal info with non-multiple of 8 length: FAIL
    • long derivedKey, empty salt, SHA-1, with empty info with non-multiple of 8 length: FAIL
    • long derivedKey, empty salt, SHA-256, with normal info with non-multiple of 8 length: FAIL
    • long derivedKey, empty salt, SHA-256, with empty info with non-multiple of 8 length: FAIL
    • empty derivedKey, normal salt, SHA-384, with normal info with non-multiple of 8 length: FAIL
    • empty derivedKey, normal salt, SHA-384, with empty info with non-multiple of 8 length: FAIL
    • empty derivedKey, normal salt, SHA-512, with normal info with non-multiple of 8 length: FAIL
    • empty derivedKey, normal salt, SHA-512, with empty info with non-multiple of 8 length: FAIL
    • empty derivedKey, normal salt, SHA-1, with normal info with non-multiple of 8 length: FAIL
    • empty derivedKey, normal salt, SHA-1, with empty info with non-multiple of 8 length: FAIL
    • empty derivedKey, normal salt, SHA-256, with normal info with non-multiple of 8 length: FAIL
  • /WebCryptoAPI/derive_bits_keys/hkdf.https.any.html?2001-3000 [wpt.fyi]
    • long derivedKey, empty salt, SHA-512, with normal info with non-multiple of 8 length: FAIL
    • long derivedKey, empty salt, SHA-512, with empty info with non-multiple of 8 length: FAIL
    • long derivedKey, empty salt, SHA-1, with normal info with non-multiple of 8 length: FAIL
    • long derivedKey, empty salt, SHA-1, with empty info with non-multiple of 8 length: FAIL
    • long derivedKey, empty salt, SHA-256, with normal info with non-multiple of 8 length: FAIL
    • long derivedKey, empty salt, SHA-256, with empty info with non-multiple of 8 length: FAIL
    • empty derivedKey, normal salt, SHA-384, with normal info with non-multiple of 8 length: FAIL
    • empty derivedKey, normal salt, SHA-384, with empty info with non-multiple of 8 length: FAIL
    • empty derivedKey, normal salt, SHA-512, with normal info with non-multiple of 8 length: FAIL
    • empty derivedKey, normal salt, SHA-512, with empty info with non-multiple of 8 length: FAIL
    • empty derivedKey, normal salt, SHA-1, with normal info with non-multiple of 8 length: FAIL
    • empty derivedKey, normal salt, SHA-1, with empty info with non-multiple of 8 length: FAIL
    • empty derivedKey, normal salt, SHA-256, with normal info with non-multiple of 8 length: FAIL
  • /WebCryptoAPI/derive_bits_keys/hkdf.https.any.worker.html?1001-2000 [wpt.fyi]
    • short derivedKey, empty salt, SHA-1, with empty info with non-multiple of 8 length: FAIL
    • short derivedKey, empty salt, SHA-256, with normal info with non-multiple of 8 length: FAIL
    • short derivedKey, empty salt, SHA-256, with empty info with non-multiple of 8 length: FAIL
    • long derivedKey, normal salt, SHA-384, with normal info with non-multiple of 8 length: FAIL
    • long derivedKey, normal salt, SHA-384, with empty info with non-multiple of 8 length: FAIL
    • long derivedKey, normal salt, SHA-512, with normal info with non-multiple of 8 length: FAIL
    • long derivedKey, normal salt, SHA-512, with empty info with non-multiple of 8 length: FAIL
    • long derivedKey, normal salt, SHA-1, with normal info with non-multiple of 8 length: FAIL
    • long derivedKey, normal salt, SHA-1, with empty info with non-multiple of 8 length: FAIL
    • long derivedKey, normal salt, SHA-256, with normal info with non-multiple of 8 length: FAIL
    • long derivedKey, normal salt, SHA-256, with empty info with non-multiple of 8 length: FAIL
    • long derivedKey, empty salt, SHA-384, with normal info with non-multiple of 8 length: FAIL
    • long derivedKey, empty salt, SHA-384, with empty info with non-multiple of 8 length: FAIL
  • /WebCryptoAPI/derive_bits_keys/hkdf.https.any.html?1-1000 [wpt.fyi]
    • short derivedKey, normal salt, SHA-384, with normal info with non-multiple of 8 length: FAIL
    • short derivedKey, normal salt, SHA-384, with empty info with non-multiple of 8 length: FAIL
    • short derivedKey, normal salt, SHA-512, with normal info with non-multiple of 8 length: FAIL
    • short derivedKey, normal salt, SHA-512, with empty info with non-multiple of 8 length: FAIL
    • short derivedKey, normal salt, SHA-1, with normal info with non-multiple of 8 length: FAIL
    • short derivedKey, normal salt, SHA-1, with empty info with non-multiple of 8 length: FAIL
    • short derivedKey, normal salt, SHA-256, with normal info with non-multiple of 8 length: FAIL
    • short derivedKey, normal salt, SHA-256, with empty info with non-multiple of 8 length: FAIL
    • short derivedKey, empty salt, SHA-384, with normal info with non-multiple of 8 length: FAIL
    • short derivedKey, empty salt, SHA-384, with empty info with non-multiple of 8 length: FAIL
    • short derivedKey, empty salt, SHA-512, with normal info with non-multiple of 8 length: FAIL
    • short derivedKey, empty salt, SHA-512, with empty info with non-multiple of 8 length: FAIL
    • short derivedKey, empty salt, SHA-1, with normal info with non-multiple of 8 length: FAIL

New Tests That Don't Pass

  • /WebCryptoAPI/derive_bits_keys/cfrg_curves_bits.https.any.html [wpt.fyi]
    • X25519 key derivation checks for all-zero value result with a key of order 0: FAIL (Chrome: PASS, Safari: PASS)
    • X25519 key derivation checks for all-zero value result with a key of order 1: FAIL (Chrome: PASS, Safari: PASS)
    • X25519 key derivation checks for all-zero value result with a key of order 8: FAIL (Chrome: PASS, Safari: PASS)
    • X25519 key derivation checks for all-zero value result with a key of order p-1 (order 2): FAIL (Chrome: PASS, Safari: PASS)
    • X25519 key derivation checks for all-zero value result with a key of order p (=0, order 4): FAIL (Chrome: PASS, Safari: PASS)
    • X25519 key derivation checks for all-zero value result with a key of order p+1 (=1, order 1): FAIL (Chrome: PASS, Safari: PASS)
    • X448 key derivation checks for all-zero value result with a key of order 0: FAIL (Chrome: FAIL, Safari: FAIL)
    • X448 key derivation checks for all-zero value result with a key of order 1: FAIL (Chrome: FAIL, Safari: FAIL)
    • X448 key derivation checks for all-zero value result with a key of order p-1 (order 2): FAIL (Chrome: FAIL, Safari: FAIL)
    • X448 key derivation checks for all-zero value result with a key of order p (=0, order 4): FAIL (Chrome: FAIL, Safari: FAIL)
    • X448 key derivation checks for all-zero value result with a key of order p+1 (=1, order 1): FAIL (Chrome: FAIL, Safari: FAIL)
    • X25519 good parameters: FAIL (Chrome: PASS, Safari: PASS)
    • X25519 mixed case parameters: FAIL (Chrome: PASS, Safari: PASS)
    • X25519 short result: FAIL (Chrome: PASS, Safari: PASS)
    • X25519 non-multiple of 8 bits: FAIL (Chrome: PASS, Safari: PASS)
    • X25519 mismatched algorithms: FAIL (Chrome: FAIL, Safari: FAIL)
    • X25519 no deriveBits usage for base key: FAIL (Chrome: PASS, Safari: PASS)
    • X25519 base key is not a private key: FAIL (Chrome: PASS, Safari: PASS)
    • X25519 public property value is a private key: FAIL (Chrome: PASS, Safari: PASS)
    • X25519 public property value is a secret key: FAIL (Chrome: PASS, Safari: PASS)
    • X25519 asking for too many bits: FAIL (Chrome: PASS, Safari: PASS)
    • X448 good parameters: FAIL (Chrome: FAIL, Safari: FAIL)
    • X448 mixed case parameters: FAIL (Chrome: FAIL, Safari: FAIL)
    • X448 short result: FAIL (Chrome: FAIL, Safari: FAIL)
    • X448 non-multiple of 8 bits: FAIL (Chrome: FAIL, Safari: FAIL)
    • X448 mismatched algorithms: FAIL (Chrome: FAIL, Safari: FAIL)
    • X448 no deriveBits usage for base key: FAIL (Chrome: FAIL, Safari: FAIL)
    • X448 base key is not a private key: FAIL (Chrome: FAIL, Safari: FAIL)
    • X448 public property value is a private key: FAIL (Chrome: FAIL, Safari: FAIL)
    • X448 public property value is a secret key: FAIL (Chrome: FAIL, Safari: FAIL)
    • X448 asking for too many bits: FAIL (Chrome: FAIL, Safari: FAIL)
  • /WebCryptoAPI/derive_bits_keys/cfrg_curves_bits.https.any.worker.html [wpt.fyi]
    • X25519 key derivation checks for all-zero value result with a key of order 0: FAIL (Chrome: PASS, Safari: PASS)
    • X25519 key derivation checks for all-zero value result with a key of order 1: FAIL (Chrome: PASS, Safari: PASS)
    • X25519 key derivation checks for all-zero value result with a key of order 8: FAIL (Chrome: PASS, Safari: PASS)
    • X25519 key derivation checks for all-zero value result with a key of order p-1 (order 2): FAIL (Chrome: PASS, Safari: PASS)
    • X25519 key derivation checks for all-zero value result with a key of order p (=0, order 4): FAIL (Chrome: PASS, Safari: PASS)
    • X25519 key derivation checks for all-zero value result with a key of order p+1 (=1, order 1): FAIL (Chrome: PASS, Safari: PASS)
    • X448 key derivation checks for all-zero value result with a key of order 0: FAIL (Chrome: FAIL, Safari: FAIL)
    • X448 key derivation checks for all-zero value result with a key of order 1: FAIL (Chrome: FAIL, Safari: FAIL)
    • X448 key derivation checks for all-zero value result with a key of order p-1 (order 2): FAIL (Chrome: FAIL, Safari: FAIL)
    • X448 key derivation checks for all-zero value result with a key of order p (=0, order 4): FAIL (Chrome: FAIL, Safari: FAIL)
    • X448 key derivation checks for all-zero value result with a key of order p+1 (=1, order 1): FAIL (Chrome: FAIL, Safari: FAIL)
    • X25519 good parameters: FAIL (Chrome: PASS, Safari: PASS)
    • X25519 mixed case parameters: FAIL (Chrome: PASS, Safari: PASS)
    • X25519 short result: FAIL (Chrome: PASS, Safari: PASS)
    • X25519 non-multiple of 8 bits: FAIL (Chrome: PASS, Safari: PASS)
    • X25519 mismatched algorithms: FAIL (Chrome: FAIL, Safari: FAIL)
    • X25519 no deriveBits usage for base key: FAIL (Chrome: PASS, Safari: PASS)
    • X25519 base key is not a private key: FAIL (Chrome: PASS, Safari: PASS)
    • X25519 public property value is a private key: FAIL (Chrome: PASS, Safari: PASS)
    • X25519 public property value is a secret key: FAIL (Chrome: PASS, Safari: PASS)
    • X25519 asking for too many bits: FAIL (Chrome: PASS, Safari: PASS)
    • X448 good parameters: FAIL (Chrome: FAIL, Safari: FAIL)
    • X448 mixed case parameters: FAIL (Chrome: FAIL, Safari: FAIL)
    • X448 short result: FAIL (Chrome: FAIL, Safari: FAIL)
    • X448 non-multiple of 8 bits: FAIL (Chrome: FAIL, Safari: FAIL)
    • X448 mismatched algorithms: FAIL (Chrome: FAIL, Safari: FAIL)
    • X448 no deriveBits usage for base key: FAIL (Chrome: FAIL, Safari: FAIL)
    • X448 base key is not a private key: FAIL (Chrome: FAIL, Safari: FAIL)
    • X448 public property value is a private key: FAIL (Chrome: FAIL, Safari: FAIL)
    • X448 public property value is a secret key: FAIL (Chrome: FAIL, Safari: FAIL)
    • X448 asking for too many bits: FAIL (Chrome: FAIL, Safari: FAIL)
  • /WebCryptoAPI/derive_bits_keys/derived_bits_length.https.any.html [wpt.fyi]
    • HKDF derivation with omitted as 'length' parameter: FAIL (Chrome: FAIL, Safari: FAIL)
    • PBKDF2 derivation with omitted as 'length' parameter: FAIL (Chrome: FAIL, Safari: FAIL)
    • ECDH derivation with 0 as 'length' parameter: FAIL (Chrome: PASS, Safari: FAIL)
    • ECDH derivation with null as 'length' parameter: FAIL (Chrome: FAIL, Safari: PASS)
    • ECDH derivation with undefined as 'length' parameter: FAIL (Chrome: FAIL, Safari: PASS)
    • ECDH derivation with omitted as 'length' parameter: FAIL (Chrome: FAIL, Safari: FAIL)
    • X25519 derivation with 256 as 'length' parameter: FAIL (Chrome: PASS, Safari: PASS)
    • X25519 derivation with 0 as 'length' parameter: FAIL (Chrome: PASS, Safari: FAIL)
    • X25519 derivation with null as 'length' parameter: FAIL (Chrome: FAIL, Safari: PASS)
    • X25519 derivation with undefined as 'length' parameter: FAIL (Chrome: FAIL, Safari: PASS)
    • X25519 derivation with omitted as 'length' parameter: FAIL (Chrome: FAIL, Safari: FAIL)
  • /WebCryptoAPI/derive_bits_keys/derived_bits_length.https.any.worker.html [wpt.fyi]
    • HKDF derivation with omitted as 'length' parameter: FAIL (Chrome: FAIL, Safari: FAIL)
    • PBKDF2 derivation with omitted as 'length' parameter: FAIL (Chrome: FAIL, Safari: FAIL)
    • ECDH derivation with 0 as 'length' parameter: FAIL (Chrome: PASS, Safari: FAIL)
    • ECDH derivation with null as 'length' parameter: FAIL (Chrome: FAIL, Safari: PASS)
    • ECDH derivation with undefined as 'length' parameter: FAIL (Chrome: FAIL, Safari: PASS)
    • ECDH derivation with omitted as 'length' parameter: FAIL (Chrome: FAIL, Safari: FAIL)
    • X25519 derivation with 256 as 'length' parameter: FAIL (Chrome: PASS, Safari: PASS)
    • X25519 derivation with 0 as 'length' parameter: FAIL (Chrome: PASS, Safari: FAIL)
    • X25519 derivation with null as 'length' parameter: FAIL (Chrome: FAIL, Safari: PASS)
    • X25519 derivation with undefined as 'length' parameter: FAIL (Chrome: FAIL, Safari: PASS)
    • X25519 derivation with omitted as 'length' parameter: FAIL (Chrome: FAIL, Safari: FAIL)
  • /WebCryptoAPI/derive_bits_keys/ecdh_bits.https.any.html [wpt.fyi]
    • P-521 non-multiple of 8 bits: FAIL (Chrome: PASS, Safari: PASS)
    • P-256 non-multiple of 8 bits: FAIL (Chrome: PASS, Safari: PASS)
    • P-384 non-multiple of 8 bits: FAIL (Chrome: PASS, Safari: PASS)
  • /WebCryptoAPI/derive_bits_keys/ecdh_bits.https.any.worker.html [wpt.fyi]
    • P-521 non-multiple of 8 bits: FAIL (Chrome: PASS, Safari: PASS)
    • P-256 non-multiple of 8 bits: FAIL (Chrome: PASS, Safari: PASS)
    • P-384 non-multiple of 8 bits: FAIL (Chrome: PASS, Safari: PASS)
  • /WebCryptoAPI/derive_bits_keys/hkdf.https.any.html?3001-last [wpt.fyi]
    • empty derivedKey, normal salt, SHA-256, with empty info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • empty derivedKey, empty salt, SHA-384, with normal info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • empty derivedKey, empty salt, SHA-384, with empty info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • empty derivedKey, empty salt, SHA-512, with normal info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • empty derivedKey, empty salt, SHA-512, with empty info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • empty derivedKey, empty salt, SHA-1, with normal info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • empty derivedKey, empty salt, SHA-1, with empty info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • empty derivedKey, empty salt, SHA-256, with normal info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • empty derivedKey, empty salt, SHA-256, with empty info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
  • /WebCryptoAPI/derive_bits_keys/hkdf.https.any.html?1001-2000 [wpt.fyi]
    • short derivedKey, empty salt, SHA-1, with empty info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • short derivedKey, empty salt, SHA-256, with normal info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • short derivedKey, empty salt, SHA-256, with empty info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • long derivedKey, normal salt, SHA-384, with normal info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • long derivedKey, normal salt, SHA-384, with empty info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • long derivedKey, normal salt, SHA-512, with normal info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • long derivedKey, normal salt, SHA-512, with empty info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • long derivedKey, normal salt, SHA-1, with normal info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • long derivedKey, normal salt, SHA-1, with empty info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • long derivedKey, normal salt, SHA-256, with normal info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • long derivedKey, normal salt, SHA-256, with empty info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • long derivedKey, empty salt, SHA-384, with normal info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • long derivedKey, empty salt, SHA-384, with empty info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
  • /WebCryptoAPI/derive_bits_keys/hkdf.https.any.worker.html?3001-last [wpt.fyi]
    • empty derivedKey, normal salt, SHA-256, with empty info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • empty derivedKey, empty salt, SHA-384, with normal info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • empty derivedKey, empty salt, SHA-384, with empty info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • empty derivedKey, empty salt, SHA-512, with normal info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • empty derivedKey, empty salt, SHA-512, with empty info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • empty derivedKey, empty salt, SHA-1, with normal info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • empty derivedKey, empty salt, SHA-1, with empty info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • empty derivedKey, empty salt, SHA-256, with normal info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • empty derivedKey, empty salt, SHA-256, with empty info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
  • /WebCryptoAPI/derive_bits_keys/hkdf.https.any.worker.html?1-1000 [wpt.fyi]
    • short derivedKey, normal salt, SHA-384, with normal info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • short derivedKey, normal salt, SHA-384, with empty info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • short derivedKey, normal salt, SHA-512, with normal info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • short derivedKey, normal salt, SHA-512, with empty info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • short derivedKey, normal salt, SHA-1, with normal info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • short derivedKey, normal salt, SHA-1, with empty info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • short derivedKey, normal salt, SHA-256, with normal info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • short derivedKey, normal salt, SHA-256, with empty info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • short derivedKey, empty salt, SHA-384, with normal info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • short derivedKey, empty salt, SHA-384, with empty info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • short derivedKey, empty salt, SHA-512, with normal info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • short derivedKey, empty salt, SHA-512, with empty info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • short derivedKey, empty salt, SHA-1, with normal info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
  • /WebCryptoAPI/derive_bits_keys/hkdf.https.any.worker.html?2001-3000 [wpt.fyi]
    • long derivedKey, empty salt, SHA-512, with normal info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • long derivedKey, empty salt, SHA-512, with empty info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • long derivedKey, empty salt, SHA-1, with normal info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • long derivedKey, empty salt, SHA-1, with empty info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • long derivedKey, empty salt, SHA-256, with normal info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • long derivedKey, empty salt, SHA-256, with empty info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • empty derivedKey, normal salt, SHA-384, with normal info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • empty derivedKey, normal salt, SHA-384, with empty info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • empty derivedKey, normal salt, SHA-512, with normal info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • empty derivedKey, normal salt, SHA-512, with empty info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • empty derivedKey, normal salt, SHA-1, with normal info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • empty derivedKey, normal salt, SHA-1, with empty info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • empty derivedKey, normal salt, SHA-256, with normal info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
  • /WebCryptoAPI/derive_bits_keys/hkdf.https.any.html?2001-3000 [wpt.fyi]
    • long derivedKey, empty salt, SHA-512, with normal info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • long derivedKey, empty salt, SHA-512, with empty info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • long derivedKey, empty salt, SHA-1, with normal info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • long derivedKey, empty salt, SHA-1, with empty info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • long derivedKey, empty salt, SHA-256, with normal info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • long derivedKey, empty salt, SHA-256, with empty info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • empty derivedKey, normal salt, SHA-384, with normal info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • empty derivedKey, normal salt, SHA-384, with empty info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • empty derivedKey, normal salt, SHA-512, with normal info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • empty derivedKey, normal salt, SHA-512, with empty info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • empty derivedKey, normal salt, SHA-1, with normal info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • empty derivedKey, normal salt, SHA-1, with empty info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • empty derivedKey, normal salt, SHA-256, with normal info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
  • /WebCryptoAPI/derive_bits_keys/hkdf.https.any.worker.html?1001-2000 [wpt.fyi]
    • short derivedKey, empty salt, SHA-1, with empty info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • short derivedKey, empty salt, SHA-256, with normal info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • short derivedKey, empty salt, SHA-256, with empty info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • long derivedKey, normal salt, SHA-384, with normal info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • long derivedKey, normal salt, SHA-384, with empty info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • long derivedKey, normal salt, SHA-512, with normal info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • long derivedKey, normal salt, SHA-512, with empty info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • long derivedKey, normal salt, SHA-1, with normal info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • long derivedKey, normal salt, SHA-1, with empty info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • long derivedKey, normal salt, SHA-256, with normal info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • long derivedKey, normal salt, SHA-256, with empty info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • long derivedKey, empty salt, SHA-384, with normal info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • long derivedKey, empty salt, SHA-384, with empty info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
  • /WebCryptoAPI/derive_bits_keys/hkdf.https.any.html?1-1000 [wpt.fyi]
    • short derivedKey, normal salt, SHA-384, with normal info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • short derivedKey, normal salt, SHA-384, with empty info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • short derivedKey, normal salt, SHA-512, with normal info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • short derivedKey, normal salt, SHA-512, with empty info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • short derivedKey, normal salt, SHA-1, with normal info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • short derivedKey, normal salt, SHA-1, with empty info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • short derivedKey, normal salt, SHA-256, with normal info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • short derivedKey, normal salt, SHA-256, with empty info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • short derivedKey, empty salt, SHA-384, with normal info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • short derivedKey, empty salt, SHA-384, with empty info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • short derivedKey, empty salt, SHA-512, with normal info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • short derivedKey, empty salt, SHA-512, with empty info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
    • short derivedKey, empty salt, SHA-1, with normal info with non-multiple of 8 length: FAIL (Chrome: PASS, Safari: PASS)
Pushed by wptsync@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/49312a1febbc [wpt PR 43400] - Tests for the deriveBits operation with extreme values in the 'length' parameter, a=testonly https://hg.mozilla.org/integration/autoland/rev/5ca9328ccf4a [wpt PR 43400] - Update wpt metadata, a=testonly
Status: NEW → RESOLVED
Closed: 4 months ago
Resolution: --- → FIXED
Target Milestone: --- → 130 Branch
You need to log in before you can comment on or make changes to this bug.