WebCryptoAPI

edit

WPT coverage of the tests of WebCryptoAPI at the revision 5602b0f210e3. The tests link to their results in the browsers on wpt.fyi. The tentative tests (experimental features) and the reftests are listed separately from the stable tests.

GroupPassingTestsDisabledPass rate
Stable1351361100%
Tentative54540100%
Reftests000–
All1891901100%

Failure reasons

The tests that do not pass (failing or disabled), by kind of reason. A test with several reasons counts once per kind.

  • TEST RUNNER: 1

Stable tests

TestResultSubtestsKindDescription
algorithm-discards-context.https.window.jsPass13 / 13
crypto_key_cached_slots.https.any.jsPass4 / 4
derive_bits_keys/cfrg_curves_bits_curve25519.https.any.jsPass38 / 38
derive_bits_keys/cfrg_curves_keys_curve25519.https.any.jsPass34 / 34
derive_bits_keys/derive_key_and_encrypt.https.any.jsPass6 / 6
derive_bits_keys/derived_bits_length.https.any.jsPass90 / 90
derive_bits_keys/ecdh_bits.https.any.jsPass80 / 80
derive_bits_keys/ecdh_keys.https.any.jsPass62 / 62
derive_bits_keys/hkdf.https.any.jsPass7,328 / 7,328
derive_bits_keys/pbkdf2.https.any.jsPass17,280 / 17,280
digest/digest.https.any.jsPass232 / 232
encrypt_decrypt/aes_cbc.https.any.jsPass122 / 122
encrypt_decrypt/aes_ctr.https.any.jsPass104 / 104
encrypt_decrypt/aes_gcm.https.any.jsPass1,154 / 1,154
encrypt_decrypt/aes_gcm_256_iv.https.any.jsPass1,154 / 1,154
encrypt_decrypt/rsa_oaep.https.any.jsPass362 / 362
export-key-error-order.https.any.jsPass12 / 12
generateKey/failures_AES-CBC.https.any.jsPass1,372 / 1,372
generateKey/failures_AES-CTR.https.any.jsPass1,372 / 1,372
generateKey/failures_AES-GCM.https.any.jsPass1,372 / 1,372
generateKey/failures_AES-KW.https.any.jsPass472 / 472
generateKey/failures_ECDH.https.any.jsPass352 / 352
generateKey/failures_ECDSA.https.any.jsPass284 / 284
generateKey/failures_Ed25519.https.any.jsPass168 / 168
generateKey/failures_HMAC.https.any.jsPass872 / 872
generateKey/failures_RSA-OAEP.https.any.jsPass680 / 680
generateKey/failures_RSA-PSS.https.any.jsPass232 / 232
generateKey/failures_RSASSA-PKCS1-v1_5.https.any.jsPass232 / 232
generateKey/failures_X25519.https.any.jsPass208 / 208
generateKey/failures_bad_algorithm.https.any.jsPass720 / 720
generateKey/successes_AES-CBC.https.any.jsPass576 / 576
generateKey/successes_AES-CTR.https.any.jsPass576 / 576
generateKey/successes_AES-GCM.https.any.jsPass576 / 576
generateKey/successes_AES-KW.https.any.jsPass144 / 144
generateKey/successes_ECDH.https.any.jsPass216 / 216
generateKey/successes_ECDSA.https.any.jsPass162 / 162
generateKey/successes_Ed25519.https.any.jsPass72 / 72
generateKey/successes_HMAC.https.any.jsPass384 / 384
generateKey/successes_RSA-OAEP.https.any.jsPass312 / 312
generateKey/successes_RSA-PSS.https.any.jsPass72 / 72
generateKey/successes_RSASSA-PKCS1-v1_5.https.any.jsPass72 / 72
generateKey/successes_X25519.https.any.jsPass64 / 64
getRandomValues.any.jsPass78 / 78
historical.any.jsPass9 / 9
idlharness.https.any.jsPass164 / 164
import_export/crashtests/importKey-unsettled-promise.https.any.jsDisabled–TEST RUNNERthe crash tests (crashtests directories and -crash. files) are not run by the test discovery
import_export/ec_importKey.https.any.jsPass528 / 528
import_export/ec_importKey_failures_ECDH.https.any.jsPass1,816 / 1,816
import_export/ec_importKey_failures_ECDSA.https.any.jsPass1,816 / 1,816
import_export/okp_fixed_length.https.any.jsPass12 / 12
import_export/okp_importKey_Ed25519.https.any.jsPass144 / 144
import_export/okp_importKey_X25519.https.any.jsPass108 / 108
import_export/okp_importKey_failures_Ed25519.https.any.jsPass1,540 / 1,540
import_export/okp_importKey_failures_X25519.https.any.jsPass1,324 / 1,324
import_export/okp_malformed_asn1.https.any.jsPass24 / 24
import_export/rsa_importKey.https.any.jsPass2,112 / 2,112
import_export/symmetric_importKey.https.any.jsPass1,212 / 1,212
modern-algos/derive_bits_keys/argon2.https.any.jsPass8 / 8
modern-algos/digest/cshake.https.any.jsPass176 / 176
modern-algos/digest/kangarootwelve.https.any.jsPass296 / 296
modern-algos/digest/sha3.https.any.jsPass96 / 96
modern-algos/digest/turboshake.https.any.jsPass270 / 270
modern-algos/encap_decap/encap_decap_bits.https.any.jsPass36 / 36
modern-algos/encap_decap/encap_decap_keys.https.any.jsPass480 / 480
modern-algos/encrypt_decrypt/aes_ocb.https.any.jsPass554 / 554
modern-algos/encrypt_decrypt/chacha20_poly1305.https.any.jsPass56 / 56
modern-algos/generateKey/failures_AES-OCB.https.any.jsPass1,372 / 1,372
modern-algos/generateKey/failures_Hybrid-KEM.https.any.jsPass1,368 / 1,368
modern-algos/generateKey/failures_ML-DSA.https.any.jsPass504 / 504
modern-algos/generateKey/failures_ML-KEM.https.any.jsPass1,368 / 1,368
modern-algos/generateKey/failures_chacha20_poly1305.https.any.jsPass552 / 552
modern-algos/generateKey/failures_kmac.https.any.jsPass624 / 624
modern-algos/generateKey/successes_AES-OCB.https.any.jsPass576 / 576
modern-algos/generateKey/successes_Hybrid-KEM.https.any.jsPass936 / 936
modern-algos/generateKey/successes_ML-DSA.https.any.jsPass216 / 216
modern-algos/generateKey/successes_ML-KEM.https.any.jsPass936 / 936
modern-algos/generateKey/successes_chacha20_poly1305.https.any.jsPass384 / 384
modern-algos/generateKey/successes_kmac.https.any.jsPass288 / 288
modern-algos/getPublicKey.https.any.jsPass86 / 86
modern-algos/idlharness.https.any.jsPass56 / 56
modern-algos/import_export/AES-OCB_importKey.https.any.jsPass144 / 144
modern-algos/import_export/Argon2_importKey.https.any.jsPass90 / 90
modern-algos/import_export/ChaCha20-Poly1305_importKey.https.any.jsPass48 / 48
modern-algos/import_export/Hybrid-KEM_importKey.https.any.jsPass432 / 432
modern-algos/import_export/KMAC_importKey.https.any.jsPass288 / 288
modern-algos/import_export/ML-DSA_importKey.https.any.jsPass360 / 360
modern-algos/import_export/ML-KEM_importKey.https.any.jsPass648 / 648
modern-algos/import_export/raw_format_aliases.https.any.jsPass40 / 40
modern-algos/serialization/aes-ocb.https.any.jsPass6 / 6
modern-algos/serialization/chacha20-poly1305.https.any.jsPass4 / 4
modern-algos/serialization/hybridkem.https.window.jsPass6 / 6
modern-algos/serialization/kmac.https.any.jsPass12 / 12
modern-algos/serialization/mldsa.https.any.jsPass12 / 12
modern-algos/serialization/mlkem.https.any.jsPass12 / 12
modern-algos/sign_verify/kmac.https.any.jsPass206 / 206
modern-algos/sign_verify/mldsa.https.any.jsPass114 / 114
modern-algos/supports-modern.https.any.jsPass294 / 294
modern-algos/supports.https.any.jsPass400 / 400
normalize-algorithm-name.https.any.jsPass8 / 8
randomUUID.https.any.jsPass6 / 6
secure-curves/derive_bits_keys/cfrg_curves_bits_curve448.https.any.jsPass36 / 36
secure-curves/derive_bits_keys/cfrg_curves_keys_curve448.https.any.jsPass32 / 32
secure-curves/generateKey/failures_Ed448.https.any.jsPass168 / 168
secure-curves/generateKey/failures_X448.https.any.jsPass208 / 208
secure-curves/generateKey/successes_Ed448.https.any.jsPass72 / 72
secure-curves/generateKey/successes_X448.https.any.jsPass64 / 64
secure-curves/idlharness.https.any.jsPass4 / 4
secure-curves/import_export/okp_importKey_Ed448.https.any.jsPass144 / 144
secure-curves/import_export/okp_importKey_X448.https.any.jsPass108 / 108
secure-curves/import_export/okp_importKey_failures_Ed448.https.any.jsPass1,540 / 1,540
secure-curves/import_export/okp_importKey_failures_X448.https.any.jsPass1,324 / 1,324
secure-curves/serialization/ed448.https.any.jsPass4 / 4
secure-curves/serialization/x448.https.any.jsPass4 / 4
secure-curves/sign_verify/eddsa_curve448.https.any.jsPass38 / 38
secure_context/crypto-subtle-secure-context-available.https.sub.htmlPass2 / 2
serialization/aes-cbc.https.any.jsPass6 / 6
serialization/aes-ctr.https.any.jsPass6 / 6
serialization/aes-gcm.https.any.jsPass6 / 6
serialization/aes-kw.https.any.jsPass6 / 6
serialization/ecdh.https.any.jsPass6 / 6
serialization/ecdsa.https.any.jsPass6 / 6
serialization/ed25519.https.any.jsPass4 / 4
serialization/hmac.https.any.jsPass16 / 16
serialization/rsa-oaep.https.any.jsPass4 / 4
serialization/rsa-pss.https.any.jsPass4 / 4
serialization/rsassa-pkcs1-v1_5.https.any.jsPass4 / 4
serialization/x25519.https.any.jsPass4 / 4
sharedarraybuffer.https.any.jsPass16 / 16
sign_verify/ecdsa.https.any.jsPass648 / 648
sign_verify/eddsa_curve25519.https.any.jsPass38 / 38
sign_verify/eddsa_small_order_points.https.any.jsPass28 / 28
sign_verify/hmac.https.any.jsPass130 / 130
sign_verify/rsa_pkcs.https.any.jsPass136 / 136
sign_verify/rsa_pss.https.any.jsPass288 / 288
wrapKey_unwrapKey/aes_kw_unwrapKey_failures.https.any.jsPass6 / 6
wrapKey_unwrapKey/wrapKey_unwrapKey.https.any.jsPass944 / 944

