WPT
wpt / WebCryptoAPI / import_export / okp_importKey_X25519.https.any.worker.html
Spec: Web Cryptography ↗
Runs: Chrome 155.0.8042.0 (wpt@0588f3896, 2026-09-04) | Firefox 157.0a1 (wpt@0588f3896, 2026-09-04) | Safari 251 preview (wpt@e7122b73f, 2026-09-04) | Ladybird 1.0-b1af2 (wpt@0588f3896, 2026-09-04) | Servo Servo 0.6 (wpt@2c385f65e, 2026-09-04) | Blitz a50cb8971 (wpt@a95401e4e, 2026-09-03)
View on the Blitz WPT dashboard | Open test on wpt.live | wpt.fyi
| Chrome | Firefox | Safari | Ladybird | Servo | Blitz | |
|---|---|---|---|---|---|---|
| Total | 54/54 | 54/54 | 54/54 | 46/54 | 54/54 | NOT RUN |
| Subtest | Chrome | Firefox | Safari | Ladybird | Servo | Blitz |
|---|---|---|---|---|---|---|
| Good parameters: X25519 bits (spki, buffer(44), {name: X25519}, true, []) | PASS | PASS | PASS | PASS | PASS | — |
| Good parameters: X25519 bits (spki, buffer(44), X25519, true, []) | PASS | PASS | PASS | PASS | PASS | — |
| Good parameters: X25519 bits (jwk, object(kty, crv, x), {name: X25519}, true, []) | PASS | PASS | PASS | PASS | PASS | — |
| Good parameters: X25519 bits (jwk, object(kty, crv, x), X25519, true, []) | PASS | PASS | PASS | PASS | PASS | — |
| Good parameters with JWK alg: X25519 (jwk, object(kty, crv, x), {name: X25519}, true, []) | PASS | PASS | PASS | PASS | PASS | — |
| Good parameters with JWK alg: X25519 (jwk, object(kty, crv, x), X25519, true, []) | PASS | PASS | PASS | PASS | PASS | — |
| Good parameters: X25519 bits (raw, buffer(32), {name: X25519}, true, []) | PASS | PASS | PASS | PASS | PASS | — |
| Good parameters: X25519 bits (raw, buffer(32), X25519, true, []) | PASS | PASS | PASS | PASS | PASS | — |
| Good parameters: X25519 bits (pkcs8, buffer(48), {name: X25519}, true, [deriveKey]) | PASS | PASS | PASS | PASS | PASS | — |
| Good parameters: X25519 bits (pkcs8, buffer(48), X25519, true, [deriveKey]) | PASS | PASS | PASS | PASS | PASS | — |
| Good parameters: X25519 bits (jwk, object(crv, d, x, kty), {name: X25519}, true, [deriveKey]) | PASS | PASS | PASS | PASS | PASS | — |
| Good parameters: X25519 bits (jwk, object(crv, d, x, kty), X25519, true, [deriveKey]) | PASS | PASS | PASS | PASS | PASS | — |
| Good parameters with JWK alg: X25519 (jwk, object(crv, d, x, kty), {name: X25519}, true, [deriveKey]) | PASS | PASS | PASS | PASS | PASS | — |
| Good parameters with JWK alg: X25519 (jwk, object(crv, d, x, kty), X25519, true, [deriveKey]) | PASS | PASS | PASS | PASS | PASS | — |
| Good parameters: X25519 bits (pkcs8, buffer(48), {name: X25519}, true, [deriveBits, deriveKey]) | PASS | PASS | PASS | PASS | PASS | — |
| Good parameters: X25519 bits (pkcs8, buffer(48), X25519, true, [deriveBits, deriveKey]) | PASS | PASS | PASS | PASS | PASS | — |
| Good parameters: X25519 bits (jwk, object(crv, d, x, kty), {name: X25519}, true, [deriveBits, deriveKey]) | PASS | PASS | PASS | PASS | PASS | — |
| Good parameters: X25519 bits (jwk, object(crv, d, x, kty), X25519, true, [deriveBits, deriveKey]) | PASS | PASS | PASS | PASS | PASS | — |
| Good parameters with JWK alg: X25519 (jwk, object(crv, d, x, kty), {name: X25519}, true, [deriveBits, deriveKey]) | PASS | PASS | PASS | PASS | PASS | — |
| Good parameters with JWK alg: X25519 (jwk, object(crv, d, x, kty), X25519, true, [deriveBits, deriveKey]) | PASS | PASS | PASS | PASS | PASS | — |
| Good parameters: X25519 bits (pkcs8, buffer(48), {name: X25519}, true, [deriveBits]) | PASS | PASS | PASS | PASS | PASS | — |
| Good parameters: X25519 bits (pkcs8, buffer(48), X25519, true, [deriveBits]) | PASS | PASS | PASS | PASS | PASS | — |
| Good parameters: X25519 bits (jwk, object(crv, d, x, kty), {name: X25519}, true, [deriveBits]) | PASS | PASS | PASS | PASS | PASS | — |
| Good parameters: X25519 bits (jwk, object(crv, d, x, kty), X25519, true, [deriveBits]) | PASS | PASS | PASS | PASS | PASS | — |
| Good parameters with JWK alg: X25519 (jwk, object(crv, d, x, kty), {name: X25519}, true, [deriveBits]) | PASS | PASS | PASS | PASS | PASS | — |
| Good parameters with JWK alg: X25519 (jwk, object(crv, d, x, kty), X25519, true, [deriveBits]) | PASS | PASS | PASS | PASS | PASS | — |
| Good parameters: X25519 bits (pkcs8, buffer(48), {name: X25519}, true, [deriveKey, deriveBits, deriveKey, deriveBits]) | PASS | PASS | PASS | FAIL | PASS | — |
| Good parameters: X25519 bits (pkcs8, buffer(48), X25519, true, [deriveKey, deriveBits, deriveKey, deriveBits]) | PASS | PASS | PASS | FAIL | PASS | — |
| Good parameters: X25519 bits (jwk, object(crv, d, x, kty), {name: X25519}, true, [deriveKey, deriveBits, deriveKey, deriveBits]) | PASS | PASS | PASS | FAIL | PASS | — |
| Good parameters: X25519 bits (jwk, object(crv, d, x, kty), X25519, true, [deriveKey, deriveBits, deriveKey, deriveBits]) | PASS | PASS | PASS | FAIL | PASS | — |
| Good parameters with JWK alg: X25519 (jwk, object(crv, d, x, kty), {name: X25519}, true, [deriveKey, deriveBits, deriveKey, deriveBits]) | PASS | PASS | PASS | PASS | PASS | — |
| Good parameters with JWK alg: X25519 (jwk, object(crv, d, x, kty), X25519, true, [deriveKey, deriveBits, deriveKey, deriveBits]) | PASS | PASS | PASS | PASS | PASS | — |
| Good parameters: X25519 bits (spki, buffer(44), {name: X25519}, false, []) | PASS | PASS | PASS | PASS | PASS | — |
| Good parameters: X25519 bits (spki, buffer(44), X25519, false, []) | PASS | PASS | PASS | PASS | PASS | — |
| Good parameters: X25519 bits (jwk, object(kty, crv, x), {name: X25519}, false, []) | PASS | PASS | PASS | PASS | PASS | — |
| Good parameters: X25519 bits (jwk, object(kty, crv, x), X25519, false, []) | PASS | PASS | PASS | PASS | PASS | — |
| Good parameters: X25519 bits (raw, buffer(32), {name: X25519}, false, []) | PASS | PASS | PASS | PASS | PASS | — |
| Good parameters: X25519 bits (raw, buffer(32), X25519, false, []) | PASS | PASS | PASS | PASS | PASS | — |
| Good parameters: X25519 bits (pkcs8, buffer(48), {name: X25519}, false, [deriveKey]) | PASS | PASS | PASS | PASS | PASS | — |
| Good parameters: X25519 bits (pkcs8, buffer(48), X25519, false, [deriveKey]) | PASS | PASS | PASS | PASS | PASS | — |
| Good parameters: X25519 bits (jwk, object(crv, d, x, kty), {name: X25519}, false, [deriveKey]) | PASS | PASS | PASS | PASS | PASS | — |
| Good parameters: X25519 bits (jwk, object(crv, d, x, kty), X25519, false, [deriveKey]) | PASS | PASS | PASS | PASS | PASS | — |
| Good parameters: X25519 bits (pkcs8, buffer(48), {name: X25519}, false, [deriveBits, deriveKey]) | PASS | PASS | PASS | PASS | PASS | — |
| Good parameters: X25519 bits (pkcs8, buffer(48), X25519, false, [deriveBits, deriveKey]) | PASS | PASS | PASS | PASS | PASS | — |
| Good parameters: X25519 bits (jwk, object(crv, d, x, kty), {name: X25519}, false, [deriveBits, deriveKey]) | PASS | PASS | PASS | PASS | PASS | — |
| Good parameters: X25519 bits (jwk, object(crv, d, x, kty), X25519, false, [deriveBits, deriveKey]) | PASS | PASS | PASS | PASS | PASS | — |
| Good parameters: X25519 bits (pkcs8, buffer(48), {name: X25519}, false, [deriveBits]) | PASS | PASS | PASS | PASS | PASS | — |
| Good parameters: X25519 bits (pkcs8, buffer(48), X25519, false, [deriveBits]) | PASS | PASS | PASS | PASS | PASS | — |
| Good parameters: X25519 bits (jwk, object(crv, d, x, kty), {name: X25519}, false, [deriveBits]) | PASS | PASS | PASS | PASS | PASS | — |
| Good parameters: X25519 bits (jwk, object(crv, d, x, kty), X25519, false, [deriveBits]) | PASS | PASS | PASS | PASS | PASS | — |
| Good parameters: X25519 bits (pkcs8, buffer(48), {name: X25519}, false, [deriveKey, deriveBits, deriveKey, deriveBits]) | PASS | PASS | PASS | FAIL | PASS | — |
| Good parameters: X25519 bits (pkcs8, buffer(48), X25519, false, [deriveKey, deriveBits, deriveKey, deriveBits]) | PASS | PASS | PASS | FAIL | PASS | — |
| Good parameters: X25519 bits (jwk, object(crv, d, x, kty), {name: X25519}, false, [deriveKey, deriveBits, deriveKey, deriveBits]) | PASS | PASS | PASS | FAIL | PASS | — |
| Good parameters: X25519 bits (jwk, object(crv, d, x, kty), X25519, false, [deriveKey, deriveBits, deriveKey, deriveBits]) | PASS | PASS | PASS | FAIL | PASS | — |