The jco-firefox conformance target (Playwright Firefox, Gecko JSPI pref) diverges from the other platform-WebCrypto-backed hosts in two capability windows the WIT admits. Both are Gecko/NSS strictness — the platform refuses material or parameters the package contract currently expects served — so they are declared as expected failures (tracked debt), mirroring the Deno ledger (#351).
X25519: low-order / non-canonical public keys refused at import (66 cases: x25519/wycheproof{,-spki,-jwk} — the LowOrderPublic/NonCanonicalPublic ZeroSharedSecret acceptables, plus probe/x25519-... none). NSS applies contributory-behavior checks: public keys of small order (and non-canonical u-coordinates) are rejected at importKey with DataError, where Chromium, WebKit, Node, and Deno import them and derive the all-zero shared secret per RFC 7748. The translation policy currently admits these vectors.
- Same-class question for a future ruling: whether to narrow uniformly (portability strategy 3 — reject low-order X25519 public keys everywhere; a defensible contributory-behavior posture) instead of carrying the ledger. That is a package-contract change and needs its own decision.
AES-CTR: counter widths below the platform floor (probe/ctr-known-answers): Gecko refuses very narrow counter windows (the probe's 2-bit counter fails with OperationError) where the WIT window is 1–128 bits. Same family as Deno's 32/64/128 restriction, different floor.
The compat matrix renders both as aspects (subrows) of their rows; the ledger entries in conformance/driver-ct/targets.toml name this issue.
The jco-firefox conformance target (Playwright Firefox, Gecko JSPI pref) diverges from the other platform-WebCrypto-backed hosts in two capability windows the WIT admits. Both are Gecko/NSS strictness — the platform refuses material or parameters the package contract currently expects served — so they are declared as expected failures (tracked debt), mirroring the Deno ledger (#351).
X25519: low-order / non-canonical public keys refused at import (66 cases:
x25519/wycheproof{,-spki,-jwk}— theLowOrderPublic/NonCanonicalPublicZeroSharedSecretacceptables, plusprobe/x25519-...none). NSS applies contributory-behavior checks: public keys of small order (and non-canonical u-coordinates) are rejected atimportKeywith DataError, where Chromium, WebKit, Node, and Deno import them and derive the all-zero shared secret per RFC 7748. The translation policy currently admits these vectors.AES-CTR: counter widths below the platform floor (
probe/ctr-known-answers): Gecko refuses very narrow counter windows (the probe's 2-bit counter fails with OperationError) where the WIT window is 1–128 bits. Same family as Deno's 32/64/128 restriction, different floor.The compat matrix renders both as aspects (subrows) of their rows; the ledger entries in
conformance/driver-ct/targets.tomlname this issue.