# WebCrypto API tests.
#
# Only HMAC signing is supported
sign_verify/test_rsa_pkcs.https.html,DISABLE
sign_verify/test_hmac.https.html,PASS
sign_verify/test_rsa_pss.https.html,DISABLE
sign_verify/test_ecdsa.https.html,DISABLE
# TODO: Random generator not yet supported, should use SbSystemGetRandomData
getRandomValues.any.html,DISABLE
# TODO: This requires a significant update to testharness.js
idlharness.https.any.html,DISABLE
# Only AES-CTR is implemented
encrypt_decrypt/test_aes_gcm.https.html,DISABLE
encrypt_decrypt/test_aes_ctr.https.html,PASS
encrypt_decrypt/test_aes_cbc.https.html,DISABLE
encrypt_decrypt/test_rsa_oaep.https.html,DISABLE
# No generateKey functions are supported
generateKey/failures_ECDH.https.any.html,DISABLE
generateKey/failures_AES-CBC.https.any.html,DISABLE
generateKey/successes_HMAC.https.any.html,DISABLE
generateKey/failures_AES-GCM.https.any.html,DISABLE
generateKey/failures_RSA-PSS.https.any.html,DISABLE
generateKey/successes_RSA-PSS.https.any.html,DISABLE
generateKey/failures_AES-CTR.https.any.html,DISABLE
generateKey/failures_RSASSA-PKCS1-v1_5.https.any.html,DISABLE
generateKey/successes_ECDSA.https.any.html,DISABLE
generateKey/successes_RSA-OAEP.https.any.html,DISABLE
generateKey/failures_HMAC.https.any.html,DISABLE
generateKey/successes_RSASSA-PKCS1-v1_5.https.any.html,DISABLE
generateKey/successes_ECDH.https.any.html,DISABLE
generateKey/successes_AES-CTR.https.any.html,DISABLE
generateKey/successes_AES-KW.https.any.html,DISABLE
generateKey/failures_RSA-OAEP.https.any.html,DISABLE
generateKey/failures_ECDSA.https.any.html,DISABLE
generateKey/successes_AES-CBC.https.any.html,DISABLE
generateKey/failures_AES-KW.https.any.html,DISABLE
generateKey/successes_AES-GCM.https.any.html,DISABLE
# deriveBits is not supported
derive_bits_keys/ecdh_bits.https.any.html,DISABLE
derive_bits_keys/ecdh_keys.https.any.html,DISABLE
derive_bits_keys/pbkdf2.https.any.html,DISABLE
derive_bits_keys/hkdf.https.any.html,DISABLE
# RSA and EC key import/export is not supported
import_export/test_rsa_importKey.https.html,DISABLE
import_export/test_ec_importKey.https.html,DISABLE
import_export/test_symmetric_importKey.https.html,PASS
digest/test_digest.https.html,PASS
wrapKey_unwrapKey/test_wrapKey_unwrapKey.https.html,DISABLE
secure_context/crypto-subtle-secure-context-available.https.sub.html,DISABLE
