Click here to download the Blitz Browser!

WPT

wpt / WebCryptoAPI / generateKey / failures_ECDSA.https.any.html

Spec: Web Cryptography ↗

Runs: Chrome 155.0.8039.0 (wpt@a4fcd77aa, 2026-09-03) | Firefox 157.0a1 (wpt@cc4d45aa0, 2026-09-03) | Safari 251 preview (wpt@5ce815a83, 2026-08-27) | Ladybird 1.0-a9df8 (wpt@47d833bbc, 2026-09-03) | Servo Servo 0.6 (wpt@09159dcb3, 2026-09-02) | Blitz 188486089 (wpt@a95401e4e, 2026-09-02)

View on the Blitz WPT dashboard | Open test on wpt.live | wpt.fyi

ChromeFirefoxSafariLadybirdServoBlitz
Total142/142142/14294/142142/142142/142NOT RUN
SubtestChromeFirefoxSafariLadybirdServoBlitz
Bad usages: generateKey({name: ECDSA, namedCurve: P-256}, true, [encrypt])PASSPASSPASSPASSPASS
Bad usages: generateKey({name: ECDSA, namedCurve: P-256}, true, [sign, encrypt])PASSPASSPASSPASSPASS
Bad usages: generateKey({name: ECDSA, namedCurve: P-256}, true, [verify, sign, encrypt])PASSPASSPASSPASSPASS
Bad usages: generateKey({name: ECDSA, namedCurve: P-256}, true, [sign, verify, sign, sign, verify, encrypt])PASSPASSPASSPASSPASS
Bad usages: generateKey({name: ECDSA, namedCurve: P-256}, true, [decrypt])PASSPASSPASSPASSPASS
Bad usages: generateKey({name: ECDSA, namedCurve: P-256}, true, [sign, decrypt])PASSPASSPASSPASSPASS
Bad usages: generateKey({name: ECDSA, namedCurve: P-256}, true, [verify, sign, decrypt])PASSPASSPASSPASSPASS
Bad usages: generateKey({name: ECDSA, namedCurve: P-256}, true, [sign, verify, sign, sign, verify, decrypt])PASSPASSPASSPASSPASS
Bad usages: generateKey({name: ECDSA, namedCurve: P-256}, true, [wrapKey])PASSPASSPASSPASSPASS
Bad usages: generateKey({name: ECDSA, namedCurve: P-256}, true, [sign, wrapKey])PASSPASSPASSPASSPASS
Bad usages: generateKey({name: ECDSA, namedCurve: P-256}, true, [verify, sign, wrapKey])PASSPASSPASSPASSPASS
Bad usages: generateKey({name: ECDSA, namedCurve: P-256}, true, [sign, verify, sign, sign, verify, wrapKey])PASSPASSPASSPASSPASS
Bad usages: generateKey({name: ECDSA, namedCurve: P-256}, true, [unwrapKey])PASSPASSPASSPASSPASS
Bad usages: generateKey({name: ECDSA, namedCurve: P-256}, true, [sign, unwrapKey])PASSPASSPASSPASSPASS
Bad usages: generateKey({name: ECDSA, namedCurve: P-256}, true, [verify, sign, unwrapKey])PASSPASSPASSPASSPASS
Bad usages: generateKey({name: ECDSA, namedCurve: P-256}, true, [sign, verify, sign, sign, verify, unwrapKey])PASSPASSPASSPASSPASS
Bad usages: generateKey({name: ECDSA, namedCurve: P-256}, true, [deriveKey])PASSPASSPASSPASSPASS
Bad usages: generateKey({name: ECDSA, namedCurve: P-256}, true, [sign, deriveKey])PASSPASSPASSPASSPASS
Bad usages: generateKey({name: ECDSA, namedCurve: P-256}, true, [verify, sign, deriveKey])PASSPASSPASSPASSPASS
Bad usages: generateKey({name: ECDSA, namedCurve: P-256}, true, [sign, verify, sign, sign, verify, deriveKey])PASSPASSPASSPASSPASS
Bad usages: generateKey({name: ECDSA, namedCurve: P-256}, true, [deriveBits])PASSPASSPASSPASSPASS
Bad usages: generateKey({name: ECDSA, namedCurve: P-256}, true, [sign, deriveBits])PASSPASSPASSPASSPASS
Bad usages: generateKey({name: ECDSA, namedCurve: P-256}, true, [verify, sign, deriveBits])PASSPASSPASSPASSPASS
Bad usages: generateKey({name: ECDSA, namedCurve: P-256}, true, [sign, verify, sign, sign, verify, deriveBits])PASSPASSPASSPASSPASS
Bad usages: generateKey({name: ECDSA, namedCurve: P-256}, true, [encapsulateKey])PASSPASSFAILPASSPASS
Bad usages: generateKey({name: ECDSA, namedCurve: P-256}, true, [sign, encapsulateKey])PASSPASSFAILPASSPASS
Bad usages: generateKey({name: ECDSA, namedCurve: P-256}, true, [verify, sign, encapsulateKey])PASSPASSFAILPASSPASS
Bad usages: generateKey({name: ECDSA, namedCurve: P-256}, true, [sign, verify, sign, sign, verify, encapsulateKey])PASSPASSFAILPASSPASS
Bad usages: generateKey({name: ECDSA, namedCurve: P-256}, true, [encapsulateBits])PASSPASSFAILPASSPASS
Bad usages: generateKey({name: ECDSA, namedCurve: P-256}, true, [sign, encapsulateBits])PASSPASSFAILPASSPASS
Bad usages: generateKey({name: ECDSA, namedCurve: P-256}, true, [verify, sign, encapsulateBits])PASSPASSFAILPASSPASS
Bad usages: generateKey({name: ECDSA, namedCurve: P-256}, true, [sign, verify, sign, sign, verify, encapsulateBits])PASSPASSFAILPASSPASS
Bad usages: generateKey({name: ECDSA, namedCurve: P-256}, true, [decapsulateKey])PASSPASSFAILPASSPASS
Bad usages: generateKey({name: ECDSA, namedCurve: P-256}, true, [sign, decapsulateKey])PASSPASSFAILPASSPASS
Bad usages: generateKey({name: ECDSA, namedCurve: P-256}, true, [verify, sign, decapsulateKey])PASSPASSFAILPASSPASS
Bad usages: generateKey({name: ECDSA, namedCurve: P-256}, true, [sign, verify, sign, sign, verify, decapsulateKey])PASSPASSFAILPASSPASS
Bad usages: generateKey({name: ECDSA, namedCurve: P-256}, true, [decapsulateBits])PASSPASSFAILPASSPASS
Bad usages: generateKey({name: ECDSA, namedCurve: P-256}, true, [sign, decapsulateBits])PASSPASSFAILPASSPASS
Bad usages: generateKey({name: ECDSA, namedCurve: P-256}, true, [verify, sign, decapsulateBits])PASSPASSFAILPASSPASS
Bad usages: generateKey({name: ECDSA, namedCurve: P-256}, true, [sign, verify, sign, sign, verify, decapsulateBits])PASSPASSFAILPASSPASS
Bad usages: generateKey({name: ECDSA, namedCurve: P-384}, true, [encrypt])PASSPASSPASSPASSPASS
Bad usages: generateKey({name: ECDSA, namedCurve: P-384}, true, [sign, encrypt])PASSPASSPASSPASSPASS
Bad usages: generateKey({name: ECDSA, namedCurve: P-384}, true, [verify, sign, encrypt])PASSPASSPASSPASSPASS
Bad usages: generateKey({name: ECDSA, namedCurve: P-384}, true, [sign, verify, sign, sign, verify, encrypt])PASSPASSPASSPASSPASS
Bad usages: generateKey({name: ECDSA, namedCurve: P-384}, true, [decrypt])PASSPASSPASSPASSPASS
Bad usages: generateKey({name: ECDSA, namedCurve: P-384}, true, [sign, decrypt])PASSPASSPASSPASSPASS
Bad usages: generateKey({name: ECDSA, namedCurve: P-384}, true, [verify, sign, decrypt])PASSPASSPASSPASSPASS
Bad usages: generateKey({name: ECDSA, namedCurve: P-384}, true, [sign, verify, sign, sign, verify, decrypt])PASSPASSPASSPASSPASS
Bad usages: generateKey({name: ECDSA, namedCurve: P-384}, true, [wrapKey])PASSPASSPASSPASSPASS
Bad usages: generateKey({name: ECDSA, namedCurve: P-384}, true, [sign, wrapKey])PASSPASSPASSPASSPASS
Bad usages: generateKey({name: ECDSA, namedCurve: P-384}, true, [verify, sign, wrapKey])PASSPASSPASSPASSPASS
Bad usages: generateKey({name: ECDSA, namedCurve: P-384}, true, [sign, verify, sign, sign, verify, wrapKey])PASSPASSPASSPASSPASS
Bad usages: generateKey({name: ECDSA, namedCurve: P-384}, true, [unwrapKey])PASSPASSPASSPASSPASS
Bad usages: generateKey({name: ECDSA, namedCurve: P-384}, true, [sign, unwrapKey])PASSPASSPASSPASSPASS
Bad usages: generateKey({name: ECDSA, namedCurve: P-384}, true, [verify, sign, unwrapKey])PASSPASSPASSPASSPASS
Bad usages: generateKey({name: ECDSA, namedCurve: P-384}, true, [sign, verify, sign, sign, verify, unwrapKey])PASSPASSPASSPASSPASS
Bad usages: generateKey({name: ECDSA, namedCurve: P-384}, true, [deriveKey])PASSPASSPASSPASSPASS
Bad usages: generateKey({name: ECDSA, namedCurve: P-384}, true, [sign, deriveKey])PASSPASSPASSPASSPASS
Bad usages: generateKey({name: ECDSA, namedCurve: P-384}, true, [verify, sign, deriveKey])PASSPASSPASSPASSPASS
Bad usages: generateKey({name: ECDSA, namedCurve: P-384}, true, [sign, verify, sign, sign, verify, deriveKey])PASSPASSPASSPASSPASS
Bad usages: generateKey({name: ECDSA, namedCurve: P-384}, true, [deriveBits])PASSPASSPASSPASSPASS
Bad usages: generateKey({name: ECDSA, namedCurve: P-384}, true, [sign, deriveBits])PASSPASSPASSPASSPASS
Bad usages: generateKey({name: ECDSA, namedCurve: P-384}, true, [verify, sign, deriveBits])PASSPASSPASSPASSPASS
Bad usages: generateKey({name: ECDSA, namedCurve: P-384}, true, [sign, verify, sign, sign, verify, deriveBits])PASSPASSPASSPASSPASS
Bad usages: generateKey({name: ECDSA, namedCurve: P-384}, true, [encapsulateKey])PASSPASSFAILPASSPASS
Bad usages: generateKey({name: ECDSA, namedCurve: P-384}, true, [sign, encapsulateKey])PASSPASSFAILPASSPASS
Bad usages: generateKey({name: ECDSA, namedCurve: P-384}, true, [verify, sign, encapsulateKey])PASSPASSFAILPASSPASS
Bad usages: generateKey({name: ECDSA, namedCurve: P-384}, true, [sign, verify, sign, sign, verify, encapsulateKey])PASSPASSFAILPASSPASS
Bad usages: generateKey({name: ECDSA, namedCurve: P-384}, true, [encapsulateBits])PASSPASSFAILPASSPASS
Bad usages: generateKey({name: ECDSA, namedCurve: P-384}, true, [sign, encapsulateBits])PASSPASSFAILPASSPASS
Bad usages: generateKey({name: ECDSA, namedCurve: P-384}, true, [verify, sign, encapsulateBits])PASSPASSFAILPASSPASS
Bad usages: generateKey({name: ECDSA, namedCurve: P-384}, true, [sign, verify, sign, sign, verify, encapsulateBits])PASSPASSFAILPASSPASS
Bad usages: generateKey({name: ECDSA, namedCurve: P-384}, true, [decapsulateKey])PASSPASSFAILPASSPASS
Bad usages: generateKey({name: ECDSA, namedCurve: P-384}, true, [sign, decapsulateKey])PASSPASSFAILPASSPASS
Bad usages: generateKey({name: ECDSA, namedCurve: P-384}, true, [verify, sign, decapsulateKey])PASSPASSFAILPASSPASS
Bad usages: generateKey({name: ECDSA, namedCurve: P-384}, true, [sign, verify, sign, sign, verify, decapsulateKey])PASSPASSFAILPASSPASS
Bad usages: generateKey({name: ECDSA, namedCurve: P-384}, true, [decapsulateBits])PASSPASSFAILPASSPASS
Bad usages: generateKey({name: ECDSA, namedCurve: P-384}, true, [sign, decapsulateBits])PASSPASSFAILPASSPASS
Bad usages: generateKey({name: ECDSA, namedCurve: P-384}, true, [verify, sign, decapsulateBits])PASSPASSFAILPASSPASS
Bad usages: generateKey({name: ECDSA, namedCurve: P-384}, true, [sign, verify, sign, sign, verify, decapsulateBits])PASSPASSFAILPASSPASS
Bad usages: generateKey({name: ECDSA, namedCurve: P-521}, true, [encrypt])PASSPASSPASSPASSPASS
Bad usages: generateKey({name: ECDSA, namedCurve: P-521}, true, [sign, encrypt])PASSPASSPASSPASSPASS
Bad usages: generateKey({name: ECDSA, namedCurve: P-521}, true, [verify, sign, encrypt])PASSPASSPASSPASSPASS
Bad usages: generateKey({name: ECDSA, namedCurve: P-521}, true, [sign, verify, sign, sign, verify, encrypt])PASSPASSPASSPASSPASS
Bad usages: generateKey({name: ECDSA, namedCurve: P-521}, true, [decrypt])PASSPASSPASSPASSPASS
Bad usages: generateKey({name: ECDSA, namedCurve: P-521}, true, [sign, decrypt])PASSPASSPASSPASSPASS
Bad usages: generateKey({name: ECDSA, namedCurve: P-521}, true, [verify, sign, decrypt])PASSPASSPASSPASSPASS
Bad usages: generateKey({name: ECDSA, namedCurve: P-521}, true, [sign, verify, sign, sign, verify, decrypt])PASSPASSPASSPASSPASS
Bad usages: generateKey({name: ECDSA, namedCurve: P-521}, true, [wrapKey])PASSPASSPASSPASSPASS
Bad usages: generateKey({name: ECDSA, namedCurve: P-521}, true, [sign, wrapKey])PASSPASSPASSPASSPASS
Bad usages: generateKey({name: ECDSA, namedCurve: P-521}, true, [verify, sign, wrapKey])PASSPASSPASSPASSPASS
Bad usages: generateKey({name: ECDSA, namedCurve: P-521}, true, [sign, verify, sign, sign, verify, wrapKey])PASSPASSPASSPASSPASS
Bad usages: generateKey({name: ECDSA, namedCurve: P-521}, true, [unwrapKey])PASSPASSPASSPASSPASS
Bad usages: generateKey({name: ECDSA, namedCurve: P-521}, true, [sign, unwrapKey])PASSPASSPASSPASSPASS
Bad usages: generateKey({name: ECDSA, namedCurve: P-521}, true, [verify, sign, unwrapKey])PASSPASSPASSPASSPASS
Bad usages: generateKey({name: ECDSA, namedCurve: P-521}, true, [sign, verify, sign, sign, verify, unwrapKey])PASSPASSPASSPASSPASS
Bad usages: generateKey({name: ECDSA, namedCurve: P-521}, true, [deriveKey])PASSPASSPASSPASSPASS
Bad usages: generateKey({name: ECDSA, namedCurve: P-521}, true, [sign, deriveKey])PASSPASSPASSPASSPASS
Bad usages: generateKey({name: ECDSA, namedCurve: P-521}, true, [verify, sign, deriveKey])PASSPASSPASSPASSPASS
Bad usages: generateKey({name: ECDSA, namedCurve: P-521}, true, [sign, verify, sign, sign, verify, deriveKey])PASSPASSPASSPASSPASS
Bad usages: generateKey({name: ECDSA, namedCurve: P-521}, true, [deriveBits])PASSPASSPASSPASSPASS
Bad usages: generateKey({name: ECDSA, namedCurve: P-521}, true, [sign, deriveBits])PASSPASSPASSPASSPASS
Bad usages: generateKey({name: ECDSA, namedCurve: P-521}, true, [verify, sign, deriveBits])PASSPASSPASSPASSPASS
Bad usages: generateKey({name: ECDSA, namedCurve: P-521}, true, [sign, verify, sign, sign, verify, deriveBits])PASSPASSPASSPASSPASS
Bad usages: generateKey({name: ECDSA, namedCurve: P-521}, true, [encapsulateKey])PASSPASSFAILPASSPASS
Bad usages: generateKey({name: ECDSA, namedCurve: P-521}, true, [sign, encapsulateKey])PASSPASSFAILPASSPASS
Bad usages: generateKey({name: ECDSA, namedCurve: P-521}, true, [verify, sign, encapsulateKey])PASSPASSFAILPASSPASS
Bad usages: generateKey({name: ECDSA, namedCurve: P-521}, true, [sign, verify, sign, sign, verify, encapsulateKey])PASSPASSFAILPASSPASS
Bad usages: generateKey({name: ECDSA, namedCurve: P-521}, true, [encapsulateBits])PASSPASSFAILPASSPASS
Bad usages: generateKey({name: ECDSA, namedCurve: P-521}, true, [sign, encapsulateBits])PASSPASSFAILPASSPASS
Bad usages: generateKey({name: ECDSA, namedCurve: P-521}, true, [verify, sign, encapsulateBits])PASSPASSFAILPASSPASS
Bad usages: generateKey({name: ECDSA, namedCurve: P-521}, true, [sign, verify, sign, sign, verify, encapsulateBits])PASSPASSFAILPASSPASS
Bad usages: generateKey({name: ECDSA, namedCurve: P-521}, true, [decapsulateKey])PASSPASSFAILPASSPASS
Bad usages: generateKey({name: ECDSA, namedCurve: P-521}, true, [sign, decapsulateKey])PASSPASSFAILPASSPASS
Bad usages: generateKey({name: ECDSA, namedCurve: P-521}, true, [verify, sign, decapsulateKey])PASSPASSFAILPASSPASS
Bad usages: generateKey({name: ECDSA, namedCurve: P-521}, true, [sign, verify, sign, sign, verify, decapsulateKey])PASSPASSFAILPASSPASS
Bad usages: generateKey({name: ECDSA, namedCurve: P-521}, true, [decapsulateBits])PASSPASSFAILPASSPASS
Bad usages: generateKey({name: ECDSA, namedCurve: P-521}, true, [sign, decapsulateBits])PASSPASSFAILPASSPASS
Bad usages: generateKey({name: ECDSA, namedCurve: P-521}, true, [verify, sign, decapsulateBits])PASSPASSFAILPASSPASS
Bad usages: generateKey({name: ECDSA, namedCurve: P-521}, true, [sign, verify, sign, sign, verify, decapsulateBits])PASSPASSFAILPASSPASS
Bad algorithm property: generateKey({name: ECDSA, namedCurve: P-512}, false, [sign])PASSPASSPASSPASSPASS
Bad algorithm property: generateKey({name: ECDSA, namedCurve: P-512}, true, [sign])PASSPASSPASSPASSPASS
Bad algorithm property: generateKey({name: ECDSA, namedCurve: P-512}, false, [verify, sign])PASSPASSPASSPASSPASS
Bad algorithm property: generateKey({name: ECDSA, namedCurve: P-512}, true, [verify, sign])PASSPASSPASSPASSPASS
Bad algorithm property: generateKey({name: ECDSA, namedCurve: P-512}, false, [])PASSPASSPASSPASSPASS
Bad algorithm property: generateKey({name: ECDSA, namedCurve: P-512}, true, [])PASSPASSPASSPASSPASS
Bad algorithm property: generateKey({name: ECDSA, namedCurve: P-512}, false, [sign, verify, sign, sign, verify])PASSPASSPASSPASSPASS
Bad algorithm property: generateKey({name: ECDSA, namedCurve: P-512}, true, [sign, verify, sign, sign, verify])PASSPASSPASSPASSPASS
Bad algorithm property: generateKey({name: ECDSA, namedCurve: Curve25519}, false, [sign])PASSPASSPASSPASSPASS
Bad algorithm property: generateKey({name: ECDSA, namedCurve: Curve25519}, true, [sign])PASSPASSPASSPASSPASS
Bad algorithm property: generateKey({name: ECDSA, namedCurve: Curve25519}, false, [verify, sign])PASSPASSPASSPASSPASS
Bad algorithm property: generateKey({name: ECDSA, namedCurve: Curve25519}, true, [verify, sign])PASSPASSPASSPASSPASS
Bad algorithm property: generateKey({name: ECDSA, namedCurve: Curve25519}, false, [])PASSPASSPASSPASSPASS
Bad algorithm property: generateKey({name: ECDSA, namedCurve: Curve25519}, true, [])PASSPASSPASSPASSPASS
Bad algorithm property: generateKey({name: ECDSA, namedCurve: Curve25519}, false, [sign, verify, sign, sign, verify])PASSPASSPASSPASSPASS
Bad algorithm property: generateKey({name: ECDSA, namedCurve: Curve25519}, true, [sign, verify, sign, sign, verify])PASSPASSPASSPASSPASS
Empty usages: generateKey({name: ECDSA, namedCurve: P-256}, false, [])PASSPASSPASSPASSPASS
Empty usages: generateKey({name: ECDSA, namedCurve: P-256}, true, [])PASSPASSPASSPASSPASS
Empty usages: generateKey({name: ECDSA, namedCurve: P-384}, false, [])PASSPASSPASSPASSPASS
Empty usages: generateKey({name: ECDSA, namedCurve: P-384}, true, [])PASSPASSPASSPASSPASS
Empty usages: generateKey({name: ECDSA, namedCurve: P-521}, false, [])PASSPASSPASSPASSPASS
Empty usages: generateKey({name: ECDSA, namedCurve: P-521}, true, [])PASSPASSPASSPASSPASS