# WebCrypto API tests.
#
# Only HMAC signing is supported
sign_verify/hmac.https.worker.html,PASS
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