Tentative tests

TestResultSubtestsKindDescription
derive_bits_keys/argon2.tentative.https.any.jsPass8 / 8
derive_bits_keys/cfrg_curves_bits_curve448.tentative.https.any.jsPass36 / 36
derive_bits_keys/cfrg_curves_keys_curve448.tentative.https.any.jsPass32 / 32
digest/cshake.tentative.https.any.jsPass176 / 176
digest/kangarootwelve.tentative.https.any.jsPass296 / 296
digest/sha3.tentative.https.any.jsPass96 / 96
digest/turboshake.tentative.https.any.jsPass270 / 270
encap_decap/encap_decap_bits.tentative.https.any.jsPass36 / 36
encap_decap/encap_decap_keys.tentative.https.any.jsPass480 / 480
encrypt_decrypt/aes_ocb.tentative.https.any.jsPass554 / 554
encrypt_decrypt/chacha20_poly1305.tentative.https.any.jsPass56 / 56
generateKey/failures_AES-OCB.tentative.https.any.jsPass1,372 / 1,372
generateKey/failures_Ed448.tentative.https.any.jsPass168 / 168
generateKey/failures_Hybrid-KEM.tentative.https.any.jsPass1,368 / 1,368
generateKey/failures_ML-DSA.tentative.https.any.jsPass504 / 504
generateKey/failures_ML-KEM.tentative.https.any.jsPass1,368 / 1,368
generateKey/failures_X448.tentative.https.any.jsPass208 / 208
generateKey/failures_chacha20_poly1305.tentative.https.any.jsPass552 / 552
generateKey/failures_kmac.tentative.https.any.jsPass624 / 624
generateKey/successes_AES-OCB.tentative.https.any.jsPass576 / 576
generateKey/successes_Ed448.tentative.https.any.jsPass72 / 72
generateKey/successes_Hybrid-KEM.tentative.https.any.jsPass936 / 936
generateKey/successes_ML-DSA.tentative.https.any.jsPass216 / 216
generateKey/successes_ML-KEM.tentative.https.any.jsPass936 / 936
generateKey/successes_X448.tentative.https.any.jsPass64 / 64
generateKey/successes_chacha20_poly1305.tentative.https.any.jsPass384 / 384
generateKey/successes_kmac.tentative.https.any.jsPass288 / 288
getPublicKey.tentative.https.any.jsPass86 / 86
idlharness.tentative.https.any.jsPass216 / 216
import_export/AES-OCB_importKey.tentative.https.any.jsPass144 / 144
import_export/Argon2_importKey.tentative.https.any.jsPass90 / 90
import_export/ChaCha20-Poly1305_importKey.tentative.https.any.jsPass48 / 48
import_export/Hybrid-KEM_importKey.tentative.https.any.jsPass432 / 432
import_export/KMAC_importKey.tentative.https.any.jsPass288 / 288
import_export/ML-DSA_importKey.tentative.https.any.jsPass360 / 360
import_export/ML-KEM_importKey.tentative.https.any.jsPass648 / 648
import_export/okp_importKey_Ed448.tentative.https.any.jsPass144 / 144
import_export/okp_importKey_X448.tentative.https.any.jsPass108 / 108
import_export/okp_importKey_failures_Ed448.tentative.https.any.jsPass1,540 / 1,540
import_export/okp_importKey_failures_X448.tentative.https.any.jsPass1,324 / 1,324
import_export/raw_format_aliases.tentative.https.any.jsPass40 / 40
serialization/aes-ocb.tentative.https.any.jsPass6 / 6
serialization/chacha20-poly1305.tentative.https.any.jsPass4 / 4
serialization/ed448.tentative.https.any.jsPass4 / 4
serialization/hybridkem.tentative.https.window.jsPass6 / 6
serialization/kmac.tentative.https.any.jsPass12 / 12
serialization/mldsa.tentative.https.any.jsPass12 / 12
serialization/mlkem.tentative.https.any.jsPass12 / 12
serialization/x448.tentative.https.any.jsPass4 / 4
sign_verify/eddsa_curve448.tentative.https.any.jsPass38 / 38
sign_verify/kmac.tentative.https.any.jsPass206 / 206
sign_verify/mldsa.tentative.https.any.jsPass114 / 114
supports-modern.tentative.https.any.jsPass294 / 294
supports.tentative.https.any.jsPass400 / 400