[WebCrypto] Import imported/w3c/web-platform-tests/WebCryptoAPI tests
authorjiewen_tan@apple.com <jiewen_tan@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Fri, 10 Feb 2017 18:21:16 +0000 (18:21 +0000)
committerjiewen_tan@apple.com <jiewen_tan@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Fri, 10 Feb 2017 18:21:16 +0000 (18:21 +0000)
https://bugs.webkit.org/show_bug.cgi?id=165723

Reviewed by Youenn Fablet.

LayoutTests/imported/w3c:

* resources/import-expectations.json:
* web-platform-tests/WebCryptoAPI/OWNERS: Added.
* web-platform-tests/WebCryptoAPI/README.md: Added.
* web-platform-tests/WebCryptoAPI/WebCryptoAPI.idl: Added.
* web-platform-tests/WebCryptoAPI/derive_bits_keys/ecdh_bits.js: Added.
* web-platform-tests/WebCryptoAPI/derive_bits_keys/ecdh_bits.worker-expected.txt: Added.
* web-platform-tests/WebCryptoAPI/derive_bits_keys/ecdh_bits.worker.html: Added.
* web-platform-tests/WebCryptoAPI/derive_bits_keys/ecdh_bits.worker.js: Added.
* web-platform-tests/WebCryptoAPI/derive_bits_keys/ecdh_keys.js: Added.
* web-platform-tests/WebCryptoAPI/derive_bits_keys/ecdh_keys.worker-expected.txt: Added.
* web-platform-tests/WebCryptoAPI/derive_bits_keys/ecdh_keys.worker.html: Added.
* web-platform-tests/WebCryptoAPI/derive_bits_keys/ecdh_keys.worker.js: Added.
* web-platform-tests/WebCryptoAPI/derive_bits_keys/hkdf.js: Added.
* web-platform-tests/WebCryptoAPI/derive_bits_keys/hkdf.worker-expected.txt: Added.
* web-platform-tests/WebCryptoAPI/derive_bits_keys/hkdf.worker.html: Added.
* web-platform-tests/WebCryptoAPI/derive_bits_keys/hkdf.worker.js: Added.
* web-platform-tests/WebCryptoAPI/derive_bits_keys/hkdf_vectors.js: Added.
* web-platform-tests/WebCryptoAPI/derive_bits_keys/pbkdf2.js: Added.
* web-platform-tests/WebCryptoAPI/derive_bits_keys/pbkdf2.worker-expected.txt: Added.
* web-platform-tests/WebCryptoAPI/derive_bits_keys/pbkdf2.worker.html: Added.
* web-platform-tests/WebCryptoAPI/derive_bits_keys/pbkdf2.worker.js: Added.
* web-platform-tests/WebCryptoAPI/derive_bits_keys/pbkdf2_vectors.js: Added.
* web-platform-tests/WebCryptoAPI/derive_bits_keys/test_ecdh_bits-expected.txt: Added.
* web-platform-tests/WebCryptoAPI/derive_bits_keys/test_ecdh_bits.html: Added.
* web-platform-tests/WebCryptoAPI/derive_bits_keys/test_ecdh_keys-expected.txt: Added.
* web-platform-tests/WebCryptoAPI/derive_bits_keys/test_ecdh_keys.html: Added.
* web-platform-tests/WebCryptoAPI/derive_bits_keys/test_hkdf-expected.txt: Added.
* web-platform-tests/WebCryptoAPI/derive_bits_keys/test_hkdf.html: Added.
* web-platform-tests/WebCryptoAPI/derive_bits_keys/test_pbkdf2-expected.txt: Added.
* web-platform-tests/WebCryptoAPI/derive_bits_keys/test_pbkdf2.html: Added.
* web-platform-tests/WebCryptoAPI/derive_bits_keys/w3c-import.log: Added.
* web-platform-tests/WebCryptoAPI/digest/digest.js: Added.
* web-platform-tests/WebCryptoAPI/digest/digest.worker-expected.txt: Added.
* web-platform-tests/WebCryptoAPI/digest/digest.worker.html: Added.
* web-platform-tests/WebCryptoAPI/digest/digest.worker.js: Added.
* web-platform-tests/WebCryptoAPI/digest/test_digest-expected.txt: Added.
* web-platform-tests/WebCryptoAPI/digest/test_digest.html: Added.
* web-platform-tests/WebCryptoAPI/digest/w3c-import.log: Added.
* web-platform-tests/WebCryptoAPI/encrypt_decrypt/aes.js: Added.
* web-platform-tests/WebCryptoAPI/encrypt_decrypt/aes_cbc.worker-expected.txt: Added.
* web-platform-tests/WebCryptoAPI/encrypt_decrypt/aes_cbc.worker.html: Added.
* web-platform-tests/WebCryptoAPI/encrypt_decrypt/aes_cbc.worker.js: Added.
* web-platform-tests/WebCryptoAPI/encrypt_decrypt/aes_cbc_vectors.js: Added.
* web-platform-tests/WebCryptoAPI/encrypt_decrypt/aes_ctr.worker-expected.txt: Added.
* web-platform-tests/WebCryptoAPI/encrypt_decrypt/aes_ctr.worker.html: Added.
* web-platform-tests/WebCryptoAPI/encrypt_decrypt/aes_ctr.worker.js: Added.
* web-platform-tests/WebCryptoAPI/encrypt_decrypt/aes_ctr_vectors.js: Added.
* web-platform-tests/WebCryptoAPI/encrypt_decrypt/aes_gcm.worker-expected.txt: Added.
* web-platform-tests/WebCryptoAPI/encrypt_decrypt/aes_gcm.worker.html: Added.
* web-platform-tests/WebCryptoAPI/encrypt_decrypt/aes_gcm.worker.js: Added.
* web-platform-tests/WebCryptoAPI/encrypt_decrypt/aes_gcm_vectors.js: Added.
* web-platform-tests/WebCryptoAPI/encrypt_decrypt/rsa.js: Added.
* web-platform-tests/WebCryptoAPI/encrypt_decrypt/rsa.worker-expected.txt: Added.
* web-platform-tests/WebCryptoAPI/encrypt_decrypt/rsa.worker.html: Added.
* web-platform-tests/WebCryptoAPI/encrypt_decrypt/rsa.worker.js: Added.
* web-platform-tests/WebCryptoAPI/encrypt_decrypt/rsa_vectors.js: Added.
* web-platform-tests/WebCryptoAPI/encrypt_decrypt/test_aes_cbc-expected.txt: Added.
* web-platform-tests/WebCryptoAPI/encrypt_decrypt/test_aes_cbc.html: Added.
* web-platform-tests/WebCryptoAPI/encrypt_decrypt/test_aes_ctr-expected.txt: Added.
* web-platform-tests/WebCryptoAPI/encrypt_decrypt/test_aes_ctr.html: Added.
* web-platform-tests/WebCryptoAPI/encrypt_decrypt/test_aes_gcm-expected.txt: Added.
* web-platform-tests/WebCryptoAPI/encrypt_decrypt/test_aes_gcm.html: Added.
* web-platform-tests/WebCryptoAPI/encrypt_decrypt/test_rsa_oaep-expected.txt: Added.
* web-platform-tests/WebCryptoAPI/encrypt_decrypt/test_rsa_oaep.html: Added.
* web-platform-tests/WebCryptoAPI/encrypt_decrypt/w3c-import.log: Added.
* web-platform-tests/WebCryptoAPI/generateKey/failures.js: Added.
* web-platform-tests/WebCryptoAPI/generateKey/failures.worker-expected.txt: Added.
* web-platform-tests/WebCryptoAPI/generateKey/failures.worker.html: Added.
* web-platform-tests/WebCryptoAPI/generateKey/failures.worker.js: Added.
* web-platform-tests/WebCryptoAPI/generateKey/failures_AES-CBC.worker-expected.txt: Added.
* web-platform-tests/WebCryptoAPI/generateKey/failures_AES-CBC.worker.html: Added.
* web-platform-tests/WebCryptoAPI/generateKey/failures_AES-CBC.worker.js: Added.
* web-platform-tests/WebCryptoAPI/generateKey/failures_AES-CTR.worker-expected.txt: Added.
* web-platform-tests/WebCryptoAPI/generateKey/failures_AES-CTR.worker.html: Added.
* web-platform-tests/WebCryptoAPI/generateKey/failures_AES-CTR.worker.js: Added.
* web-platform-tests/WebCryptoAPI/generateKey/failures_AES-GCM.worker-expected.txt: Added.
* web-platform-tests/WebCryptoAPI/generateKey/failures_AES-GCM.worker.html: Added.
* web-platform-tests/WebCryptoAPI/generateKey/failures_AES-GCM.worker.js: Added.
* web-platform-tests/WebCryptoAPI/generateKey/failures_AES-KW.worker-expected.txt: Added.
* web-platform-tests/WebCryptoAPI/generateKey/failures_AES-KW.worker.html: Added.
* web-platform-tests/WebCryptoAPI/generateKey/failures_AES-KW.worker.js: Added.
* web-platform-tests/WebCryptoAPI/generateKey/failures_ECDH.worker-expected.txt: Added.
* web-platform-tests/WebCryptoAPI/generateKey/failures_ECDH.worker.html: Added.
* web-platform-tests/WebCryptoAPI/generateKey/failures_ECDH.worker.js: Added.
* web-platform-tests/WebCryptoAPI/generateKey/failures_ECDSA.worker-expected.txt: Added.
* web-platform-tests/WebCryptoAPI/generateKey/failures_ECDSA.worker.html: Added.
* web-platform-tests/WebCryptoAPI/generateKey/failures_ECDSA.worker.js: Added.
* web-platform-tests/WebCryptoAPI/generateKey/failures_HMAC.worker-expected.txt: Added.
* web-platform-tests/WebCryptoAPI/generateKey/failures_HMAC.worker.html: Added.
* web-platform-tests/WebCryptoAPI/generateKey/failures_HMAC.worker.js: Added.
* web-platform-tests/WebCryptoAPI/generateKey/failures_RSA-OAEP.worker-expected.txt: Added.
* web-platform-tests/WebCryptoAPI/generateKey/failures_RSA-OAEP.worker.html: Added.
* web-platform-tests/WebCryptoAPI/generateKey/failures_RSA-OAEP.worker.js: Added.
* web-platform-tests/WebCryptoAPI/generateKey/failures_RSA-PSS.worker-expected.txt: Added.
* web-platform-tests/WebCryptoAPI/generateKey/failures_RSA-PSS.worker.html: Added.
* web-platform-tests/WebCryptoAPI/generateKey/failures_RSA-PSS.worker.js: Added.
* web-platform-tests/WebCryptoAPI/generateKey/failures_RSASSA-PKCS1-v1_5.worker-expected.txt: Added.
* web-platform-tests/WebCryptoAPI/generateKey/failures_RSASSA-PKCS1-v1_5.worker.html: Added.
* web-platform-tests/WebCryptoAPI/generateKey/failures_RSASSA-PKCS1-v1_5.worker.js: Added.
* web-platform-tests/WebCryptoAPI/generateKey/successes.js: Added.
* web-platform-tests/WebCryptoAPI/generateKey/successes.worker-expected.txt: Added.
* web-platform-tests/WebCryptoAPI/generateKey/successes.worker.html: Added.
* web-platform-tests/WebCryptoAPI/generateKey/successes.worker.js: Added.
* web-platform-tests/WebCryptoAPI/generateKey/successes_AES-CBC.worker-expected.txt: Added.
* web-platform-tests/WebCryptoAPI/generateKey/successes_AES-CBC.worker.html: Added.
* web-platform-tests/WebCryptoAPI/generateKey/successes_AES-CBC.worker.js: Added.
* web-platform-tests/WebCryptoAPI/generateKey/successes_AES-CTR.worker-expected.txt: Added.
* web-platform-tests/WebCryptoAPI/generateKey/successes_AES-CTR.worker.html: Added.
* web-platform-tests/WebCryptoAPI/generateKey/successes_AES-CTR.worker.js: Added.
* web-platform-tests/WebCryptoAPI/generateKey/successes_AES-GCM.worker-expected.txt: Added.
* web-platform-tests/WebCryptoAPI/generateKey/successes_AES-GCM.worker.html: Added.
* web-platform-tests/WebCryptoAPI/generateKey/successes_AES-GCM.worker.js: Added.
* web-platform-tests/WebCryptoAPI/generateKey/successes_AES-KW.worker-expected.txt: Added.
* web-platform-tests/WebCryptoAPI/generateKey/successes_AES-KW.worker.html: Added.
* web-platform-tests/WebCryptoAPI/generateKey/successes_AES-KW.worker.js: Added.
* web-platform-tests/WebCryptoAPI/generateKey/successes_ECDH.worker-expected.txt: Added.
* web-platform-tests/WebCryptoAPI/generateKey/successes_ECDH.worker.html: Added.
* web-platform-tests/WebCryptoAPI/generateKey/successes_ECDH.worker.js: Added.
* web-platform-tests/WebCryptoAPI/generateKey/successes_ECDSA.worker-expected.txt: Added.
* web-platform-tests/WebCryptoAPI/generateKey/successes_ECDSA.worker.html: Added.
* web-platform-tests/WebCryptoAPI/generateKey/successes_ECDSA.worker.js: Added.
* web-platform-tests/WebCryptoAPI/generateKey/successes_HMAC.worker-expected.txt: Added.
* web-platform-tests/WebCryptoAPI/generateKey/successes_HMAC.worker.html: Added.
* web-platform-tests/WebCryptoAPI/generateKey/successes_HMAC.worker.js: Added.
* web-platform-tests/WebCryptoAPI/generateKey/successes_RSA-OAEP.worker-expected.txt: Added.
* web-platform-tests/WebCryptoAPI/generateKey/successes_RSA-OAEP.worker.html: Added.
* web-platform-tests/WebCryptoAPI/generateKey/successes_RSA-OAEP.worker.js: Added.
* web-platform-tests/WebCryptoAPI/generateKey/successes_RSA-PSS.worker-expected.txt: Added.
* web-platform-tests/WebCryptoAPI/generateKey/successes_RSA-PSS.worker.html: Added.
* web-platform-tests/WebCryptoAPI/generateKey/successes_RSA-PSS.worker.js: Added.
* web-platform-tests/WebCryptoAPI/generateKey/successes_RSASSA-PKCS1-v1_5.worker-expected.txt: Added.
* web-platform-tests/WebCryptoAPI/generateKey/successes_RSASSA-PKCS1-v1_5.worker.html: Added.
* web-platform-tests/WebCryptoAPI/generateKey/successes_RSASSA-PKCS1-v1_5.worker.js: Added.
* web-platform-tests/WebCryptoAPI/generateKey/test_aes-cbc-expected.txt: Added.
* web-platform-tests/WebCryptoAPI/generateKey/test_aes-cbc.html: Added.
* web-platform-tests/WebCryptoAPI/generateKey/test_aes-ctr-expected.txt: Added.
* web-platform-tests/WebCryptoAPI/generateKey/test_aes-ctr.html: Added.
* web-platform-tests/WebCryptoAPI/generateKey/test_failures-expected.txt: Added.
* web-platform-tests/WebCryptoAPI/generateKey/test_failures.html: Added.
* web-platform-tests/WebCryptoAPI/generateKey/test_failures_AES-CBC-expected.txt: Added.
* web-platform-tests/WebCryptoAPI/generateKey/test_failures_AES-CBC.html: Added.
* web-platform-tests/WebCryptoAPI/generateKey/test_failures_AES-CTR-expected.txt: Added.
* web-platform-tests/WebCryptoAPI/generateKey/test_failures_AES-CTR.html: Added.
* web-platform-tests/WebCryptoAPI/generateKey/test_failures_AES-GCM-expected.txt: Added.
* web-platform-tests/WebCryptoAPI/generateKey/test_failures_AES-GCM.html: Added.
* web-platform-tests/WebCryptoAPI/generateKey/test_failures_AES-KW-expected.txt: Added.
* web-platform-tests/WebCryptoAPI/generateKey/test_failures_AES-KW.html: Added.
* web-platform-tests/WebCryptoAPI/generateKey/test_failures_ECDH-expected.txt: Added.
* web-platform-tests/WebCryptoAPI/generateKey/test_failures_ECDH.html: Added.
* web-platform-tests/WebCryptoAPI/generateKey/test_failures_ECDSA-expected.txt: Added.
* web-platform-tests/WebCryptoAPI/generateKey/test_failures_ECDSA.html: Added.
* web-platform-tests/WebCryptoAPI/generateKey/test_failures_HMAC-expected.txt: Added.
* web-platform-tests/WebCryptoAPI/generateKey/test_failures_HMAC.html: Added.
* web-platform-tests/WebCryptoAPI/generateKey/test_failures_RSA-OAEP-expected.txt: Added.
* web-platform-tests/WebCryptoAPI/generateKey/test_failures_RSA-OAEP.html: Added.
* web-platform-tests/WebCryptoAPI/generateKey/test_failures_RSA-PSS-expected.txt: Added.
* web-platform-tests/WebCryptoAPI/generateKey/test_failures_RSA-PSS.html: Added.
* web-platform-tests/WebCryptoAPI/generateKey/test_failures_RSASSA-PKCS1-v1_5-expected.txt: Added.
* web-platform-tests/WebCryptoAPI/generateKey/test_failures_RSASSA-PKCS1-v1_5.html: Added.
* web-platform-tests/WebCryptoAPI/generateKey/test_successes-expected.txt: Added.
* web-platform-tests/WebCryptoAPI/generateKey/test_successes.html: Added.
* web-platform-tests/WebCryptoAPI/generateKey/test_successes_AES-CBC-expected.txt: Added.
* web-platform-tests/WebCryptoAPI/generateKey/test_successes_AES-CBC.html: Added.
* web-platform-tests/WebCryptoAPI/generateKey/test_successes_AES-CTR-expected.txt: Added.
* web-platform-tests/WebCryptoAPI/generateKey/test_successes_AES-CTR.html: Added.
* web-platform-tests/WebCryptoAPI/generateKey/test_successes_AES-GCM-expected.txt: Added.
* web-platform-tests/WebCryptoAPI/generateKey/test_successes_AES-GCM.html: Added.
* web-platform-tests/WebCryptoAPI/generateKey/test_successes_AES-KW-expected.txt: Added.
* web-platform-tests/WebCryptoAPI/generateKey/test_successes_AES-KW.html: Added.
* web-platform-tests/WebCryptoAPI/generateKey/test_successes_ECDH-expected.txt: Added.
* web-platform-tests/WebCryptoAPI/generateKey/test_successes_ECDH.html: Added.
* web-platform-tests/WebCryptoAPI/generateKey/test_successes_ECDSA-expected.txt: Added.
* web-platform-tests/WebCryptoAPI/generateKey/test_successes_ECDSA.html: Added.
* web-platform-tests/WebCryptoAPI/generateKey/test_successes_HMAC-expected.txt: Added.
* web-platform-tests/WebCryptoAPI/generateKey/test_successes_HMAC.html: Added.
* web-platform-tests/WebCryptoAPI/generateKey/test_successes_RSA-OAEP-expected.txt: Added.
* web-platform-tests/WebCryptoAPI/generateKey/test_successes_RSA-OAEP.html: Added.
* web-platform-tests/WebCryptoAPI/generateKey/test_successes_RSA-PSS-expected.txt: Added.
* web-platform-tests/WebCryptoAPI/generateKey/test_successes_RSA-PSS.html: Added.
* web-platform-tests/WebCryptoAPI/generateKey/test_successes_RSASSA-PKCS1-v1_5-expected.txt: Added.
* web-platform-tests/WebCryptoAPI/generateKey/test_successes_RSASSA-PKCS1-v1_5.html: Added.
* web-platform-tests/WebCryptoAPI/generateKey/w3c-import.log: Added.
* web-platform-tests/WebCryptoAPI/getRandomValues.js: Added.
* web-platform-tests/WebCryptoAPI/getRandomValues.worker-expected.txt: Added.
* web-platform-tests/WebCryptoAPI/getRandomValues.worker.html: Added.
* web-platform-tests/WebCryptoAPI/getRandomValues.worker.js: Added.
* web-platform-tests/WebCryptoAPI/idlharness-expected.txt: Added.
* web-platform-tests/WebCryptoAPI/idlharness.html: Added.
* web-platform-tests/WebCryptoAPI/idlharness.worker-expected.txt: Added.
* web-platform-tests/WebCryptoAPI/idlharness.worker.html: Added.
* web-platform-tests/WebCryptoAPI/idlharness.worker.js: Added.
* web-platform-tests/WebCryptoAPI/import_export/ec_importKey.js: Added.
* web-platform-tests/WebCryptoAPI/import_export/ec_importKey.worker-expected.txt: Added.
* web-platform-tests/WebCryptoAPI/import_export/ec_importKey.worker.html: Added.
* web-platform-tests/WebCryptoAPI/import_export/ec_importKey.worker.js: Added.
* web-platform-tests/WebCryptoAPI/import_export/rsa_importKey.js: Added.
* web-platform-tests/WebCryptoAPI/import_export/rsa_importKey.worker-expected.txt: Added.
* web-platform-tests/WebCryptoAPI/import_export/rsa_importKey.worker.html: Added.
* web-platform-tests/WebCryptoAPI/import_export/rsa_importKey.worker.js: Added.
* web-platform-tests/WebCryptoAPI/import_export/symmetric_importKey.js: Added.
* web-platform-tests/WebCryptoAPI/import_export/symmetric_importKey.worker-expected.txt: Added.
* web-platform-tests/WebCryptoAPI/import_export/symmetric_importKey.worker.html: Added.
* web-platform-tests/WebCryptoAPI/import_export/symmetric_importKey.worker.js: Added.
* web-platform-tests/WebCryptoAPI/import_export/test_ec_importKey-expected.txt: Added.
* web-platform-tests/WebCryptoAPI/import_export/test_ec_importKey.html: Added.
* web-platform-tests/WebCryptoAPI/import_export/test_rsa_importKey-expected.txt: Added.
* web-platform-tests/WebCryptoAPI/import_export/test_rsa_importKey.html: Added.
* web-platform-tests/WebCryptoAPI/import_export/test_symmetric_importKey-expected.txt: Added.
* web-platform-tests/WebCryptoAPI/import_export/test_symmetric_importKey.html: Added.
* web-platform-tests/WebCryptoAPI/import_export/w3c-import.log: Added.
* web-platform-tests/WebCryptoAPI/sign_verify/ecdsa.js: Added.
* web-platform-tests/WebCryptoAPI/sign_verify/ecdsa.worker-expected.txt: Added.
* web-platform-tests/WebCryptoAPI/sign_verify/ecdsa.worker.html: Added.
* web-platform-tests/WebCryptoAPI/sign_verify/ecdsa.worker.js: Added.
* web-platform-tests/WebCryptoAPI/sign_verify/ecdsa_vectors.js: Added.
* web-platform-tests/WebCryptoAPI/sign_verify/hmac.js: Added.
* web-platform-tests/WebCryptoAPI/sign_verify/hmac.worker-expected.txt: Added.
* web-platform-tests/WebCryptoAPI/sign_verify/hmac.worker.html: Added.
* web-platform-tests/WebCryptoAPI/sign_verify/hmac.worker.js: Added.
* web-platform-tests/WebCryptoAPI/sign_verify/hmac_vectors.js: Added.
* web-platform-tests/WebCryptoAPI/sign_verify/rsa.js: Added.
* web-platform-tests/WebCryptoAPI/sign_verify/rsa_pkcs.worker-expected.txt: Added.
* web-platform-tests/WebCryptoAPI/sign_verify/rsa_pkcs.worker.html: Added.
* web-platform-tests/WebCryptoAPI/sign_verify/rsa_pkcs.worker.js: Added.
* web-platform-tests/WebCryptoAPI/sign_verify/rsa_pkcs_vectors.js: Added.
* web-platform-tests/WebCryptoAPI/sign_verify/rsa_pss.worker-expected.txt: Added.
* web-platform-tests/WebCryptoAPI/sign_verify/rsa_pss.worker.html: Added.
* web-platform-tests/WebCryptoAPI/sign_verify/rsa_pss.worker.js: Added.
* web-platform-tests/WebCryptoAPI/sign_verify/rsa_pss_vectors.js: Added.
* web-platform-tests/WebCryptoAPI/sign_verify/test_ecdsa-expected.txt: Added.
* web-platform-tests/WebCryptoAPI/sign_verify/test_ecdsa.html: Added.
* web-platform-tests/WebCryptoAPI/sign_verify/test_hmac-expected.txt: Added.
* web-platform-tests/WebCryptoAPI/sign_verify/test_hmac.html: Added.
* web-platform-tests/WebCryptoAPI/sign_verify/test_rsa_pkcs-expected.txt: Added.
* web-platform-tests/WebCryptoAPI/sign_verify/test_rsa_pkcs.html: Added.
* web-platform-tests/WebCryptoAPI/sign_verify/test_rsa_pss-expected.txt: Added.
* web-platform-tests/WebCryptoAPI/sign_verify/test_rsa_pss.html: Added.
* web-platform-tests/WebCryptoAPI/sign_verify/w3c-import.log: Added.
* web-platform-tests/WebCryptoAPI/test_getRandomValues-expected.txt: Added.
* web-platform-tests/WebCryptoAPI/test_getRandomValues.html: Added.
* web-platform-tests/WebCryptoAPI/tools/generate.py: Added.
* web-platform-tests/WebCryptoAPI/tools/w3c-import.log: Added.
* web-platform-tests/WebCryptoAPI/util/helpers.js: Added.
* web-platform-tests/WebCryptoAPI/util/w3c-import.log: Added.
* web-platform-tests/WebCryptoAPI/w3c-import.log: Added.
* web-platform-tests/WebCryptoAPI/wrapKey_unwrapKey/test_wrapKey_unwrapKey-expected.txt: Added.
* web-platform-tests/WebCryptoAPI/wrapKey_unwrapKey/test_wrapKey_unwrapKey.html: Added.
* web-platform-tests/WebCryptoAPI/wrapKey_unwrapKey/w3c-import.log: Added.
* web-platform-tests/WebCryptoAPI/wrapKey_unwrapKey/wrapKey_unwrapKey.js: Added.
* web-platform-tests/WebCryptoAPI/wrapKey_unwrapKey/wrapKey_unwrapKey.worker-expected.txt: Added.
* web-platform-tests/WebCryptoAPI/wrapKey_unwrapKey/wrapKey_unwrapKey.worker.html: Added.
* web-platform-tests/WebCryptoAPI/wrapKey_unwrapKey/wrapKey_unwrapKey.worker.js: Added.

LayoutTests:

* TestExpectations:
Skip superset/unsupported tests and mark slow tests as Slow.
* tests-options.json:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@212124 268f45cc-cd09-0410-ab3c-d52691b4dbfc

256 files changed:
LayoutTests/ChangeLog
LayoutTests/TestExpectations
LayoutTests/imported/w3c/ChangeLog
LayoutTests/imported/w3c/resources/import-expectations.json
LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/OWNERS [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/README.md [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/WebCryptoAPI.idl [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/derive_bits_keys/ecdh_bits.js [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/derive_bits_keys/ecdh_bits.worker-expected.txt [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/derive_bits_keys/ecdh_bits.worker.html [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/derive_bits_keys/ecdh_bits.worker.js [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/derive_bits_keys/ecdh_keys.js [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/derive_bits_keys/ecdh_keys.worker-expected.txt [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/derive_bits_keys/ecdh_keys.worker.html [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/derive_bits_keys/ecdh_keys.worker.js [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/derive_bits_keys/hkdf.js [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/derive_bits_keys/hkdf.worker-expected.txt [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/derive_bits_keys/hkdf.worker.html [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/derive_bits_keys/hkdf.worker.js [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/derive_bits_keys/hkdf_vectors.js [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/derive_bits_keys/pbkdf2.js [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/derive_bits_keys/pbkdf2.worker-expected.txt [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/derive_bits_keys/pbkdf2.worker.html [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/derive_bits_keys/pbkdf2.worker.js [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/derive_bits_keys/pbkdf2_vectors.js [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/derive_bits_keys/test_ecdh_bits-expected.txt [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/derive_bits_keys/test_ecdh_bits.html [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/derive_bits_keys/test_ecdh_keys-expected.txt [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/derive_bits_keys/test_ecdh_keys.html [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/derive_bits_keys/test_hkdf-expected.txt [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/derive_bits_keys/test_hkdf.html [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/derive_bits_keys/test_pbkdf2-expected.txt [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/derive_bits_keys/test_pbkdf2.html [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/derive_bits_keys/w3c-import.log [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/digest/digest.js [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/digest/digest.worker-expected.txt [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/digest/digest.worker.html [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/digest/digest.worker.js [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/digest/test_digest-expected.txt [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/digest/test_digest.html [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/digest/w3c-import.log [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/encrypt_decrypt/aes.js [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/encrypt_decrypt/aes_cbc.worker-expected.txt [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/encrypt_decrypt/aes_cbc.worker.html [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/encrypt_decrypt/aes_cbc.worker.js [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/encrypt_decrypt/aes_cbc_vectors.js [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/encrypt_decrypt/aes_ctr.worker-expected.txt [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/encrypt_decrypt/aes_ctr.worker.html [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/encrypt_decrypt/aes_ctr.worker.js [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/encrypt_decrypt/aes_ctr_vectors.js [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/encrypt_decrypt/aes_gcm.worker-expected.txt [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/encrypt_decrypt/aes_gcm.worker.html [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/encrypt_decrypt/aes_gcm.worker.js [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/encrypt_decrypt/aes_gcm_vectors.js [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/encrypt_decrypt/rsa.js [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/encrypt_decrypt/rsa.worker-expected.txt [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/encrypt_decrypt/rsa.worker.html [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/encrypt_decrypt/rsa.worker.js [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/encrypt_decrypt/rsa_vectors.js [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/encrypt_decrypt/test_aes_cbc-expected.txt [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/encrypt_decrypt/test_aes_cbc.html [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/encrypt_decrypt/test_aes_ctr-expected.txt [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/encrypt_decrypt/test_aes_ctr.html [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/encrypt_decrypt/test_aes_gcm-expected.txt [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/encrypt_decrypt/test_aes_gcm.html [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/encrypt_decrypt/test_rsa_oaep-expected.txt [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/encrypt_decrypt/test_rsa_oaep.html [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/encrypt_decrypt/w3c-import.log [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/failures.js [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/failures.worker-expected.txt [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/failures.worker.html [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/failures.worker.js [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/failures_AES-CBC.worker-expected.txt [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/failures_AES-CBC.worker.html [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/failures_AES-CBC.worker.js [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/failures_AES-CTR.worker-expected.txt [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/failures_AES-CTR.worker.html [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/failures_AES-CTR.worker.js [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/failures_AES-GCM.worker-expected.txt [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/failures_AES-GCM.worker.html [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/failures_AES-GCM.worker.js [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/failures_AES-KW.worker-expected.txt [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/failures_AES-KW.worker.html [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/failures_AES-KW.worker.js [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/failures_ECDH.worker-expected.txt [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/failures_ECDH.worker.html [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/failures_ECDH.worker.js [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/failures_ECDSA.worker-expected.txt [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/failures_ECDSA.worker.html [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/failures_ECDSA.worker.js [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/failures_HMAC.worker-expected.txt [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/failures_HMAC.worker.html [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/failures_HMAC.worker.js [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/failures_RSA-OAEP.worker-expected.txt [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/failures_RSA-OAEP.worker.html [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/failures_RSA-OAEP.worker.js [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/failures_RSA-PSS.worker-expected.txt [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/failures_RSA-PSS.worker.html [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/failures_RSA-PSS.worker.js [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/failures_RSASSA-PKCS1-v1_5.worker-expected.txt [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/failures_RSASSA-PKCS1-v1_5.worker.html [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/failures_RSASSA-PKCS1-v1_5.worker.js [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/successes.js [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/successes.worker-expected.txt [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/successes.worker.html [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/successes.worker.js [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/successes_AES-CBC.worker-expected.txt [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/successes_AES-CBC.worker.html [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/successes_AES-CBC.worker.js [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/successes_AES-CTR.worker-expected.txt [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/successes_AES-CTR.worker.html [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/successes_AES-CTR.worker.js [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/successes_AES-GCM.worker-expected.txt [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/successes_AES-GCM.worker.html [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/successes_AES-GCM.worker.js [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/successes_AES-KW.worker-expected.txt [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/successes_AES-KW.worker.html [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/successes_AES-KW.worker.js [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/successes_ECDH.worker-expected.txt [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/successes_ECDH.worker.html [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/successes_ECDH.worker.js [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/successes_ECDSA.worker-expected.txt [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/successes_ECDSA.worker.html [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/successes_ECDSA.worker.js [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/successes_HMAC.worker-expected.txt [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/successes_HMAC.worker.html [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/successes_HMAC.worker.js [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/successes_RSA-OAEP.worker-expected.txt [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/successes_RSA-OAEP.worker.html [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/successes_RSA-OAEP.worker.js [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/successes_RSA-PSS.worker-expected.txt [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/successes_RSA-PSS.worker.html [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/successes_RSA-PSS.worker.js [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/successes_RSASSA-PKCS1-v1_5.worker-expected.txt [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/successes_RSASSA-PKCS1-v1_5.worker.html [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/successes_RSASSA-PKCS1-v1_5.worker.js [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/test_aes-cbc-expected.txt [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/test_aes-cbc.html [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/test_aes-ctr-expected.txt [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/test_aes-ctr.html [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/test_failures-expected.txt [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/test_failures.html [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/test_failures_AES-CBC-expected.txt [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/test_failures_AES-CBC.html [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/test_failures_AES-CTR-expected.txt [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/test_failures_AES-CTR.html [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/test_failures_AES-GCM-expected.txt [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/test_failures_AES-GCM.html [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/test_failures_AES-KW-expected.txt [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/test_failures_AES-KW.html [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/test_failures_ECDH-expected.txt [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/test_failures_ECDH.html [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/test_failures_ECDSA-expected.txt [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/test_failures_ECDSA.html [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/test_failures_HMAC-expected.txt [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/test_failures_HMAC.html [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/test_failures_RSA-OAEP-expected.txt [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/test_failures_RSA-OAEP.html [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/test_failures_RSA-PSS-expected.txt [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/test_failures_RSA-PSS.html [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/test_failures_RSASSA-PKCS1-v1_5-expected.txt [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/test_failures_RSASSA-PKCS1-v1_5.html [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/test_successes-expected.txt [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/test_successes.html [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/test_successes_AES-CBC-expected.txt [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/test_successes_AES-CBC.html [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/test_successes_AES-CTR-expected.txt [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/test_successes_AES-CTR.html [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/test_successes_AES-GCM-expected.txt [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/test_successes_AES-GCM.html [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/test_successes_AES-KW-expected.txt [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/test_successes_AES-KW.html [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/test_successes_ECDH-expected.txt [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/test_successes_ECDH.html [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/test_successes_ECDSA-expected.txt [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/test_successes_ECDSA.html [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/test_successes_HMAC-expected.txt [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/test_successes_HMAC.html [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/test_successes_RSA-OAEP-expected.txt [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/test_successes_RSA-OAEP.html [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/test_successes_RSA-PSS-expected.txt [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/test_successes_RSA-PSS.html [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/test_successes_RSASSA-PKCS1-v1_5-expected.txt [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/test_successes_RSASSA-PKCS1-v1_5.html [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/w3c-import.log [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/getRandomValues.js [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/getRandomValues.worker-expected.txt [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/getRandomValues.worker.html [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/getRandomValues.worker.js [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/idlharness-expected.txt [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/idlharness.html [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/idlharness.worker-expected.txt [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/idlharness.worker.html [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/idlharness.worker.js [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/import_export/ec_importKey.js [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/import_export/ec_importKey.worker-expected.txt [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/import_export/ec_importKey.worker.html [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/import_export/ec_importKey.worker.js [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/import_export/rsa_importKey.js [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/import_export/rsa_importKey.worker-expected.txt [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/import_export/rsa_importKey.worker.html [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/import_export/rsa_importKey.worker.js [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/import_export/symmetric_importKey.js [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/import_export/symmetric_importKey.worker-expected.txt [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/import_export/symmetric_importKey.worker.html [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/import_export/symmetric_importKey.worker.js [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/import_export/test_ec_importKey-expected.txt [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/import_export/test_ec_importKey.html [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/import_export/test_rsa_importKey-expected.txt [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/import_export/test_rsa_importKey.html [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/import_export/test_symmetric_importKey-expected.txt [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/import_export/test_symmetric_importKey.html [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/import_export/w3c-import.log [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/sign_verify/ecdsa.js [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/sign_verify/ecdsa.worker-expected.txt [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/sign_verify/ecdsa.worker.html [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/sign_verify/ecdsa.worker.js [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/sign_verify/ecdsa_vectors.js [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/sign_verify/hmac.js [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/sign_verify/hmac.worker-expected.txt [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/sign_verify/hmac.worker.html [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/sign_verify/hmac.worker.js [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/sign_verify/hmac_vectors.js [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/sign_verify/rsa.js [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/sign_verify/rsa_pkcs.worker-expected.txt [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/sign_verify/rsa_pkcs.worker.html [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/sign_verify/rsa_pkcs.worker.js [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/sign_verify/rsa_pkcs_vectors.js [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/sign_verify/rsa_pss.worker-expected.txt [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/sign_verify/rsa_pss.worker.html [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/sign_verify/rsa_pss.worker.js [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/sign_verify/rsa_pss_vectors.js [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/sign_verify/test_ecdsa-expected.txt [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/sign_verify/test_ecdsa.html [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/sign_verify/test_hmac-expected.txt [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/sign_verify/test_hmac.html [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/sign_verify/test_rsa_pkcs-expected.txt [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/sign_verify/test_rsa_pkcs.html [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/sign_verify/test_rsa_pss-expected.txt [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/sign_verify/test_rsa_pss.html [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/sign_verify/w3c-import.log [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/test_getRandomValues-expected.txt [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/test_getRandomValues.html [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/tools/generate.py [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/tools/w3c-import.log [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/util/helpers.js [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/util/w3c-import.log [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/w3c-import.log [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/wrapKey_unwrapKey/test_wrapKey_unwrapKey-expected.txt [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/wrapKey_unwrapKey/test_wrapKey_unwrapKey.html [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/wrapKey_unwrapKey/w3c-import.log [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/wrapKey_unwrapKey/wrapKey_unwrapKey.js [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/wrapKey_unwrapKey/wrapKey_unwrapKey.worker-expected.txt [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/wrapKey_unwrapKey/wrapKey_unwrapKey.worker.html [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/wrapKey_unwrapKey/wrapKey_unwrapKey.worker.js [new file with mode: 0644]
LayoutTests/tests-options.json

index e958664..0d93d93 100644 (file)
@@ -1,3 +1,14 @@
+2017-02-08  Jiewen Tan  <jiewen_tan@apple.com>
+
+        [WebCrypto] Import imported/w3c/web-platform-tests/WebCryptoAPI tests
+        https://bugs.webkit.org/show_bug.cgi?id=165723
+
+        Reviewed by Youenn Fablet.
+
+        * TestExpectations:
+        Skip superset/unsupported tests and mark slow tests as Slow.
+        * tests-options.json:
+
 2017-02-10  Ryan Haddad  <ryanhaddad@apple.com>
 
         Mark compositing/masks/solid-color-masked.html as failing on ios-simulator.
index 68cabaf..afe7701 100644 (file)
@@ -925,10 +925,21 @@ workers/bomb-with-v8.html [ Skip ]
 # WebCryptoAPI tests that take too long to complete, need to scale down. webkit.org/b/159638
 imported/w3c/WebCryptoAPI/generateKey/test_successes_RSA-OAEP.html [ Skip ]
 imported/w3c/WebCryptoAPI/generateKey/test_successes_RSASSA-PKCS1-v1_5.html [ Slow ]
+imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/successes_RSA-OAEP.worker.html [ Slow ]
+imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/successes_RSASSA-PKCS1-v1_5.worker.html [ Slow ]
+imported/w3c/web-platform-tests/WebCryptoAPI/import_export/rsa_importKey.worker.html [ Slow ]
+imported/w3c/web-platform-tests/WebCryptoAPI/import_export/test_rsa_importKey.html [ Slow ]
+
+# WebCryptoAPI tests that we haven't fully supported yet
+imported/w3c/web-platform-tests/WebCryptoAPI/wrapKey_unwrapKey/wrapKey_unwrapKey.worker.html [ Skip ]
 
 # WebCryptoAPI superset tests
 imported/w3c/WebCryptoAPI/generateKey/test_failures.html [ Skip ]
 imported/w3c/WebCryptoAPI/generateKey/test_successes.html [ Skip ]
+imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/test_failures.html [ Skip ]
+imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/test_successes.html [ Skip ]
+imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/successes.worker.html [ Skip ]
+imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/failures.worker.html [ Skip ]
 
 editing/deleting/delete-emoji.html [ Slow ]
 
index 90d0927..add2e2e 100644 (file)
@@ -1,3 +1,263 @@
+2017-02-08  Jiewen Tan  <jiewen_tan@apple.com>
+
+        [WebCrypto] Import imported/w3c/web-platform-tests/WebCryptoAPI tests
+        https://bugs.webkit.org/show_bug.cgi?id=165723
+
+        Reviewed by Youenn Fablet.
+
+        * resources/import-expectations.json:
+        * web-platform-tests/WebCryptoAPI/OWNERS: Added.
+        * web-platform-tests/WebCryptoAPI/README.md: Added.
+        * web-platform-tests/WebCryptoAPI/WebCryptoAPI.idl: Added.
+        * web-platform-tests/WebCryptoAPI/derive_bits_keys/ecdh_bits.js: Added.
+        * web-platform-tests/WebCryptoAPI/derive_bits_keys/ecdh_bits.worker-expected.txt: Added.
+        * web-platform-tests/WebCryptoAPI/derive_bits_keys/ecdh_bits.worker.html: Added.
+        * web-platform-tests/WebCryptoAPI/derive_bits_keys/ecdh_bits.worker.js: Added.
+        * web-platform-tests/WebCryptoAPI/derive_bits_keys/ecdh_keys.js: Added.
+        * web-platform-tests/WebCryptoAPI/derive_bits_keys/ecdh_keys.worker-expected.txt: Added.
+        * web-platform-tests/WebCryptoAPI/derive_bits_keys/ecdh_keys.worker.html: Added.
+        * web-platform-tests/WebCryptoAPI/derive_bits_keys/ecdh_keys.worker.js: Added.
+        * web-platform-tests/WebCryptoAPI/derive_bits_keys/hkdf.js: Added.
+        * web-platform-tests/WebCryptoAPI/derive_bits_keys/hkdf.worker-expected.txt: Added.
+        * web-platform-tests/WebCryptoAPI/derive_bits_keys/hkdf.worker.html: Added.
+        * web-platform-tests/WebCryptoAPI/derive_bits_keys/hkdf.worker.js: Added.
+        * web-platform-tests/WebCryptoAPI/derive_bits_keys/hkdf_vectors.js: Added.
+        * web-platform-tests/WebCryptoAPI/derive_bits_keys/pbkdf2.js: Added.
+        * web-platform-tests/WebCryptoAPI/derive_bits_keys/pbkdf2.worker-expected.txt: Added.
+        * web-platform-tests/WebCryptoAPI/derive_bits_keys/pbkdf2.worker.html: Added.
+        * web-platform-tests/WebCryptoAPI/derive_bits_keys/pbkdf2.worker.js: Added.
+        * web-platform-tests/WebCryptoAPI/derive_bits_keys/pbkdf2_vectors.js: Added.
+        * web-platform-tests/WebCryptoAPI/derive_bits_keys/test_ecdh_bits-expected.txt: Added.
+        * web-platform-tests/WebCryptoAPI/derive_bits_keys/test_ecdh_bits.html: Added.
+        * web-platform-tests/WebCryptoAPI/derive_bits_keys/test_ecdh_keys-expected.txt: Added.
+        * web-platform-tests/WebCryptoAPI/derive_bits_keys/test_ecdh_keys.html: Added.
+        * web-platform-tests/WebCryptoAPI/derive_bits_keys/test_hkdf-expected.txt: Added.
+        * web-platform-tests/WebCryptoAPI/derive_bits_keys/test_hkdf.html: Added.
+        * web-platform-tests/WebCryptoAPI/derive_bits_keys/test_pbkdf2-expected.txt: Added.
+        * web-platform-tests/WebCryptoAPI/derive_bits_keys/test_pbkdf2.html: Added.
+        * web-platform-tests/WebCryptoAPI/derive_bits_keys/w3c-import.log: Added.
+        * web-platform-tests/WebCryptoAPI/digest/digest.js: Added.
+        * web-platform-tests/WebCryptoAPI/digest/digest.worker-expected.txt: Added.
+        * web-platform-tests/WebCryptoAPI/digest/digest.worker.html: Added.
+        * web-platform-tests/WebCryptoAPI/digest/digest.worker.js: Added.
+        * web-platform-tests/WebCryptoAPI/digest/test_digest-expected.txt: Added.
+        * web-platform-tests/WebCryptoAPI/digest/test_digest.html: Added.
+        * web-platform-tests/WebCryptoAPI/digest/w3c-import.log: Added.
+        * web-platform-tests/WebCryptoAPI/encrypt_decrypt/aes.js: Added.
+        * web-platform-tests/WebCryptoAPI/encrypt_decrypt/aes_cbc.worker-expected.txt: Added.
+        * web-platform-tests/WebCryptoAPI/encrypt_decrypt/aes_cbc.worker.html: Added.
+        * web-platform-tests/WebCryptoAPI/encrypt_decrypt/aes_cbc.worker.js: Added.
+        * web-platform-tests/WebCryptoAPI/encrypt_decrypt/aes_cbc_vectors.js: Added.
+        * web-platform-tests/WebCryptoAPI/encrypt_decrypt/aes_ctr.worker-expected.txt: Added.
+        * web-platform-tests/WebCryptoAPI/encrypt_decrypt/aes_ctr.worker.html: Added.
+        * web-platform-tests/WebCryptoAPI/encrypt_decrypt/aes_ctr.worker.js: Added.
+        * web-platform-tests/WebCryptoAPI/encrypt_decrypt/aes_ctr_vectors.js: Added.
+        * web-platform-tests/WebCryptoAPI/encrypt_decrypt/aes_gcm.worker-expected.txt: Added.
+        * web-platform-tests/WebCryptoAPI/encrypt_decrypt/aes_gcm.worker.html: Added.
+        * web-platform-tests/WebCryptoAPI/encrypt_decrypt/aes_gcm.worker.js: Added.
+        * web-platform-tests/WebCryptoAPI/encrypt_decrypt/aes_gcm_vectors.js: Added.
+        * web-platform-tests/WebCryptoAPI/encrypt_decrypt/rsa.js: Added.
+        * web-platform-tests/WebCryptoAPI/encrypt_decrypt/rsa.worker-expected.txt: Added.
+        * web-platform-tests/WebCryptoAPI/encrypt_decrypt/rsa.worker.html: Added.
+        * web-platform-tests/WebCryptoAPI/encrypt_decrypt/rsa.worker.js: Added.
+        * web-platform-tests/WebCryptoAPI/encrypt_decrypt/rsa_vectors.js: Added.
+        * web-platform-tests/WebCryptoAPI/encrypt_decrypt/test_aes_cbc-expected.txt: Added.
+        * web-platform-tests/WebCryptoAPI/encrypt_decrypt/test_aes_cbc.html: Added.
+        * web-platform-tests/WebCryptoAPI/encrypt_decrypt/test_aes_ctr-expected.txt: Added.
+        * web-platform-tests/WebCryptoAPI/encrypt_decrypt/test_aes_ctr.html: Added.
+        * web-platform-tests/WebCryptoAPI/encrypt_decrypt/test_aes_gcm-expected.txt: Added.
+        * web-platform-tests/WebCryptoAPI/encrypt_decrypt/test_aes_gcm.html: Added.
+        * web-platform-tests/WebCryptoAPI/encrypt_decrypt/test_rsa_oaep-expected.txt: Added.
+        * web-platform-tests/WebCryptoAPI/encrypt_decrypt/test_rsa_oaep.html: Added.
+        * web-platform-tests/WebCryptoAPI/encrypt_decrypt/w3c-import.log: Added.
+        * web-platform-tests/WebCryptoAPI/generateKey/failures.js: Added.
+        * web-platform-tests/WebCryptoAPI/generateKey/failures.worker-expected.txt: Added.
+        * web-platform-tests/WebCryptoAPI/generateKey/failures.worker.html: Added.
+        * web-platform-tests/WebCryptoAPI/generateKey/failures.worker.js: Added.
+        * web-platform-tests/WebCryptoAPI/generateKey/failures_AES-CBC.worker-expected.txt: Added.
+        * web-platform-tests/WebCryptoAPI/generateKey/failures_AES-CBC.worker.html: Added.
+        * web-platform-tests/WebCryptoAPI/generateKey/failures_AES-CBC.worker.js: Added.
+        * web-platform-tests/WebCryptoAPI/generateKey/failures_AES-CTR.worker-expected.txt: Added.
+        * web-platform-tests/WebCryptoAPI/generateKey/failures_AES-CTR.worker.html: Added.
+        * web-platform-tests/WebCryptoAPI/generateKey/failures_AES-CTR.worker.js: Added.
+        * web-platform-tests/WebCryptoAPI/generateKey/failures_AES-GCM.worker-expected.txt: Added.
+        * web-platform-tests/WebCryptoAPI/generateKey/failures_AES-GCM.worker.html: Added.
+        * web-platform-tests/WebCryptoAPI/generateKey/failures_AES-GCM.worker.js: Added.
+        * web-platform-tests/WebCryptoAPI/generateKey/failures_AES-KW.worker-expected.txt: Added.
+        * web-platform-tests/WebCryptoAPI/generateKey/failures_AES-KW.worker.html: Added.
+        * web-platform-tests/WebCryptoAPI/generateKey/failures_AES-KW.worker.js: Added.
+        * web-platform-tests/WebCryptoAPI/generateKey/failures_ECDH.worker-expected.txt: Added.
+        * web-platform-tests/WebCryptoAPI/generateKey/failures_ECDH.worker.html: Added.
+        * web-platform-tests/WebCryptoAPI/generateKey/failures_ECDH.worker.js: Added.
+        * web-platform-tests/WebCryptoAPI/generateKey/failures_ECDSA.worker-expected.txt: Added.
+        * web-platform-tests/WebCryptoAPI/generateKey/failures_ECDSA.worker.html: Added.
+        * web-platform-tests/WebCryptoAPI/generateKey/failures_ECDSA.worker.js: Added.
+        * web-platform-tests/WebCryptoAPI/generateKey/failures_HMAC.worker-expected.txt: Added.
+        * web-platform-tests/WebCryptoAPI/generateKey/failures_HMAC.worker.html: Added.
+        * web-platform-tests/WebCryptoAPI/generateKey/failures_HMAC.worker.js: Added.
+        * web-platform-tests/WebCryptoAPI/generateKey/failures_RSA-OAEP.worker-expected.txt: Added.
+        * web-platform-tests/WebCryptoAPI/generateKey/failures_RSA-OAEP.worker.html: Added.
+        * web-platform-tests/WebCryptoAPI/generateKey/failures_RSA-OAEP.worker.js: Added.
+        * web-platform-tests/WebCryptoAPI/generateKey/failures_RSA-PSS.worker-expected.txt: Added.
+        * web-platform-tests/WebCryptoAPI/generateKey/failures_RSA-PSS.worker.html: Added.
+        * web-platform-tests/WebCryptoAPI/generateKey/failures_RSA-PSS.worker.js: Added.
+        * web-platform-tests/WebCryptoAPI/generateKey/failures_RSASSA-PKCS1-v1_5.worker-expected.txt: Added.
+        * web-platform-tests/WebCryptoAPI/generateKey/failures_RSASSA-PKCS1-v1_5.worker.html: Added.
+        * web-platform-tests/WebCryptoAPI/generateKey/failures_RSASSA-PKCS1-v1_5.worker.js: Added.
+        * web-platform-tests/WebCryptoAPI/generateKey/successes.js: Added.
+        * web-platform-tests/WebCryptoAPI/generateKey/successes.worker-expected.txt: Added.
+        * web-platform-tests/WebCryptoAPI/generateKey/successes.worker.html: Added.
+        * web-platform-tests/WebCryptoAPI/generateKey/successes.worker.js: Added.
+        * web-platform-tests/WebCryptoAPI/generateKey/successes_AES-CBC.worker-expected.txt: Added.
+        * web-platform-tests/WebCryptoAPI/generateKey/successes_AES-CBC.worker.html: Added.
+        * web-platform-tests/WebCryptoAPI/generateKey/successes_AES-CBC.worker.js: Added.
+        * web-platform-tests/WebCryptoAPI/generateKey/successes_AES-CTR.worker-expected.txt: Added.
+        * web-platform-tests/WebCryptoAPI/generateKey/successes_AES-CTR.worker.html: Added.
+        * web-platform-tests/WebCryptoAPI/generateKey/successes_AES-CTR.worker.js: Added.
+        * web-platform-tests/WebCryptoAPI/generateKey/successes_AES-GCM.worker-expected.txt: Added.
+        * web-platform-tests/WebCryptoAPI/generateKey/successes_AES-GCM.worker.html: Added.
+        * web-platform-tests/WebCryptoAPI/generateKey/successes_AES-GCM.worker.js: Added.
+        * web-platform-tests/WebCryptoAPI/generateKey/successes_AES-KW.worker-expected.txt: Added.
+        * web-platform-tests/WebCryptoAPI/generateKey/successes_AES-KW.worker.html: Added.
+        * web-platform-tests/WebCryptoAPI/generateKey/successes_AES-KW.worker.js: Added.
+        * web-platform-tests/WebCryptoAPI/generateKey/successes_ECDH.worker-expected.txt: Added.
+        * web-platform-tests/WebCryptoAPI/generateKey/successes_ECDH.worker.html: Added.
+        * web-platform-tests/WebCryptoAPI/generateKey/successes_ECDH.worker.js: Added.
+        * web-platform-tests/WebCryptoAPI/generateKey/successes_ECDSA.worker-expected.txt: Added.
+        * web-platform-tests/WebCryptoAPI/generateKey/successes_ECDSA.worker.html: Added.
+        * web-platform-tests/WebCryptoAPI/generateKey/successes_ECDSA.worker.js: Added.
+        * web-platform-tests/WebCryptoAPI/generateKey/successes_HMAC.worker-expected.txt: Added.
+        * web-platform-tests/WebCryptoAPI/generateKey/successes_HMAC.worker.html: Added.
+        * web-platform-tests/WebCryptoAPI/generateKey/successes_HMAC.worker.js: Added.
+        * web-platform-tests/WebCryptoAPI/generateKey/successes_RSA-OAEP.worker-expected.txt: Added.
+        * web-platform-tests/WebCryptoAPI/generateKey/successes_RSA-OAEP.worker.html: Added.
+        * web-platform-tests/WebCryptoAPI/generateKey/successes_RSA-OAEP.worker.js: Added.
+        * web-platform-tests/WebCryptoAPI/generateKey/successes_RSA-PSS.worker-expected.txt: Added.
+        * web-platform-tests/WebCryptoAPI/generateKey/successes_RSA-PSS.worker.html: Added.
+        * web-platform-tests/WebCryptoAPI/generateKey/successes_RSA-PSS.worker.js: Added.
+        * web-platform-tests/WebCryptoAPI/generateKey/successes_RSASSA-PKCS1-v1_5.worker-expected.txt: Added.
+        * web-platform-tests/WebCryptoAPI/generateKey/successes_RSASSA-PKCS1-v1_5.worker.html: Added.
+        * web-platform-tests/WebCryptoAPI/generateKey/successes_RSASSA-PKCS1-v1_5.worker.js: Added.
+        * web-platform-tests/WebCryptoAPI/generateKey/test_aes-cbc-expected.txt: Added.
+        * web-platform-tests/WebCryptoAPI/generateKey/test_aes-cbc.html: Added.
+        * web-platform-tests/WebCryptoAPI/generateKey/test_aes-ctr-expected.txt: Added.
+        * web-platform-tests/WebCryptoAPI/generateKey/test_aes-ctr.html: Added.
+        * web-platform-tests/WebCryptoAPI/generateKey/test_failures-expected.txt: Added.
+        * web-platform-tests/WebCryptoAPI/generateKey/test_failures.html: Added.
+        * web-platform-tests/WebCryptoAPI/generateKey/test_failures_AES-CBC-expected.txt: Added.
+        * web-platform-tests/WebCryptoAPI/generateKey/test_failures_AES-CBC.html: Added.
+        * web-platform-tests/WebCryptoAPI/generateKey/test_failures_AES-CTR-expected.txt: Added.
+        * web-platform-tests/WebCryptoAPI/generateKey/test_failures_AES-CTR.html: Added.
+        * web-platform-tests/WebCryptoAPI/generateKey/test_failures_AES-GCM-expected.txt: Added.
+        * web-platform-tests/WebCryptoAPI/generateKey/test_failures_AES-GCM.html: Added.
+        * web-platform-tests/WebCryptoAPI/generateKey/test_failures_AES-KW-expected.txt: Added.
+        * web-platform-tests/WebCryptoAPI/generateKey/test_failures_AES-KW.html: Added.
+        * web-platform-tests/WebCryptoAPI/generateKey/test_failures_ECDH-expected.txt: Added.
+        * web-platform-tests/WebCryptoAPI/generateKey/test_failures_ECDH.html: Added.
+        * web-platform-tests/WebCryptoAPI/generateKey/test_failures_ECDSA-expected.txt: Added.
+        * web-platform-tests/WebCryptoAPI/generateKey/test_failures_ECDSA.html: Added.
+        * web-platform-tests/WebCryptoAPI/generateKey/test_failures_HMAC-expected.txt: Added.
+        * web-platform-tests/WebCryptoAPI/generateKey/test_failures_HMAC.html: Added.
+        * web-platform-tests/WebCryptoAPI/generateKey/test_failures_RSA-OAEP-expected.txt: Added.
+        * web-platform-tests/WebCryptoAPI/generateKey/test_failures_RSA-OAEP.html: Added.
+        * web-platform-tests/WebCryptoAPI/generateKey/test_failures_RSA-PSS-expected.txt: Added.
+        * web-platform-tests/WebCryptoAPI/generateKey/test_failures_RSA-PSS.html: Added.
+        * web-platform-tests/WebCryptoAPI/generateKey/test_failures_RSASSA-PKCS1-v1_5-expected.txt: Added.
+        * web-platform-tests/WebCryptoAPI/generateKey/test_failures_RSASSA-PKCS1-v1_5.html: Added.
+        * web-platform-tests/WebCryptoAPI/generateKey/test_successes-expected.txt: Added.
+        * web-platform-tests/WebCryptoAPI/generateKey/test_successes.html: Added.
+        * web-platform-tests/WebCryptoAPI/generateKey/test_successes_AES-CBC-expected.txt: Added.
+        * web-platform-tests/WebCryptoAPI/generateKey/test_successes_AES-CBC.html: Added.
+        * web-platform-tests/WebCryptoAPI/generateKey/test_successes_AES-CTR-expected.txt: Added.
+        * web-platform-tests/WebCryptoAPI/generateKey/test_successes_AES-CTR.html: Added.
+        * web-platform-tests/WebCryptoAPI/generateKey/test_successes_AES-GCM-expected.txt: Added.
+        * web-platform-tests/WebCryptoAPI/generateKey/test_successes_AES-GCM.html: Added.
+        * web-platform-tests/WebCryptoAPI/generateKey/test_successes_AES-KW-expected.txt: Added.
+        * web-platform-tests/WebCryptoAPI/generateKey/test_successes_AES-KW.html: Added.
+        * web-platform-tests/WebCryptoAPI/generateKey/test_successes_ECDH-expected.txt: Added.
+        * web-platform-tests/WebCryptoAPI/generateKey/test_successes_ECDH.html: Added.
+        * web-platform-tests/WebCryptoAPI/generateKey/test_successes_ECDSA-expected.txt: Added.
+        * web-platform-tests/WebCryptoAPI/generateKey/test_successes_ECDSA.html: Added.
+        * web-platform-tests/WebCryptoAPI/generateKey/test_successes_HMAC-expected.txt: Added.
+        * web-platform-tests/WebCryptoAPI/generateKey/test_successes_HMAC.html: Added.
+        * web-platform-tests/WebCryptoAPI/generateKey/test_successes_RSA-OAEP-expected.txt: Added.
+        * web-platform-tests/WebCryptoAPI/generateKey/test_successes_RSA-OAEP.html: Added.
+        * web-platform-tests/WebCryptoAPI/generateKey/test_successes_RSA-PSS-expected.txt: Added.
+        * web-platform-tests/WebCryptoAPI/generateKey/test_successes_RSA-PSS.html: Added.
+        * web-platform-tests/WebCryptoAPI/generateKey/test_successes_RSASSA-PKCS1-v1_5-expected.txt: Added.
+        * web-platform-tests/WebCryptoAPI/generateKey/test_successes_RSASSA-PKCS1-v1_5.html: Added.
+        * web-platform-tests/WebCryptoAPI/generateKey/w3c-import.log: Added.
+        * web-platform-tests/WebCryptoAPI/getRandomValues.js: Added.
+        * web-platform-tests/WebCryptoAPI/getRandomValues.worker-expected.txt: Added.
+        * web-platform-tests/WebCryptoAPI/getRandomValues.worker.html: Added.
+        * web-platform-tests/WebCryptoAPI/getRandomValues.worker.js: Added.
+        * web-platform-tests/WebCryptoAPI/idlharness-expected.txt: Added.
+        * web-platform-tests/WebCryptoAPI/idlharness.html: Added.
+        * web-platform-tests/WebCryptoAPI/idlharness.worker-expected.txt: Added.
+        * web-platform-tests/WebCryptoAPI/idlharness.worker.html: Added.
+        * web-platform-tests/WebCryptoAPI/idlharness.worker.js: Added.
+        * web-platform-tests/WebCryptoAPI/import_export/ec_importKey.js: Added.
+        * web-platform-tests/WebCryptoAPI/import_export/ec_importKey.worker-expected.txt: Added.
+        * web-platform-tests/WebCryptoAPI/import_export/ec_importKey.worker.html: Added.
+        * web-platform-tests/WebCryptoAPI/import_export/ec_importKey.worker.js: Added.
+        * web-platform-tests/WebCryptoAPI/import_export/rsa_importKey.js: Added.
+        * web-platform-tests/WebCryptoAPI/import_export/rsa_importKey.worker-expected.txt: Added.
+        * web-platform-tests/WebCryptoAPI/import_export/rsa_importKey.worker.html: Added.
+        * web-platform-tests/WebCryptoAPI/import_export/rsa_importKey.worker.js: Added.
+        * web-platform-tests/WebCryptoAPI/import_export/symmetric_importKey.js: Added.
+        * web-platform-tests/WebCryptoAPI/import_export/symmetric_importKey.worker-expected.txt: Added.
+        * web-platform-tests/WebCryptoAPI/import_export/symmetric_importKey.worker.html: Added.
+        * web-platform-tests/WebCryptoAPI/import_export/symmetric_importKey.worker.js: Added.
+        * web-platform-tests/WebCryptoAPI/import_export/test_ec_importKey-expected.txt: Added.
+        * web-platform-tests/WebCryptoAPI/import_export/test_ec_importKey.html: Added.
+        * web-platform-tests/WebCryptoAPI/import_export/test_rsa_importKey-expected.txt: Added.
+        * web-platform-tests/WebCryptoAPI/import_export/test_rsa_importKey.html: Added.
+        * web-platform-tests/WebCryptoAPI/import_export/test_symmetric_importKey-expected.txt: Added.
+        * web-platform-tests/WebCryptoAPI/import_export/test_symmetric_importKey.html: Added.
+        * web-platform-tests/WebCryptoAPI/import_export/w3c-import.log: Added.
+        * web-platform-tests/WebCryptoAPI/sign_verify/ecdsa.js: Added.
+        * web-platform-tests/WebCryptoAPI/sign_verify/ecdsa.worker-expected.txt: Added.
+        * web-platform-tests/WebCryptoAPI/sign_verify/ecdsa.worker.html: Added.
+        * web-platform-tests/WebCryptoAPI/sign_verify/ecdsa.worker.js: Added.
+        * web-platform-tests/WebCryptoAPI/sign_verify/ecdsa_vectors.js: Added.
+        * web-platform-tests/WebCryptoAPI/sign_verify/hmac.js: Added.
+        * web-platform-tests/WebCryptoAPI/sign_verify/hmac.worker-expected.txt: Added.
+        * web-platform-tests/WebCryptoAPI/sign_verify/hmac.worker.html: Added.
+        * web-platform-tests/WebCryptoAPI/sign_verify/hmac.worker.js: Added.
+        * web-platform-tests/WebCryptoAPI/sign_verify/hmac_vectors.js: Added.
+        * web-platform-tests/WebCryptoAPI/sign_verify/rsa.js: Added.
+        * web-platform-tests/WebCryptoAPI/sign_verify/rsa_pkcs.worker-expected.txt: Added.
+        * web-platform-tests/WebCryptoAPI/sign_verify/rsa_pkcs.worker.html: Added.
+        * web-platform-tests/WebCryptoAPI/sign_verify/rsa_pkcs.worker.js: Added.
+        * web-platform-tests/WebCryptoAPI/sign_verify/rsa_pkcs_vectors.js: Added.
+        * web-platform-tests/WebCryptoAPI/sign_verify/rsa_pss.worker-expected.txt: Added.
+        * web-platform-tests/WebCryptoAPI/sign_verify/rsa_pss.worker.html: Added.
+        * web-platform-tests/WebCryptoAPI/sign_verify/rsa_pss.worker.js: Added.
+        * web-platform-tests/WebCryptoAPI/sign_verify/rsa_pss_vectors.js: Added.
+        * web-platform-tests/WebCryptoAPI/sign_verify/test_ecdsa-expected.txt: Added.
+        * web-platform-tests/WebCryptoAPI/sign_verify/test_ecdsa.html: Added.
+        * web-platform-tests/WebCryptoAPI/sign_verify/test_hmac-expected.txt: Added.
+        * web-platform-tests/WebCryptoAPI/sign_verify/test_hmac.html: Added.
+        * web-platform-tests/WebCryptoAPI/sign_verify/test_rsa_pkcs-expected.txt: Added.
+        * web-platform-tests/WebCryptoAPI/sign_verify/test_rsa_pkcs.html: Added.
+        * web-platform-tests/WebCryptoAPI/sign_verify/test_rsa_pss-expected.txt: Added.
+        * web-platform-tests/WebCryptoAPI/sign_verify/test_rsa_pss.html: Added.
+        * web-platform-tests/WebCryptoAPI/sign_verify/w3c-import.log: Added.
+        * web-platform-tests/WebCryptoAPI/test_getRandomValues-expected.txt: Added.
+        * web-platform-tests/WebCryptoAPI/test_getRandomValues.html: Added.
+        * web-platform-tests/WebCryptoAPI/tools/generate.py: Added.
+        * web-platform-tests/WebCryptoAPI/tools/w3c-import.log: Added.
+        * web-platform-tests/WebCryptoAPI/util/helpers.js: Added.
+        * web-platform-tests/WebCryptoAPI/util/w3c-import.log: Added.
+        * web-platform-tests/WebCryptoAPI/w3c-import.log: Added.
+        * web-platform-tests/WebCryptoAPI/wrapKey_unwrapKey/test_wrapKey_unwrapKey-expected.txt: Added.
+        * web-platform-tests/WebCryptoAPI/wrapKey_unwrapKey/test_wrapKey_unwrapKey.html: Added.
+        * web-platform-tests/WebCryptoAPI/wrapKey_unwrapKey/w3c-import.log: Added.
+        * web-platform-tests/WebCryptoAPI/wrapKey_unwrapKey/wrapKey_unwrapKey.js: Added.
+        * web-platform-tests/WebCryptoAPI/wrapKey_unwrapKey/wrapKey_unwrapKey.worker-expected.txt: Added.
+        * web-platform-tests/WebCryptoAPI/wrapKey_unwrapKey/wrapKey_unwrapKey.worker.html: Added.
+        * web-platform-tests/WebCryptoAPI/wrapKey_unwrapKey/wrapKey_unwrapKey.worker.js: Added.
+
 2017-02-09  Chris Dumez  <cdumez@apple.com>
 
         Object.getPrototypeOf(NodeFilter) should be Function.prototype, not Object.prototype
index dfdfc74..3f1c878 100644 (file)
@@ -61,7 +61,7 @@
 ["web-platform-tests/DOM-parsing", "skip"],
 ["web-platform-tests/FileAPI", "skip"],
 ["web-platform-tests/IndexedDB", "import"],
-["web-platform-tests/WebCryptoAPI", "skip"],
+["web-platform-tests/WebCryptoAPI", "import"],
 ["web-platform-tests/WebIDL", "import"],
 ["web-platform-tests/WebIDL/invalid", "skip"],
 ["web-platform-tests/WebIDL/valid", "skip"],
diff --git a/LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/OWNERS b/LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/OWNERS
new file mode 100644 (file)
index 0000000..6924cd9
--- /dev/null
@@ -0,0 +1,4 @@
+@Wafflespeanut
+@Ms2ger
+@jimsch
+@engelke
diff --git a/LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/README.md b/LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/README.md
new file mode 100644 (file)
index 0000000..5546cf2
--- /dev/null
@@ -0,0 +1 @@
+Directory for Crypto API tests
diff --git a/LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/WebCryptoAPI.idl b/LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/WebCryptoAPI.idl
new file mode 100644 (file)
index 0000000..132c6d0
--- /dev/null
@@ -0,0 +1,277 @@
+[NoInterfaceObject]
+interface GlobalCrypto {
+  readonly attribute Crypto crypto;
+};
+
+//Window implements GlobalCrypto;
+//WorkerGlobalScope implements GlobalCrypto;
+
+[Exposed=(Window,Worker)]
+interface Crypto {
+  readonly attribute SubtleCrypto subtle;
+  ArrayBufferView getRandomValues(ArrayBufferView array);
+};
+
+typedef (object or DOMString) AlgorithmIdentifier;
+
+typedef AlgorithmIdentifier HashAlgorithmIdentifier;
+
+dictionary Algorithm {
+  required DOMString name;
+};
+
+dictionary KeyAlgorithm {
+  required DOMString name;
+};
+
+enum KeyType { "public", "private", "secret" };
+
+enum KeyUsage { "encrypt", "decrypt", "sign", "verify", "deriveKey", "deriveBits", "wrapKey", "unwrapKey" };
+
+[Exposed=(Window,Worker)]
+interface CryptoKey {
+  readonly attribute KeyType type;
+  readonly attribute boolean extractable;
+  readonly attribute object algorithm;
+  readonly attribute object usages;
+};
+
+
+enum KeyFormat { "raw", "spki", "pkcs8", "jwk" };
+
+[Exposed=(Window,Worker)]
+interface SubtleCrypto {
+  Promise<any> encrypt(AlgorithmIdentifier algorithm,
+                       CryptoKey key,
+                       BufferSource data);
+  Promise<any> decrypt(AlgorithmIdentifier algorithm,
+                       CryptoKey key,
+                       BufferSource data);
+  Promise<any> sign(AlgorithmIdentifier algorithm,
+                    CryptoKey key,
+                    BufferSource data);
+  Promise<any> verify(AlgorithmIdentifier algorithm,
+                      CryptoKey key,
+                      BufferSource signature,
+                      BufferSource data);
+  Promise<any> digest(AlgorithmIdentifier algorithm,
+                      BufferSource data);
+
+  Promise<any> generateKey(AlgorithmIdentifier algorithm,
+                          boolean extractable,
+                          sequence<KeyUsage> keyUsages );
+  Promise<any> deriveKey(AlgorithmIdentifier algorithm,
+                         CryptoKey baseKey,
+                         AlgorithmIdentifier derivedKeyType,
+                         boolean extractable,
+                         sequence<KeyUsage> keyUsages );
+  Promise<any> deriveBits(AlgorithmIdentifier algorithm,
+                          CryptoKey baseKey,
+                          unsigned long length);
+
+  Promise<any> importKey(KeyFormat format,
+                         (BufferSource or JsonWebKey) keyData,
+                         AlgorithmIdentifier algorithm,
+                         boolean extractable,
+                         sequence<KeyUsage> keyUsages );
+  Promise<any> exportKey(KeyFormat format, CryptoKey key);
+
+  Promise<any> wrapKey(KeyFormat format,
+                       CryptoKey key,
+                       CryptoKey wrappingKey,
+                       AlgorithmIdentifier wrapAlgorithm);
+  Promise<any> unwrapKey(KeyFormat format,
+                         BufferSource wrappedKey,
+                         CryptoKey unwrappingKey,
+                         AlgorithmIdentifier unwrapAlgorithm,
+                         AlgorithmIdentifier unwrappedKeyAlgorithm,
+                         boolean extractable,
+                         sequence<KeyUsage> keyUsages );
+};
+
+dictionary RsaOtherPrimesInfo {
+ // The following fields are defined in Section 6.3.2.7 of JSON Web Algorithms
+  DOMString r;
+  DOMString d;
+  DOMString t;
+};
+
+dictionary JsonWebKey {
+  // The following fields are defined in Section 3.1 of JSON Web Key
+  DOMString kty;
+  DOMString use;
+  sequence<DOMString> key_ops;
+  DOMString alg;
+
+  // The following fields are defined in JSON Web Key Parameters Registration
+  boolean ext;
+
+  // The following fields are defined in Section 6 of JSON Web Algorithms
+  DOMString crv;
+  DOMString x;
+  DOMString y;
+  DOMString d;
+  DOMString n;
+  DOMString e;
+  DOMString p;
+  DOMString q;
+  DOMString dp;
+  DOMString dq;
+  DOMString qi;
+  sequence<RsaOtherPrimesInfo> oth;
+  DOMString k;
+};
+
+typedef Uint8Array BigInteger;
+
+dictionary CryptoKeyPair {
+  CryptoKey publicKey;
+  CryptoKey privateKey;
+};
+
+dictionary RsaKeyGenParams : Algorithm {
+  // The length, in bits, of the RSA modulus
+  [EnforceRange] required unsigned long modulusLength;
+  // The RSA public exponent
+  required BigInteger publicExponent;
+};
+
+dictionary RsaHashedKeyGenParams : RsaKeyGenParams {
+  // The hash algorithm to use
+  required HashAlgorithmIdentifier hash;
+};
+
+dictionary RsaKeyAlgorithm : KeyAlgorithm {
+  // The length, in bits, of the RSA modulus
+  required unsigned long modulusLength;
+  // The RSA public exponent
+  required BigInteger publicExponent;
+};
+
+dictionary RsaHashedKeyAlgorithm : RsaKeyAlgorithm {
+  // The hash algorithm that is used with this key
+  required KeyAlgorithm hash;
+};
+
+dictionary RsaHashedImportParams {
+  // The hash algorithm to use
+  required HashAlgorithmIdentifier hash;
+};
+
+dictionary RsaPssParams : Algorithm {
+// The desired length of the random salt
+[EnforceRange] required unsigned long saltLength;
+};
+
+dictionary RsaOaepParams : Algorithm {
+// The optional label/application data to associate with the message
+BufferSource label;
+};
+
+dictionary EcdsaParams : Algorithm {
+// The hash algorithm to use
+required HashAlgorithmIdentifier hash;
+};
+
+typedef DOMString NamedCurve;
+
+dictionary EcKeyGenParams : Algorithm {
+// A named curve
+required NamedCurve namedCurve;
+};
+
+dictionary EcKeyAlgorithm : KeyAlgorithm {
+// The named curve that the key uses
+required NamedCurve namedCurve;
+};
+
+dictionary EcKeyImportParams : Algorithm {
+// A named curve
+required NamedCurve namedCurve;
+};
+
+dictionary EcdhKeyDeriveParams : Algorithm {
+// The peer's EC public key.
+required CryptoKey public;
+};
+
+dictionary AesCtrParams : Algorithm {
+// The initial value of the counter block. counter MUST be 16 bytes
+// (the AES block size). The counter bits are the rightmost length
+// bits of the counter block. The rest of the counter block is for
+// the nonce. The counter bits are incremented using the standard
+// incrementing function specified in NIST SP 800-38A Appendix B.1:
+// the counter bits are interpreted as a big-endian integer and
+// incremented by one.
+required BufferSource counter;
+// The length, in bits, of the rightmost part of the counter block
+// that is incremented.
+[EnforceRange] required octet length;
+};
+
+dictionary AesKeyAlgorithm : KeyAlgorithm {
+// The length, in bits, of the key.
+required unsigned short length;
+};
+
+dictionary AesKeyGenParams : Algorithm {
+// The length, in bits, of the key.
+[EnforceRange] required unsigned short length;
+};
+
+dictionary AesDerivedKeyParams : Algorithm {
+// The length, in bits, of the key.
+[EnforceRange] required unsigned short length;
+};
+
+dictionary AesCbcParams : Algorithm {
+// The initialization vector. MUST be 16 bytes.
+required BufferSource iv;
+};
+
+dictionary AesGcmParams : Algorithm {
+// The initialization vector to use. May be up to 2^64-1 bytes long.
+required BufferSource iv;
+// The additional authentication data to include.
+BufferSource additionalData;
+// The desired length of the authentication tag. May be 0 - 128.
+[EnforceRange] octet tagLength;
+};
+
+dictionary HmacImportParams : Algorithm {
+// The inner hash function to use.
+HashAlgorithmIdentifier hash;
+// The length (in bits) of the key.
+[EnforceRange] unsigned long length;
+};
+
+dictionary HmacKeyAlgorithm : KeyAlgorithm {
+// The inner hash function to use.
+required KeyAlgorithm hash;
+// The length (in bits) of the key.
+required unsigned long length;
+};
+
+dictionary HmacKeyGenParams : Algorithm {
+// The inner hash function to use.
+required HashAlgorithmIdentifier hash;
+// The length (in bits) of the key to generate. If unspecified, the
+// recommended length will be used, which is the size of the associated hash function's block
+// size.
+[EnforceRange] unsigned long length;
+};
+
+dictionary HkdfCtrParams : Algorithm {
+// The algorithm to use with HMAC (e.g.: SHA-256)
+required HashAlgorithmIdentifier hash;
+// A bit string that corresponds to the label that identifies the purpose for the derived keying material.
+required BufferSource label;
+// A bit string that corresponds to the context of the key derivation, as described in Section 5 of [NIST SP800-108]
+required BufferSource context;
+};
+
+dictionary Pbkdf2Params : Algorithm {
+required BufferSource salt;
+[EnforceRange] required unsigned long iterations;
+required HashAlgorithmIdentifier hash;
+};
diff --git a/LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/derive_bits_keys/ecdh_bits.js b/LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/derive_bits_keys/ecdh_bits.js
new file mode 100644 (file)
index 0000000..fe82ffe
--- /dev/null
@@ -0,0 +1,269 @@
+
+function run_test() {
+    // May want to test prefixed implementations.
+    var subtle = self.crypto.subtle;
+
+    var pkcs8 = {
+        "P-521": new Uint8Array([48, 129, 238, 2, 1, 0, 48, 16, 6, 7, 42, 134, 72, 206, 61, 2, 1, 6, 5, 43, 129, 4, 0, 35, 4, 129, 214, 48, 129, 211, 2, 1, 1, 4, 66, 1, 166, 126, 211, 33, 145, 90, 100, 170, 53, 155, 125, 100, 141, 220, 38, 24, 250, 142, 141, 24, 103, 232, 247, 24, 48, 177, 13, 37, 237, 40, 145, 250, 241, 47, 60, 126, 117, 66, 26, 46, 162, 100, 249, 169, 21, 50, 13, 39, 79, 225, 71, 7, 66, 185, 132, 233, 107, 152, 145, 32, 129, 250, 205, 71, 141, 161, 129, 137, 3, 129, 134, 0, 4, 0, 32, 157, 72, 63, 40, 102, 104, 129, 198, 100, 31, 58, 18, 111, 64, 15, 81, 228, 101, 17, 112, 254, 103, 140, 117, 232, 87, 18, 226, 134, 138, 220, 133, 8, 36, 153, 123, 235, 240, 188, 130, 180, 48, 40, 166, 210, 236, 23, 119, 202, 69, 39, 159, 114, 6, 163, 234, 139, 92, 210, 7, 63, 73, 62, 69, 0, 12, 181, 76, 58, 90, 202, 162, 104, 197, 103, 16, 66, 136, 120, 217, 139, 138, 251, 246, 138, 97, 33, 83, 99, 40, 70, 216, 7, 233, 38, 114, 105, 143, 27, 156, 97, 29, 231, 211, 142, 52, 205, 108, 115, 136, 144, 146, 197, 110, 82, 214, 128, 241, 223, 208, 146, 184, 122, 200, 239, 159, 243, 200, 251, 72]),
+        "P-256": new Uint8Array([48, 129, 135, 2, 1, 0, 48, 19, 6, 7, 42, 134, 72, 206, 61, 2, 1, 6, 8, 42, 134, 72, 206, 61, 3, 1, 7, 4, 109, 48, 107, 2, 1, 1, 4, 32, 15, 247, 79, 232, 241, 202, 175, 97, 92, 206, 241, 29, 217, 53, 114, 87, 98, 217, 216, 65, 236, 186, 185, 94, 170, 38, 68, 123, 52, 100, 245, 113, 161, 68, 3, 66, 0, 4, 140, 96, 11, 44, 102, 25, 45, 97, 158, 39, 210, 37, 107, 59, 151, 118, 178, 141, 30, 5, 246, 13, 234, 189, 98, 174, 123, 154, 211, 157, 224, 217, 59, 4, 102, 109, 199, 119, 14, 126, 207, 13, 211, 203, 203, 211, 110, 221, 107, 94, 220, 153, 81, 7, 55, 161, 237, 104, 46, 205, 112, 244, 10, 47]),
+        "P-384": new Uint8Array([48, 129, 182, 2, 1, 0, 48, 16, 6, 7, 42, 134, 72, 206, 61, 2, 1, 6, 5, 43, 129, 4, 0, 34, 4, 129, 158, 48, 129, 155, 2, 1, 1, 4, 48, 248, 113, 165, 102, 101, 137, 193, 74, 87, 71, 38, 62, 248, 91, 49, 156, 192, 35, 219, 110, 53, 103, 108, 61, 120, 30, 239, 139, 5, 95, 207, 190, 134, 250, 13, 6, 208, 86, 181, 25, 95, 177, 50, 58, 248, 222, 37, 179, 161, 100, 3, 98, 0, 4, 241, 25, 101, 223, 125, 212, 89, 77, 4, 25, 197, 8, 100, 130, 163, 184, 38, 185, 121, 127, 155, 224, 189, 13, 16, 156, 158, 30, 153, 137, 193, 185, 169, 43, 143, 38, 159, 152, 225, 122, 209, 132, 186, 115, 193, 247, 151, 98, 175, 69, 175, 129, 65, 96, 38, 66, 218, 39, 26, 107, 176, 255, 235, 12, 180, 71, 143, 207, 112, 126, 102, 26, 166, 214, 205, 245, 21, 73, 200, 140, 63, 19, 11, 233, 232, 32, 31, 111, 106, 9, 244, 24, 90, 175, 149, 196])
+    };
+
+    var spki = {
+        "P-521": new Uint8Array([48, 129, 155, 48, 16, 6, 7, 42, 134, 72, 206, 61, 2, 1, 6, 5, 43, 129, 4, 0, 35, 3, 129, 134, 0, 4, 0, 238, 105, 249, 71, 21, 215, 1, 233, 226, 1, 19, 51, 212, 244, 249, 108, 186, 125, 145, 248, 139, 17, 43, 175, 117, 207, 9, 204, 31, 138, 202, 151, 97, 141, 169, 56, 152, 34, 210, 155, 111, 233, 153, 106, 97, 32, 62, 247, 82, 183, 113, 232, 149, 143, 196, 103, 123, 179, 119, 133, 101, 171, 96, 214, 237, 0, 222, 171, 103, 97, 137, 91, 147, 94, 58, 211, 37, 251, 133, 73, 229, 111, 19, 120, 106, 167, 63, 136, 162, 236, 254, 64, 147, 52, 115, 216, 174, 242, 64, 196, 223, 215, 213, 6, 242, 44, 221, 14, 85, 85, 143, 63, 191, 5, 235, 247, 239, 239, 122, 114, 215, 143, 70, 70, 155, 132, 72, 242, 110, 39, 18]),
+        "P-256": new Uint8Array([48, 89, 48, 19, 6, 7, 42, 134, 72, 206, 61, 2, 1, 6, 8, 42, 134, 72, 206, 61, 3, 1, 7, 3, 66, 0, 4, 154, 116, 32, 120, 126, 95, 77, 105, 211, 232, 34, 114, 115, 1, 109, 56, 224, 71, 129, 133, 223, 127, 238, 156, 142, 103, 60, 202, 211, 79, 126, 128, 254, 49, 141, 182, 221, 107, 119, 218, 99, 32, 165, 246, 151, 89, 9, 68, 23, 177, 52, 239, 138, 139, 116, 193, 101, 4, 57, 198, 115, 0, 90, 61]),
+        "P-384": new Uint8Array([48, 118, 48, 16, 6, 7, 42, 134, 72, 206, 61, 2, 1, 6, 5, 43, 129, 4, 0, 34, 3, 98, 0, 4, 145, 130, 45, 194, 175, 89, 193, 143, 91, 103, 248, 13, 246, 26, 38, 3, 194, 168, 240, 179, 192, 175, 130, 45, 99, 194, 121, 112, 26, 130, 69, 96, 64, 68, 1, 221, 233, 165, 110, 229, 39, 87, 234, 139, 199, 72, 212, 200, 43, 83, 55, 180, 141, 123, 101, 88, 58, 61, 87, 36, 56, 136, 0, 54, 186, 198, 115, 15, 66, 202, 82, 120, 150, 107, 213, 242, 30, 134, 226, 29, 48, 197, 166, 208, 70, 62, 197, 19, 221, 80, 159, 252, 220, 175, 31, 245])
+    };
+
+    var sizes = {
+        "P-521": 66,
+        "P-256": 32,
+        "P-384": 48
+    };
+
+    var derivations = {
+        "P-521": new Uint8Array([0, 156, 43, 206, 87, 190, 128, 173, 171, 59, 7, 56, 91, 142, 89, 144, 235, 125, 111, 222, 189, 176, 27, 243, 83, 113, 164, 246, 7, 94, 157, 40, 138, 193, 42, 109, 254, 3, 170, 87, 67, 188, 129, 112, 157, 73, 168, 34, 148, 2, 25, 182, 75, 118, 138, 205, 82, 15, 161, 54, 142, 160, 175, 141, 71, 93]),
+        "P-256": new Uint8Array([14, 143, 60, 77, 177, 178, 162, 131, 115, 90, 0, 220, 87, 31, 26, 232, 151, 28, 227, 35, 250, 17, 131, 137, 203, 95, 65, 196, 59, 61, 181, 161]),
+        "P-384": new Uint8Array([224, 189, 107, 206, 10, 239, 140, 164, 136, 56, 166, 226, 252, 197, 126, 103, 185, 197, 232, 134, 12, 95, 11, 233, 218, 190, 197, 62, 69, 78, 24, 160, 161, 116, 196, 136, 136, 162, 100, 136, 17, 91, 45, 201, 241, 223, 165, 45])
+    };
+
+    importKeys(pkcs8, spki, sizes)
+    .then(function(results) {
+        publicKeys = results.publicKeys;
+        privateKeys = results.privateKeys;
+        ecdsaKeyPairs = results.ecdsaKeyPairs;
+        noDeriveBitsKeys = results.noDeriveBitsKeys;
+
+        Object.keys(sizes).forEach(function(namedCurve) {
+            // Basic success case
+            promise_test(function(test) {
+                return subtle.deriveBits({name: "ECDH", public: publicKeys[namedCurve]}, privateKeys[namedCurve], 8 * sizes[namedCurve])
+                .then(function(derivation) {
+                    assert_true(equalBuffers(derivation, derivations[namedCurve]), "Derived correct bits");
+                }, function(err) {
+                    assert_unreached("deriveBits failed with error " + err.name + ": " + err.message);
+                });
+            }, namedCurve + " good parameters");
+
+            // Case insensitivity check
+            promise_test(function(test) {
+                return subtle.deriveBits({name: "EcDh", public: publicKeys[namedCurve]}, privateKeys[namedCurve], 8 * sizes[namedCurve])
+                .then(function(derivation) {
+                    assert_true(equalBuffers(derivation, derivations[namedCurve]), "Derived correct bits");
+                }, function(err) {
+                    assert_unreached("deriveBits failed with error " + err.name + ": " + err.message);
+                });
+            }, namedCurve + " mixed case parameters");
+
+            // Null length
+            promise_test(function(test) {
+                return subtle.deriveBits({name: "ECDH", public: publicKeys[namedCurve]}, privateKeys[namedCurve], null)
+                .then(function(derivation) {
+                    assert_true(equalBuffers(derivation, derivations[namedCurve]), "Derived correct bits");
+                }, function(err) {
+                    assert_unreached("deriveBits failed with error " + err.name + ": " + err.message);
+                });
+            }, namedCurve + " with null length");
+
+            // Shorter than entire derivation per algorithm
+            promise_test(function(test) {
+                return subtle.deriveBits({name: "ECDH", public: publicKeys[namedCurve]}, privateKeys[namedCurve], 8 * sizes[namedCurve] - 32)
+                .then(function(derivation) {
+                    assert_true(equalBuffers(derivation, derivations[namedCurve], 8 * sizes[namedCurve] - 32), "Derived correct bits");
+                }, function(err) {
+                    assert_unreached("deriveBits failed with error " + err.name + ": " + err.message);
+                });
+            }, namedCurve + " short result");
+
+            // Non-multiple of 8
+            promise_test(function(test) {
+                return subtle.deriveBits({name: "ECDH", public: publicKeys[namedCurve]}, privateKeys[namedCurve], 8 * sizes[namedCurve] - 11)
+                .then(function(derivation) {
+                    assert_true(equalBuffers(derivation, derivations[namedCurve], 8 * sizes[namedCurve] - 11), "Derived correct bits");
+                }, function(err) {
+                    assert_unreached("deriveBits failed with error " + err.name + ": " + err.message);
+                });
+            }, namedCurve + " non-multiple of 8 bits");
+
+            // Errors to test:
+
+            // - missing public property TypeError
+            promise_test(function(test) {
+                return subtle.deriveBits({name: "ECDH"}, privateKeys[namedCurve], 8 * sizes[namedCurve])
+                .then(function(derivation) {
+                    assert_unreached("deriveBits succeeded but should have failed with TypeError");
+                }, function(err) {
+                    assert_equals(err.name, "TypeError", "Should throw correct error, not " + err.name + ": " + err.message);
+                });
+            }, namedCurve + " missing public curve");
+
+            // - Non CryptoKey public property TypeError
+            promise_test(function(test) {
+                return subtle.deriveBits({name: "ECDH", public: {message: "Not a CryptoKey"}}, privateKeys[namedCurve], 8 * sizes[namedCurve])
+                .then(function(derivation) {
+                    assert_unreached("deriveBits succeeded but should have failed with TypeError");
+                }, function(err) {
+                    assert_equals(err.name, "TypeError", "Should throw correct error, not " + err.name + ": " + err.message);
+                });
+            }, namedCurve + " public property of algorithm is not a CryptoKey");
+
+            // - wrong named curve
+            promise_test(function(test) {
+                publicKey = publicKeys["P-256"];
+                if (namedCurve === "P-256") {
+                    publicKey = publicKeys["P-384"];
+                }
+                return subtle.deriveBits({name: "ECDH", public: publicKey}, privateKeys[namedCurve], 8 * sizes[namedCurve])
+                .then(function(derivation) {
+                    assert_unreached("deriveBits succeeded but should have failed with InvalidAccessError");
+                }, function(err) {
+                    assert_equals(err.name, "InvalidAccessError", "Should throw correct error, not " + err.name + ": " + err.message);
+                });
+            }, namedCurve + " mismatched curves");
+
+            // - not ECDH public property InvalidAccessError
+            promise_test(function(test) {
+                return subtle.deriveBits({name: "ECDH", public: ecdsaKeyPairs[namedCurve].publicKey}, privateKeys[namedCurve], 8 * sizes[namedCurve])
+                .then(function(derivation) {
+                    assert_unreached("deriveBits succeeded but should have failed with InvalidAccessError");
+                }, function(err) {
+                    assert_equals(err.name, "InvalidAccessError", "Should throw correct error, not " + err.name + ": " + err.message);
+                });
+            }, namedCurve + " public property of algorithm is not an ECDSA public key");
+
+            // - No deriveBits usage in baseKey InvalidAccessError
+            promise_test(function(test) {
+                return subtle.deriveBits({name: "ECDH", public: publicKeys[namedCurve]}, noDeriveBitsKeys[namedCurve], 8 * sizes[namedCurve])
+                .then(function(derivation) {
+                    assert_unreached("deriveBits succeeded but should have failed with InvalidAccessError");
+                }, function(err) {
+                    assert_equals(err.name, "InvalidAccessError", "Should throw correct error, not " + err.name + ": " + err.message);
+                });
+            }, namedCurve + " no deriveBits usage for base key");
+
+            // - Use public key for baseKey InvalidAccessError
+            promise_test(function(test) {
+                return subtle.deriveBits({name: "ECDH", public: publicKeys[namedCurve]}, publicKeys[namedCurve], 8 * sizes[namedCurve])
+                .then(function(derivation) {
+                    assert_unreached("deriveBits succeeded but should have failed with InvalidAccessError");
+                }, function(err) {
+                    assert_equals(err.name, "InvalidAccessError", "Should throw correct error, not " + err.name + ": " + err.message);
+                });
+            }, namedCurve + " base key is not a private key");
+
+            // - Use private key for public property InvalidAccessError
+            promise_test(function(test) {
+                return subtle.deriveBits({name: "ECDH", public: privateKeys[namedCurve]}, privateKeys[namedCurve], 8 * sizes[namedCurve])
+                .then(function(derivation) {
+                    assert_unreached("deriveBits succeeded but should have failed with InvalidAccessError");
+                }, function(err) {
+                    assert_equals(err.name, "InvalidAccessError", "Should throw correct error, not " + err.name + ": " + err.message);
+                });
+            }, namedCurve + " public property value is a private key");
+
+            // - Use secret key for public property InvalidAccessError
+            promise_test(function(test) {
+                return subtle.generateKey({name: "AES-CBC", length: 128}, true, ["encrypt", "decrypt"])
+                .then(function(secretKey) {
+                    subtle.deriveBits({name: "ECDH", public: secretKey}, privateKeys[namedCurve], 8 * sizes[namedCurve])
+                    .then(function(derivation) {
+                        assert_unreached("deriveBits succeeded but should have failed with InvalidAccessError");
+                    }, function(err) {
+                        assert_equals(err.name, "InvalidAccessError", "Should throw correct error, not " + err.name + ": " + err.message);
+                    });
+                });
+            }, namedCurve + " public property value is a secret key");
+
+            // - Length greater than 256, 384, 521 for particular curves OperationError
+            promise_test(function(test) {
+                return subtle.deriveBits({name: "ECDH", public: publicKeys[namedCurve]}, privateKeys[namedCurve], 8 * sizes[namedCurve] + 8)
+                .then(function(derivation) {
+                    assert_unreached("deriveBits succeeded but should have failed with OperationError");
+                }, function(err) {
+                    assert_equals(err.name, "OperationError", "Should throw correct error, not " + err.name + ": " + err.message);
+                });
+            }, namedCurve + " asking for too many bits");
+        });
+        done()
+    });
+
+    function importKeys(pkcs8, spki, sizes) {
+        var privateKeys = {};
+        var publicKeys = {};
+        var ecdsaKeyPairs = {};
+        var noDeriveBitsKeys = {};
+
+        var promises = [];
+        Object.keys(pkcs8).forEach(function(namedCurve) {
+            var operation = subtle.importKey("pkcs8", pkcs8[namedCurve],
+                                            {name: "ECDH", namedCurve: namedCurve},
+                                            false, ["deriveBits", "deriveKey"])
+                            .then(function(key) {
+                                privateKeys[namedCurve] = key;
+                            });
+            promises.push(operation);
+        });
+        Object.keys(pkcs8).forEach(function(namedCurve) {
+            var operation = subtle.importKey("pkcs8", pkcs8[namedCurve],
+                                            {name: "ECDH", namedCurve: namedCurve},
+                                            false, ["deriveKey"])
+                            .then(function(key) {
+                                noDeriveBitsKeys[namedCurve] = key;
+                            });
+            promises.push(operation);
+        });
+        Object.keys(spki).forEach(function(namedCurve) {
+            var operation = subtle.importKey("spki", spki[namedCurve],
+                                            {name: "ECDH", namedCurve: namedCurve},
+                                            false, [])
+                            .then(function(key) {
+                                publicKeys[namedCurve] = key;
+                            });
+            promises.push(operation);
+        });
+        Object.keys(sizes).forEach(function(namedCurve) {
+            var operation = subtle.generateKey({name: "ECDSA", namedCurve: namedCurve}, false, ["sign", "verify"])
+                            .then(function(keyPair) {
+                                ecdsaKeyPairs[namedCurve] = keyPair;
+                            });
+            promises.push(operation);
+        });
+
+        return Promise.all(promises)
+               .then(function(results) {return {privateKeys: privateKeys, publicKeys: publicKeys, ecdsaKeyPairs: ecdsaKeyPairs, noDeriveBitsKeys: noDeriveBitsKeys}});
+    }
+
+    // Compares two ArrayBuffer or ArrayBufferView objects. If bitCount is
+    // omitted, the two values must be the same length and have the same contents
+    // in every byte. If bitCount is included, only that leading number of bits
+    // have to match.
+    function equalBuffers(a, b, bitCount) {
+        var remainder;
+
+        if (typeof bitCount === "undefined" && a.byteLength !== b.byteLength) {
+            return false;
+        }
+
+        var aBytes = new Uint8Array(a);
+        var bBytes = new Uint8Array(b);
+
+        var length = a.byteLength;
+        if (typeof bitCount !== "undefined") {
+            length = Math.floor(bitCount / 8);
+        }
+
+        for (var i=0; i<length; i++) {
+            if (aBytes[i] !== bBytes[i]) {
+                return false;
+            }
+        }
+
+        if (typeof bitCount !== "undefined") {
+            remainder = bitCount % 8;
+            return aBytes[length] >> (8 - remainder) === bBytes[length] >> (8 - remainder);
+        }
+
+        return true;
+    }
+
+}
diff --git a/LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/derive_bits_keys/ecdh_bits.worker-expected.txt b/LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/derive_bits_keys/ecdh_bits.worker-expected.txt
new file mode 100644 (file)
index 0000000..8928f77
--- /dev/null
@@ -0,0 +1,4 @@
+
+Harness Error (TIMEOUT), message = null
+
+
diff --git a/LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/derive_bits_keys/ecdh_bits.worker.html b/LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/derive_bits_keys/ecdh_bits.worker.html
new file mode 100644 (file)
index 0000000..2382913
--- /dev/null
@@ -0,0 +1 @@
+<!-- This file is required for WebKit test infrastructure to run the templated test -->
\ No newline at end of file
diff --git a/LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/derive_bits_keys/ecdh_bits.worker.js b/LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/derive_bits_keys/ecdh_bits.worker.js
new file mode 100644 (file)
index 0000000..8ff0ac3
--- /dev/null
@@ -0,0 +1,4 @@
+importScripts("/resources/testharness.js");
+importScripts("ecdh_bits.js");
+
+run_test();
diff --git a/LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/derive_bits_keys/ecdh_keys.js b/LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/derive_bits_keys/ecdh_keys.js
new file mode 100644 (file)
index 0000000..b1a0bcd
--- /dev/null
@@ -0,0 +1,238 @@
+
+function run_test() {
+    // May want to test prefixed implementations.
+    var subtle = self.crypto.subtle;
+
+    var pkcs8 = {
+        "P-521": new Uint8Array([48, 129, 238, 2, 1, 0, 48, 16, 6, 7, 42, 134, 72, 206, 61, 2, 1, 6, 5, 43, 129, 4, 0, 35, 4, 129, 214, 48, 129, 211, 2, 1, 1, 4, 66, 1, 166, 126, 211, 33, 145, 90, 100, 170, 53, 155, 125, 100, 141, 220, 38, 24, 250, 142, 141, 24, 103, 232, 247, 24, 48, 177, 13, 37, 237, 40, 145, 250, 241, 47, 60, 126, 117, 66, 26, 46, 162, 100, 249, 169, 21, 50, 13, 39, 79, 225, 71, 7, 66, 185, 132, 233, 107, 152, 145, 32, 129, 250, 205, 71, 141, 161, 129, 137, 3, 129, 134, 0, 4, 0, 32, 157, 72, 63, 40, 102, 104, 129, 198, 100, 31, 58, 18, 111, 64, 15, 81, 228, 101, 17, 112, 254, 103, 140, 117, 232, 87, 18, 226, 134, 138, 220, 133, 8, 36, 153, 123, 235, 240, 188, 130, 180, 48, 40, 166, 210, 236, 23, 119, 202, 69, 39, 159, 114, 6, 163, 234, 139, 92, 210, 7, 63, 73, 62, 69, 0, 12, 181, 76, 58, 90, 202, 162, 104, 197, 103, 16, 66, 136, 120, 217, 139, 138, 251, 246, 138, 97, 33, 83, 99, 40, 70, 216, 7, 233, 38, 114, 105, 143, 27, 156, 97, 29, 231, 211, 142, 52, 205, 108, 115, 136, 144, 146, 197, 110, 82, 214, 128, 241, 223, 208, 146, 184, 122, 200, 239, 159, 243, 200, 251, 72]),
+        "P-256": new Uint8Array([48, 129, 135, 2, 1, 0, 48, 19, 6, 7, 42, 134, 72, 206, 61, 2, 1, 6, 8, 42, 134, 72, 206, 61, 3, 1, 7, 4, 109, 48, 107, 2, 1, 1, 4, 32, 15, 247, 79, 232, 241, 202, 175, 97, 92, 206, 241, 29, 217, 53, 114, 87, 98, 217, 216, 65, 236, 186, 185, 94, 170, 38, 68, 123, 52, 100, 245, 113, 161, 68, 3, 66, 0, 4, 140, 96, 11, 44, 102, 25, 45, 97, 158, 39, 210, 37, 107, 59, 151, 118, 178, 141, 30, 5, 246, 13, 234, 189, 98, 174, 123, 154, 211, 157, 224, 217, 59, 4, 102, 109, 199, 119, 14, 126, 207, 13, 211, 203, 203, 211, 110, 221, 107, 94, 220, 153, 81, 7, 55, 161, 237, 104, 46, 205, 112, 244, 10, 47]),
+        "P-384": new Uint8Array([48, 129, 182, 2, 1, 0, 48, 16, 6, 7, 42, 134, 72, 206, 61, 2, 1, 6, 5, 43, 129, 4, 0, 34, 4, 129, 158, 48, 129, 155, 2, 1, 1, 4, 48, 248, 113, 165, 102, 101, 137, 193, 74, 87, 71, 38, 62, 248, 91, 49, 156, 192, 35, 219, 110, 53, 103, 108, 61, 120, 30, 239, 139, 5, 95, 207, 190, 134, 250, 13, 6, 208, 86, 181, 25, 95, 177, 50, 58, 248, 222, 37, 179, 161, 100, 3, 98, 0, 4, 241, 25, 101, 223, 125, 212, 89, 77, 4, 25, 197, 8, 100, 130, 163, 184, 38, 185, 121, 127, 155, 224, 189, 13, 16, 156, 158, 30, 153, 137, 193, 185, 169, 43, 143, 38, 159, 152, 225, 122, 209, 132, 186, 115, 193, 247, 151, 98, 175, 69, 175, 129, 65, 96, 38, 66, 218, 39, 26, 107, 176, 255, 235, 12, 180, 71, 143, 207, 112, 126, 102, 26, 166, 214, 205, 245, 21, 73, 200, 140, 63, 19, 11, 233, 232, 32, 31, 111, 106, 9, 244, 24, 90, 175, 149, 196])
+    };
+
+    var spki = {
+        "P-521": new Uint8Array([48, 129, 155, 48, 16, 6, 7, 42, 134, 72, 206, 61, 2, 1, 6, 5, 43, 129, 4, 0, 35, 3, 129, 134, 0, 4, 0, 238, 105, 249, 71, 21, 215, 1, 233, 226, 1, 19, 51, 212, 244, 249, 108, 186, 125, 145, 248, 139, 17, 43, 175, 117, 207, 9, 204, 31, 138, 202, 151, 97, 141, 169, 56, 152, 34, 210, 155, 111, 233, 153, 106, 97, 32, 62, 247, 82, 183, 113, 232, 149, 143, 196, 103, 123, 179, 119, 133, 101, 171, 96, 214, 237, 0, 222, 171, 103, 97, 137, 91, 147, 94, 58, 211, 37, 251, 133, 73, 229, 111, 19, 120, 106, 167, 63, 136, 162, 236, 254, 64, 147, 52, 115, 216, 174, 242, 64, 196, 223, 215, 213, 6, 242, 44, 221, 14, 85, 85, 143, 63, 191, 5, 235, 247, 239, 239, 122, 114, 215, 143, 70, 70, 155, 132, 72, 242, 110, 39, 18]),
+        "P-256": new Uint8Array([48, 89, 48, 19, 6, 7, 42, 134, 72, 206, 61, 2, 1, 6, 8, 42, 134, 72, 206, 61, 3, 1, 7, 3, 66, 0, 4, 154, 116, 32, 120, 126, 95, 77, 105, 211, 232, 34, 114, 115, 1, 109, 56, 224, 71, 129, 133, 223, 127, 238, 156, 142, 103, 60, 202, 211, 79, 126, 128, 254, 49, 141, 182, 221, 107, 119, 218, 99, 32, 165, 246, 151, 89, 9, 68, 23, 177, 52, 239, 138, 139, 116, 193, 101, 4, 57, 198, 115, 0, 90, 61]),
+        "P-384": new Uint8Array([48, 118, 48, 16, 6, 7, 42, 134, 72, 206, 61, 2, 1, 6, 5, 43, 129, 4, 0, 34, 3, 98, 0, 4, 145, 130, 45, 194, 175, 89, 193, 143, 91, 103, 248, 13, 246, 26, 38, 3, 194, 168, 240, 179, 192, 175, 130, 45, 99, 194, 121, 112, 26, 130, 69, 96, 64, 68, 1, 221, 233, 165, 110, 229, 39, 87, 234, 139, 199, 72, 212, 200, 43, 83, 55, 180, 141, 123, 101, 88, 58, 61, 87, 36, 56, 136, 0, 54, 186, 198, 115, 15, 66, 202, 82, 120, 150, 107, 213, 242, 30, 134, 226, 29, 48, 197, 166, 208, 70, 62, 197, 19, 221, 80, 159, 252, 220, 175, 31, 245])
+    };
+
+    var sizes = {
+        "P-521": 66,
+        "P-256": 32,
+        "P-384": 48
+    };
+
+    var derivations = {
+        "P-521": new Uint8Array([0, 156, 43, 206, 87, 190, 128, 173, 171, 59, 7, 56, 91, 142, 89, 144, 235, 125, 111, 222, 189, 176, 27, 243, 83, 113, 164, 246, 7, 94, 157, 40, 138, 193, 42, 109, 254, 3, 170, 87, 67, 188, 129, 112, 157, 73, 168, 34, 148, 2, 25, 182, 75, 118, 138, 205, 82, 15, 161, 54, 142, 160, 175, 141, 71, 93]),
+        "P-256": new Uint8Array([14, 143, 60, 77, 177, 178, 162, 131, 115, 90, 0, 220, 87, 31, 26, 232, 151, 28, 227, 35, 250, 17, 131, 137, 203, 95, 65, 196, 59, 61, 181, 161]),
+        "P-384": new Uint8Array([224, 189, 107, 206, 10, 239, 140, 164, 136, 56, 166, 226, 252, 197, 126, 103, 185, 197, 232, 134, 12, 95, 11, 233, 218, 190, 197, 62, 69, 78, 24, 160, 161, 116, 196, 136, 136, 162, 100, 136, 17, 91, 45, 201, 241, 223, 165, 45])
+    };
+
+    importKeys(pkcs8, spki, sizes)
+    .then(function(results) {
+        publicKeys = results.publicKeys;
+        privateKeys = results.privateKeys;
+        ecdsaKeyPairs = results.ecdsaKeyPairs;
+        noDeriveKeyKeys = results.noDeriveKeyKeys;
+
+        Object.keys(sizes).forEach(function(namedCurve) {
+            // Basic success case
+            promise_test(function(test) {
+                return subtle.deriveKey({name: "ECDH", public: publicKeys[namedCurve]}, privateKeys[namedCurve], {name: "HMAC", hash: "SHA-256", length: 256}, true, ["sign", "verify"])
+                .then(function(key) {return crypto.subtle.exportKey("raw", key);})
+                .then(function(exportedKey) {
+                    assert_true(equalBuffers(exportedKey, derivations[namedCurve], 8 * exportedKey.length), "Derived correct key");
+                }, function(err) {
+                    assert_unreached("deriveKey failed with error " + err.name + ": " + err.message);
+                });
+            }, namedCurve + " good parameters");
+
+            // Case insensitivity check
+            promise_test(function(test) {
+                return subtle.deriveKey({name: "EcDh", public: publicKeys[namedCurve]}, privateKeys[namedCurve], {name: "HMAC", hash: "SHA-256", length: 256}, true, ["sign", "verify"])
+                .then(function(key) {return crypto.subtle.exportKey("raw", key);})
+                .then(function(exportedKey) {
+                    assert_true(equalBuffers(exportedKey, derivations[namedCurve], 8 * exportedKey.length), "Derived correct key");
+                }, function(err) {
+                    assert_unreached("deriveKey failed with error " + err.name + ": " + err.message);
+                });
+            }, namedCurve + " mixed case parameters");
+            // Errors to test:
+
+            // - missing public property TypeError
+            promise_test(function(test) {
+                return subtle.deriveKey({name: "ECDH"}, privateKeys[namedCurve], {name: "HMAC", hash: "SHA-256", length: 256}, true, ["sign", "verify"])
+                .then(function(key) {return crypto.subtle.exportKey("raw", key);})
+                .then(function(exportedKey) {
+                    assert_unreached("deriveKey succeeded but should have failed with TypeError");
+                }, function(err) {
+                    assert_equals(err.name, "TypeError", "Should throw correct error, not " + err.name + ": " + err.message);
+                });
+            }, namedCurve + " missing public curve");
+
+            // - Non CryptoKey public property TypeError
+            promise_test(function(test) {
+                return subtle.deriveKey({name: "ECDH", public: {message: "Not a CryptoKey"}}, privateKeys[namedCurve], {name: "HMAC", hash: "SHA-256", length: 256}, true, ["sign", "verify"])
+                .then(function(key) {return crypto.subtle.exportKey("raw", key);})
+                .then(function(exportedKey) {
+                    assert_unreached("deriveKey succeeded but should have failed with TypeError");
+                }, function(err) {
+                    assert_equals(err.name, "TypeError", "Should throw correct error, not " + err.name + ": " + err.message);
+                });
+            }, namedCurve + " public property of algorithm is not a CryptoKey");
+
+            // - wrong named curve
+            promise_test(function(test) {
+                publicKey = publicKeys["P-256"];
+                if (namedCurve === "P-256") {
+                    publicKey = publicKeys["P-384"];
+                }
+                return subtle.deriveKey({name: "ECDH", public: publicKey}, privateKeys[namedCurve], {name: "HMAC", hash: "SHA-256", length: 256}, true, ["sign", "verify"])
+                .then(function(key) {return crypto.subtle.exportKey("raw", key);})
+                .then(function(exportedKey) {
+                    assert_unreached("deriveKey succeeded but should have failed with InvalidAccessError");
+                }, function(err) {
+                    assert_equals(err.name, "InvalidAccessError", "Should throw correct error, not " + err.name + ": " + err.message);
+                });
+            }, namedCurve + " mismatched curves");
+
+            // - not ECDH public property InvalidAccessError
+            promise_test(function(test) {
+                return subtle.deriveKey({name: "ECDH", public: ecdsaKeyPairs[namedCurve].publicKey}, privateKeys[namedCurve], {name: "HMAC", hash: "SHA-256", length: 256}, true, ["sign", "verify"])
+                .then(function(key) {return crypto.subtle.exportKey("raw", key);})
+                .then(function(exportedKey) {
+                    assert_unreached("deriveKey succeeded but should have failed with InvalidAccessError");
+                }, function(err) {
+                    assert_equals(err.name, "InvalidAccessError", "Should throw correct error, not " + err.name + ": " + err.message);
+                });
+            }, namedCurve + " public property of algorithm is not an ECDSA public key");
+
+            // - No deriveKey usage in baseKey InvalidAccessError
+            promise_test(function(test) {
+                return subtle.deriveKey({name: "ECDH", public: publicKeys[namedCurve]}, noDeriveKeyKeys[namedCurve], {name: "HMAC", hash: "SHA-256", length: 256}, true, ["sign", "verify"])
+                .then(function(key) {return crypto.subtle.exportKey("raw", key);})
+                .then(function(exportedKey) {
+                    assert_unreached("deriveKey succeeded but should have failed with InvalidAccessError");
+                }, function(err) {
+                    assert_equals(err.name, "InvalidAccessError", "Should throw correct error, not " + err.name + ": " + err.message);
+                });
+            }, namedCurve + " no deriveKey usage for base key");
+
+            // - Use public key for baseKey InvalidAccessError
+            promise_test(function(test) {
+                return subtle.deriveKey({name: "ECDH", public: publicKeys[namedCurve]}, publicKeys[namedCurve], {name: "HMAC", hash: "SHA-256", length: 256}, true, ["sign", "verify"])
+                .then(function(key) {return crypto.subtle.exportKey("raw", key);})
+                .then(function(exportedKey) {
+                    assert_unreached("deriveKey succeeded but should have failed with InvalidAccessError");
+                }, function(err) {
+                    assert_equals(err.name, "InvalidAccessError", "Should throw correct error, not " + err.name + ": " + err.message);
+                });
+            }, namedCurve + " base key is not a private key");
+
+            // - Use private key for public property InvalidAccessError
+            promise_test(function(test) {
+                return subtle.deriveKey({name: "ECDH", public: privateKeys[namedCurve]}, privateKeys[namedCurve], {name: "HMAC", hash: "SHA-256", length: 256}, true, ["sign", "verify"])
+                .then(function(key) {return crypto.subtle.exportKey("raw", key);})
+                .then(function(exportedKey) {
+                    assert_unreached("deriveKey succeeded but should have failed with InvalidAccessError");
+                }, function(err) {
+                    assert_equals(err.name, "InvalidAccessError", "Should throw correct error, not " + err.name + ": " + err.message);
+                });
+            }, namedCurve + " public property value is a private key");
+
+            // - Use secret key for public property InvalidAccessError
+            promise_test(function(test) {
+                return subtle.generateKey({name: "HMAC", hash: "SHA-256", length: 256}, true, ["sign", "verify"])
+                .then(function(secretKey) {
+                    subtle.deriveKey({name: "ECDH", public: secretKey}, privateKeys[namedCurve], {name: "AES-CBC", length: 256}, true, ["sign", "verify"])
+                    .then(function(key) {return crypto.subtle.exportKey("raw", key);})
+                    .then(function(exportedKey) {
+                        assert_unreached("deriveKey succeeded but should have failed with InvalidAccessError");
+                    }, function(err) {
+                        assert_equals(err.name, "InvalidAccessError", "Should throw correct error, not " + err.name + ": " + err.message);
+                    });
+                });
+            }, namedCurve + " public property value is a secret key");
+        });
+        done();
+    });
+
+    function importKeys(pkcs8, spki, sizes) {
+        var privateKeys = {};
+        var publicKeys = {};
+        var ecdsaKeyPairs = {};
+        var noDeriveKeyKeys = {};
+
+        var promises = [];
+        Object.keys(pkcs8).forEach(function(namedCurve) {
+            var operation = subtle.importKey("pkcs8", pkcs8[namedCurve],
+                                            {name: "ECDH", namedCurve: namedCurve},
+                                            false, ["deriveBits", "deriveKey"])
+                            .then(function(key) {
+                                privateKeys[namedCurve] = key;
+                            });
+            promises.push(operation);
+        });
+        Object.keys(pkcs8).forEach(function(namedCurve) {
+            var operation = subtle.importKey("pkcs8", pkcs8[namedCurve],
+                                            {name: "ECDH", namedCurve: namedCurve},
+                                            false, ["deriveBits"])
+                            .then(function(key) {
+                                noDeriveKeyKeys[namedCurve] = key;
+                            });
+            promises.push(operation);
+        });
+        Object.keys(spki).forEach(function(namedCurve) {
+            var operation = subtle.importKey("spki", spki[namedCurve],
+                                            {name: "ECDH", namedCurve: namedCurve},
+                                            false, [])
+                            .then(function(key) {
+                                publicKeys[namedCurve] = key;
+                            });
+            promises.push(operation);
+        });
+        Object.keys(sizes).forEach(function(namedCurve) {
+            var operation = subtle.generateKey({name: "ECDSA", namedCurve: namedCurve}, false, ["sign", "verify"])
+                            .then(function(keyPair) {
+                                ecdsaKeyPairs[namedCurve] = keyPair;
+                            });
+            promises.push(operation);
+        });
+
+        return Promise.all(promises)
+               .then(function(results) {return {privateKeys: privateKeys, publicKeys: publicKeys, ecdsaKeyPairs: ecdsaKeyPairs, noDeriveKeyKeys: noDeriveKeyKeys}});
+    }
+
+    // Compares two ArrayBuffer or ArrayBufferView objects. If bitCount is
+    // omitted, the two values must be the same length and have the same contents
+    // in every byte. If bitCount is included, only that leading number of bits
+    // have to match.
+    function equalBuffers(a, b, bitCount) {
+        var remainder;
+
+        if (typeof bitCount === "undefined" && a.byteLength !== b.byteLength) {
+            return false;
+        }
+
+        var aBytes = new Uint8Array(a);
+        var bBytes = new Uint8Array(b);
+
+        var length = a.byteLength;
+        if (typeof bitCount !== "undefined") {
+            length = Math.floor(bitCount / 8);
+        }
+
+        for (var i=0; i<length; i++) {
+            if (aBytes[i] !== bBytes[i]) {
+                return false;
+            }
+        }
+
+        if (typeof bitCount !== "undefined") {
+            remainder = bitCount % 8;
+            return aBytes[length] >> (8 - remainder) === bBytes[length] >> (8 - remainder);
+        }
+
+        return true;
+    }
+
+}
diff --git a/LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/derive_bits_keys/ecdh_keys.worker-expected.txt b/LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/derive_bits_keys/ecdh_keys.worker-expected.txt
new file mode 100644 (file)
index 0000000..8928f77
--- /dev/null
@@ -0,0 +1,4 @@
+
+Harness Error (TIMEOUT), message = null
+
+
diff --git a/LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/derive_bits_keys/ecdh_keys.worker.html b/LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/derive_bits_keys/ecdh_keys.worker.html
new file mode 100644 (file)
index 0000000..2382913
--- /dev/null
@@ -0,0 +1 @@
+<!-- This file is required for WebKit test infrastructure to run the templated test -->
\ No newline at end of file
diff --git a/LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/derive_bits_keys/ecdh_keys.worker.js b/LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/derive_bits_keys/ecdh_keys.worker.js
new file mode 100644 (file)
index 0000000..488d602
--- /dev/null
@@ -0,0 +1,4 @@
+importScripts("/resources/testharness.js");
+importScripts("ecdh_keys.js");
+
+run_test();
diff --git a/LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/derive_bits_keys/hkdf.js b/LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/derive_bits_keys/hkdf.js
new file mode 100644 (file)
index 0000000..016740a
--- /dev/null
@@ -0,0 +1,312 @@
+
+function run_test() {
+    // May want to test prefixed implementations.
+    var subtle = self.crypto.subtle;
+
+    // hkdf2_vectors sets up test data with the correct derivations for each
+    // test case.
+    var testData = getTestData();
+    var derivedKeys = testData.derivedKeys;
+    var salts = testData.salts;
+    var derivations = testData.derivations;
+    var infos = testData.infos;
+
+    // What kinds of keys can be created with deriveKey? The following:
+    var derivedKeyTypes = testData.derivedKeyTypes;
+
+    setUpBaseKeys(derivedKeys)
+    .then(function(allKeys) {
+        // We get several kinds of base keys. Normal ones that can be used for
+        // derivation operations, ones that lack the deriveBits usage, ones
+        // that lack the deriveKeys usage, and one key that is for the wrong
+        // algorithm (not HKDF in this case).
+        var baseKeys = allKeys.baseKeys;
+        var noBits = allKeys.noBits;
+        var noKey = allKeys.noKey;
+        var wrongKey = allKeys.wrongKey;
+
+        // Test each combination of derivedKey size, salt size, hash function,
+        // and number of iterations. The derivations object is structured in
+        // that way, so navigate it to run tests and compare with correct results.
+        Object.keys(derivations).forEach(function(derivedKeySize) {
+            Object.keys(derivations[derivedKeySize]).forEach(function(saltSize) {
+                Object.keys(derivations[derivedKeySize][saltSize]).forEach(function(hashName) {
+                    Object.keys(derivations[derivedKeySize][saltSize][hashName]).forEach(function(infoSize) {
+                        var testName = derivedKeySize + " derivedKey, " + saltSize + " salt, " + hashName + ", with " + infoSize + " info";
+                        var algorithm = {name: "HKDF", salt: salts[saltSize], info: infos[infoSize], hash: hashName};
+
+                        // Check for correct deriveBits result
+                        promise_test(function(test) {
+                            return subtle.deriveBits(algorithm, baseKeys[derivedKeySize], 256)
+                            .then(function(derivation) {
+                                assert_true(equalBuffers(derivation, derivations[derivedKeySize][saltSize][hashName][infoSize]), "Derived correct key");
+                            }, function(err) {
+                                assert_unreached("deriveBits failed with error " + err.name + ": " + err.message);
+                            });
+                        }, testName);
+
+                        // 0 length (OperationError)
+                        promise_test(function(test) {
+                            return subtle.deriveBits(algorithm, baseKeys[derivedKeySize], 0)
+                            .then(function(derivation) {
+                                assert_equals(derivation.byteLength, 0, "Derived correctly empty key");
+                            }, function(err) {
+                                assert_equals(err.name, "OperationError", "deriveBits with 0 length correctly threw OperationError: " + err.message);
+                            });
+                        }, testName + " with 0 length");
+
+                        // Check for correct deriveKey results for every kind of
+                        // key that can be created by the deriveKeys operation.
+                        derivedKeyTypes.forEach(function(derivedKeyType) {
+                            var testName = "Derived key of type ";
+                            Object.keys(derivedKeyType.algorithm).forEach(function(prop) {
+                                testName += prop + ": " + derivedKeyType.algorithm[prop] + " ";
+                            });
+                            testName += " using " + derivedKeySize + " derivedKey, " + saltSize + " salt, " + hashName + ", with " + infoSize + " info";
+
+                            // Test the particular key derivation.
+                            promise_test(function(test) {
+                                return subtle.deriveKey(algorithm, baseKeys[derivedKeySize], derivedKeyType.algorithm, true, derivedKeyType.usages)
+                                .then(function(key) {
+                                    // Need to export the key to see that the correct bits were set.
+                                    return subtle.exportKey("raw", key)
+                                    .then(function(buffer) {
+                                        assert_true(equalBuffers(buffer, derivations[derivedKeySize][saltSize][hashName][infoSize].slice(0, derivedKeyType.algorithm.length/8)), "Exported key matches correct value");
+                                    }, function(err) {
+                                        assert_unreached("Exporting derived key failed with error " + err.name + ": " + err.message);
+                                    });
+                                }, function(err) {
+                                    assert_unreached("deriveKey failed with error " + err.name + ": " + err.message);
+
+                                });
+                            }, testName);
+
+                            // Test various error conditions for deriveKey:
+
+                            // - illegal name for hash algorithm (NotSupportedError)
+                            var badHash = hashName.substring(0, 3) + hashName.substring(4);
+                            promise_test(function(test) {
+                                var badAlgorithm = {name: "HKDF", salt: salts[saltSize], hash: badHash};
+                                return subtle.deriveKey(badAlgorithm, baseKeys[derivedKeySize], derivedKeyType.algorithm, true, derivedKeyType.usages)
+                                .then(function(key) {
+                                    assert_unreached("bad hash name should have thrown an NotSupportedError");
+                                }, function(err) {
+                                    assert_equals(err.name, "NotSupportedError", "deriveKey with bad hash name correctly threw NotSupportedError: " + err.message);
+                                });
+                            }, testName + " with bad hash name " + badHash);
+
+                            // - baseKey usages missing "deriveKey" (InvalidAccessError)
+                            promise_test(function(test) {
+                                return subtle.deriveKey(algorithm, noKey[derivedKeySize], derivedKeyType.algorithm, true, derivedKeyType.usages)
+                                .then(function(key) {
+                                    assert_unreached("missing deriveKey usage should have thrown an InvalidAccessError");
+                                }, function(err) {
+                                    assert_equals(err.name, "InvalidAccessError", "deriveKey with missing deriveKey usage correctly threw InvalidAccessError: " + err.message);
+                                });
+                            }, testName + " with missing deriveKey usage");
+
+                            // - baseKey algorithm does not match HKDF (InvalidAccessError)
+                            promise_test(function(test) {
+                                return subtle.deriveKey(algorithm, wrongKey, derivedKeyType.algorithm, true, derivedKeyType.usages)
+                                .then(function(key) {
+                                    assert_unreached("wrong (ECDH) key should have thrown an InvalidAccessError");
+                                }, function(err) {
+                                    assert_equals(err.name, "InvalidAccessError", "deriveKey with wrong (ECDH) key correctly threw InvalidAccessError: " + err.message);
+                                });
+                            }, testName + " with wrong (ECDH) key");
+
+                        });
+
+                        // Test various error conditions for deriveBits below:
+
+                        // missing salt (TypeError)
+                        promise_test(function(test) {
+                            return subtle.deriveBits({name: "HKDF", info: infos[infoSize], hash: hashName}, baseKeys[derivedKeySize], 0)
+                            .then(function(derivation) {
+                                assert_equals(derivation.byteLength, 0, "Derived even with missing salt");
+                            }, function(err) {
+                                assert_equals(err.name, "TypeError", "deriveBits missing salt correctly threw OperationError: " + err.message);
+                            });
+                        }, testName + " with missing salt");
+
+                        // missing info (TypeError)
+                        promise_test(function(test) {
+                            return subtle.deriveBits({name: "HKDF", salt: salts[saltSize], hash: hashName}, baseKeys[derivedKeySize], 0)
+                            .then(function(derivation) {
+                                assert_equals(derivation.byteLength, 0, "Derived even with missing info");
+                            }, function(err) {
+                                assert_equals(err.name, "TypeError", "deriveBits missing info correctly threw OperationError: " + err.message);
+                            });
+                        }, testName + " with missing info");
+
+                        // length null (OperationError)
+                        promise_test(function(test) {
+                            return subtle.deriveBits(algorithm, baseKeys[derivedKeySize], null)
+                            .then(function(derivation) {
+                                assert_unreached("null length should have thrown an TypeError");
+                            }, function(err) {
+                                assert_equals(err.name, "TypeError", "deriveBits with null length correctly threw OperationError: " + err.message);
+                            });
+                        }, testName + " with null length");
+
+                        // length not multiple of 8 (OperationError)
+                        promise_test(function(test) {
+                            return subtle.deriveBits(algorithm, baseKeys[derivedKeySize], 44)
+                            .then(function(derivation) {
+                                assert_unreached("non-multiple of 8 length should have thrown an OperationError");
+                            }, function(err) {
+                                assert_equals(err.name, "OperationError", "deriveBits with non-multiple of 8 length correctly threw OperationError: " + err.message);
+                            });
+                        }, testName + " with non-multiple of 8 length");
+
+                        // - illegal name for hash algorithm (NotSupportedError)
+                        var badHash = hashName.substring(0, 3) + hashName.substring(4);
+                        promise_test(function(test) {
+                            var badAlgorithm = {name: "HKDF", salt: salts[saltSize], hash: badHash};
+                            return subtle.deriveBits(badAlgorithm, baseKeys[derivedKeySize], 256)
+                            .then(function(derivation) {
+                                assert_unreached("bad hash name should have thrown an NotSupportedError");
+                            }, function(err) {
+                                assert_equals(err.name, "NotSupportedError", "deriveBits with bad hash name correctly threw NotSupportedError: " + err.message);
+                            });
+                        }, testName + " with bad hash name " + badHash);
+
+                        // - baseKey usages missing "deriveBits" (InvalidAccessError)
+                        promise_test(function(test) {
+                            return subtle.deriveBits(algorithm, noBits[derivedKeySize], 256)
+                            .then(function(derivation) {
+                                assert_unreached("missing deriveBits usage should have thrown an InvalidAccessError");
+                            }, function(err) {
+                                assert_equals(err.name, "InvalidAccessError", "deriveBits with missing deriveBits usage correctly threw InvalidAccessError: " + err.message);
+                            });
+                        }, testName + " with missing deriveBits usage");
+
+                        // - baseKey algorithm does not match HKDF (InvalidAccessError)
+                        promise_test(function(test) {
+                            return subtle.deriveBits(algorithm, wrongKey, 256)
+                            .then(function(derivation) {
+                                assert_unreached("wrong (ECDH) key should have thrown an InvalidAccessError");
+                            }, function(err) {
+                                assert_equals(err.name, "InvalidAccessError", "deriveBits with wrong (ECDH) key correctly threw InvalidAccessError: " + err.message);
+                            });
+                        }, testName + " with wrong (ECDH) key");
+                    });
+                });
+
+                // - legal algorithm name but not digest one (e.g., PBKDF2) (NotSupportedError)
+                var nonDigestHash = "PBKDF2";
+                Object.keys(infos).forEach(function(infoSize) {
+                    var testName = derivedKeySize + " derivedKey, " + saltSize + " salt, " + nonDigestHash + ", with " + infoSize + " info";
+                    var algorithm = {name: "HKDF", salt: salts[saltSize], hash: nonDigestHash};
+                    if (infoSize !== "missing") {
+                        algorithm.info = infos[infoSize];
+                    }
+
+                    promise_test(function(test) {
+                        return subtle.deriveBits(algorithm, baseKeys[derivedKeySize], 256)
+                        .then(function(derivation) {
+                            assert_unreached("non-digest algorithm should have thrown an NotSupportedError");
+                        }, function(err) {
+                            assert_equals(err.name, "NotSupportedError", "deriveBits with non-digest algorithm correctly threw NotSupportedError: " + err.message);
+                        });
+                    }, testName + " with non-digest algorithm " + nonDigestHash);
+
+                    derivedKeyTypes.forEach(function(derivedKeyType) {
+                        var testName = "Derived key of type ";
+                        Object.keys(derivedKeyType.algorithm).forEach(function(prop) {
+                            testName += prop + ": " + derivedKeyType.algorithm[prop] + " ";
+                        });
+                        testName += " using " + derivedKeySize + " derivedKey, " + saltSize + " salt, " + nonDigestHash + ", with " + infoSize + " info";
+
+                        promise_test(function(test) {
+                            return subtle.deriveKey(algorithm, baseKeys[derivedKeySize], derivedKeyType.algorithm, true, derivedKeyType.usages)
+                            .then(function(derivation) {
+                                assert_unreached("non-digest algorithm should have thrown an NotSupportedError");
+                            }, function(err) {
+                                assert_equals(err.name, "NotSupportedError", "derivekey with non-digest algorithm correctly threw NotSupportedError: " + err.message);
+                            });
+                        }, testName);
+                    });
+
+                });
+
+            });
+        });
+
+        done();
+    }, function(err) {
+        test(function(test) {
+            assert_unreached("setUpBaseKeys failed with error '" + err.message + "'");
+        }, "setUpBaseKeys");
+        done();
+    });
+
+    // Deriving bits and keys requires starting with a base key, which is created
+    // by importing a derivedKey. setUpBaseKeys returns a promise that yields the
+    // necessary base keys.
+    function setUpBaseKeys(derivedKeys) {
+        var promises = [];
+
+        var baseKeys = {};
+        var noBits = {};
+        var noKey = {};
+        var wrongKey = null;
+
+        Object.keys(derivedKeys).forEach(function(derivedKeySize) {
+            var promise = subtle.importKey("raw", derivedKeys[derivedKeySize], {name: "HKDF"}, false, ["deriveKey", "deriveBits"])
+            .then(function(baseKey) {
+                baseKeys[derivedKeySize] = baseKey;
+            }, function(err) {
+                baseKeys[derivedKeySize] = null;
+            });
+            promises.push(promise);
+
+            promise = subtle.importKey("raw", derivedKeys[derivedKeySize], {name: "HKDF"}, false, ["deriveBits"])
+            .then(function(baseKey) {
+                noKey[derivedKeySize] = baseKey;
+            }, function(err) {
+                noKey[derivedKeySize] = null;
+            });
+            promises.push(promise);
+
+            promise = subtle.importKey("raw", derivedKeys[derivedKeySize], {name: "HKDF"}, false, ["deriveKey"])
+            .then(function(baseKey) {
+                noBits[derivedKeySize] = baseKey;
+            }, function(err) {
+                noBits[derivedKeySize] = null;
+            });
+            promises.push(promise);
+        });
+
+        var promise = subtle.generateKey({name: "ECDH", namedCurve: "P-256"}, false, ["deriveKey", "deriveBits"])
+        .then(function(baseKey) {
+            wrongKey = baseKey.privateKey;
+        }, function(err) {
+            wrongKey = null;
+        });
+        promises.push(promise);
+
+
+        return Promise.all(promises).then(function() {
+            return {baseKeys: baseKeys, noBits: noBits, noKey: noKey, wrongKey: wrongKey};
+        });
+    }
+
+    function equalBuffers(a, b) {
+        if (a.byteLength !== b.byteLength) {
+            return false;
+        }
+
+        var aBytes = new Uint8Array(a);
+        var bBytes = new Uint8Array(b);
+
+        for (var i=0; i<a.byteLength; i++) {
+            if (aBytes[i] !== bBytes[i]) {
+                return false;
+            }
+        }
+
+        return true;
+    }
+
+}
diff --git a/LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/derive_bits_keys/hkdf.worker-expected.txt b/LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/derive_bits_keys/hkdf.worker-expected.txt
new file mode 100644 (file)
index 0000000..289474b
--- /dev/null
@@ -0,0 +1,3710 @@
+
+FAIL short derivedKey, normal salt, SHA-384, with normal info assert_unreached: deriveBits failed with error NotSupportedError: The operation is not supported. Reached unreachable code
+FAIL short derivedKey, normal salt, SHA-384, with normal info with 0 length assert_equals: deriveBits with 0 length correctly threw OperationError: The operation is not supported. expected "OperationError" but got "NotSupportedError"
+FAIL Derived key of type name: AES-CBC length: 128  using short derivedKey, normal salt, SHA-384, with normal info assert_unreached: deriveKey failed with error NotSupportedError: The operation is not supported. Reached unreachable code
+PASS Derived key of type name: AES-CBC length: 128  using short derivedKey, normal salt, SHA-384, with normal info with bad hash name SHA384 
+FAIL Derived key of type name: AES-CBC length: 128  using short derivedKey, normal salt, SHA-384, with normal info with missing deriveKey usage assert_equals: deriveKey with missing deriveKey usage correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: AES-CBC length: 128  using short derivedKey, normal salt, SHA-384, with normal info with wrong (ECDH) key assert_equals: deriveKey with wrong (ECDH) key correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: AES-CBC length: 192  using short derivedKey, normal salt, SHA-384, with normal info assert_unreached: deriveKey failed with error NotSupportedError: The operation is not supported. Reached unreachable code
+PASS Derived key of type name: AES-CBC length: 192  using short derivedKey, normal salt, SHA-384, with normal info with bad hash name SHA384 
+FAIL Derived key of type name: AES-CBC length: 192  using short derivedKey, normal salt, SHA-384, with normal info with missing deriveKey usage assert_equals: deriveKey with missing deriveKey usage correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: AES-CBC length: 192  using short derivedKey, normal salt, SHA-384, with normal info with wrong (ECDH) key assert_equals: deriveKey with wrong (ECDH) key correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: AES-CBC length: 256  using short derivedKey, normal salt, SHA-384, with normal info assert_unreached: deriveKey failed with error NotSupportedError: The operation is not supported. Reached unreachable code
+PASS Derived key of type name: AES-CBC length: 256  using short derivedKey, normal salt, SHA-384, with normal info with bad hash name SHA384 
+FAIL Derived key of type name: AES-CBC length: 256  using short derivedKey, normal salt, SHA-384, with normal info with missing deriveKey usage assert_equals: deriveKey with missing deriveKey usage correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: AES-CBC length: 256  using short derivedKey, normal salt, SHA-384, with normal info with wrong (ECDH) key assert_equals: deriveKey with wrong (ECDH) key correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: AES-CTR length: 128  using short derivedKey, normal salt, SHA-384, with normal info assert_unreached: deriveKey failed with error NotSupportedError: The operation is not supported. Reached unreachable code
+PASS Derived key of type name: AES-CTR length: 128  using short derivedKey, normal salt, SHA-384, with normal info with bad hash name SHA384 
+FAIL Derived key of type name: AES-CTR length: 128  using short derivedKey, normal salt, SHA-384, with normal info with missing deriveKey usage assert_equals: deriveKey with missing deriveKey usage correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: AES-CTR length: 128  using short derivedKey, normal salt, SHA-384, with normal info with wrong (ECDH) key assert_equals: deriveKey with wrong (ECDH) key correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: AES-CTR length: 192  using short derivedKey, normal salt, SHA-384, with normal info assert_unreached: deriveKey failed with error NotSupportedError: The operation is not supported. Reached unreachable code
+PASS Derived key of type name: AES-CTR length: 192  using short derivedKey, normal salt, SHA-384, with normal info with bad hash name SHA384 
+FAIL Derived key of type name: AES-CTR length: 192  using short derivedKey, normal salt, SHA-384, with normal info with missing deriveKey usage assert_equals: deriveKey with missing deriveKey usage correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: AES-CTR length: 192  using short derivedKey, normal salt, SHA-384, with normal info with wrong (ECDH) key assert_equals: deriveKey with wrong (ECDH) key correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: AES-CTR length: 256  using short derivedKey, normal salt, SHA-384, with normal info assert_unreached: deriveKey failed with error NotSupportedError: The operation is not supported. Reached unreachable code
+PASS Derived key of type name: AES-CTR length: 256  using short derivedKey, normal salt, SHA-384, with normal info with bad hash name SHA384 
+FAIL Derived key of type name: AES-CTR length: 256  using short derivedKey, normal salt, SHA-384, with normal info with missing deriveKey usage assert_equals: deriveKey with missing deriveKey usage correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: AES-CTR length: 256  using short derivedKey, normal salt, SHA-384, with normal info with wrong (ECDH) key assert_equals: deriveKey with wrong (ECDH) key correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: AES-GCM length: 128  using short derivedKey, normal salt, SHA-384, with normal info assert_unreached: deriveKey failed with error NotSupportedError: The operation is not supported. Reached unreachable code
+PASS Derived key of type name: AES-GCM length: 128  using short derivedKey, normal salt, SHA-384, with normal info with bad hash name SHA384 
+FAIL Derived key of type name: AES-GCM length: 128  using short derivedKey, normal salt, SHA-384, with normal info with missing deriveKey usage assert_equals: deriveKey with missing deriveKey usage correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: AES-GCM length: 128  using short derivedKey, normal salt, SHA-384, with normal info with wrong (ECDH) key assert_equals: deriveKey with wrong (ECDH) key correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: AES-GCM length: 192  using short derivedKey, normal salt, SHA-384, with normal info assert_unreached: deriveKey failed with error NotSupportedError: The operation is not supported. Reached unreachable code
+PASS Derived key of type name: AES-GCM length: 192  using short derivedKey, normal salt, SHA-384, with normal info with bad hash name SHA384 
+FAIL Derived key of type name: AES-GCM length: 192  using short derivedKey, normal salt, SHA-384, with normal info with missing deriveKey usage assert_equals: deriveKey with missing deriveKey usage correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: AES-GCM length: 192  using short derivedKey, normal salt, SHA-384, with normal info with wrong (ECDH) key assert_equals: deriveKey with wrong (ECDH) key correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: AES-GCM length: 256  using short derivedKey, normal salt, SHA-384, with normal info assert_unreached: deriveKey failed with error NotSupportedError: The operation is not supported. Reached unreachable code
+PASS Derived key of type name: AES-GCM length: 256  using short derivedKey, normal salt, SHA-384, with normal info with bad hash name SHA384 
+FAIL Derived key of type name: AES-GCM length: 256  using short derivedKey, normal salt, SHA-384, with normal info with missing deriveKey usage assert_equals: deriveKey with missing deriveKey usage correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: AES-GCM length: 256  using short derivedKey, normal salt, SHA-384, with normal info with wrong (ECDH) key assert_equals: deriveKey with wrong (ECDH) key correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: AES-KW length: 128  using short derivedKey, normal salt, SHA-384, with normal info assert_unreached: deriveKey failed with error NotSupportedError: The operation is not supported. Reached unreachable code
+PASS Derived key of type name: AES-KW length: 128  using short derivedKey, normal salt, SHA-384, with normal info with bad hash name SHA384 
+FAIL Derived key of type name: AES-KW length: 128  using short derivedKey, normal salt, SHA-384, with normal info with missing deriveKey usage assert_equals: deriveKey with missing deriveKey usage correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: AES-KW length: 128  using short derivedKey, normal salt, SHA-384, with normal info with wrong (ECDH) key assert_equals: deriveKey with wrong (ECDH) key correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: AES-KW length: 192  using short derivedKey, normal salt, SHA-384, with normal info assert_unreached: deriveKey failed with error NotSupportedError: The operation is not supported. Reached unreachable code
+PASS Derived key of type name: AES-KW length: 192  using short derivedKey, normal salt, SHA-384, with normal info with bad hash name SHA384 
+FAIL Derived key of type name: AES-KW length: 192  using short derivedKey, normal salt, SHA-384, with normal info with missing deriveKey usage assert_equals: deriveKey with missing deriveKey usage correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: AES-KW length: 192  using short derivedKey, normal salt, SHA-384, with normal info with wrong (ECDH) key assert_equals: deriveKey with wrong (ECDH) key correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: AES-KW length: 256  using short derivedKey, normal salt, SHA-384, with normal info assert_unreached: deriveKey failed with error NotSupportedError: The operation is not supported. Reached unreachable code
+PASS Derived key of type name: AES-KW length: 256  using short derivedKey, normal salt, SHA-384, with normal info with bad hash name SHA384 
+FAIL Derived key of type name: AES-KW length: 256  using short derivedKey, normal salt, SHA-384, with normal info with missing deriveKey usage assert_equals: deriveKey with missing deriveKey usage correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: AES-KW length: 256  using short derivedKey, normal salt, SHA-384, with normal info with wrong (ECDH) key assert_equals: deriveKey with wrong (ECDH) key correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: HMAC hash: SHA-1 length: 256  using short derivedKey, normal salt, SHA-384, with normal info assert_unreached: deriveKey failed with error NotSupportedError: The operation is not supported. Reached unreachable code
+PASS Derived key of type name: HMAC hash: SHA-1 length: 256  using short derivedKey, normal salt, SHA-384, with normal info with bad hash name SHA384 
+FAIL Derived key of type name: HMAC hash: SHA-1 length: 256  using short derivedKey, normal salt, SHA-384, with normal info with missing deriveKey usage assert_equals: deriveKey with missing deriveKey usage correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: HMAC hash: SHA-1 length: 256  using short derivedKey, normal salt, SHA-384, with normal info with wrong (ECDH) key assert_equals: deriveKey with wrong (ECDH) key correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: HMAC hash: SHA-256 length: 256  using short derivedKey, normal salt, SHA-384, with normal info assert_unreached: deriveKey failed with error NotSupportedError: The operation is not supported. Reached unreachable code
+PASS Derived key of type name: HMAC hash: SHA-256 length: 256  using short derivedKey, normal salt, SHA-384, with normal info with bad hash name SHA384 
+FAIL Derived key of type name: HMAC hash: SHA-256 length: 256  using short derivedKey, normal salt, SHA-384, with normal info with missing deriveKey usage assert_equals: deriveKey with missing deriveKey usage correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: HMAC hash: SHA-256 length: 256  using short derivedKey, normal salt, SHA-384, with normal info with wrong (ECDH) key assert_equals: deriveKey with wrong (ECDH) key correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: HMAC hash: SHA-384 length: 256  using short derivedKey, normal salt, SHA-384, with normal info assert_unreached: deriveKey failed with error NotSupportedError: The operation is not supported. Reached unreachable code
+PASS Derived key of type name: HMAC hash: SHA-384 length: 256  using short derivedKey, normal salt, SHA-384, with normal info with bad hash name SHA384 
+FAIL Derived key of type name: HMAC hash: SHA-384 length: 256  using short derivedKey, normal salt, SHA-384, with normal info with missing deriveKey usage assert_equals: deriveKey with missing deriveKey usage correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: HMAC hash: SHA-384 length: 256  using short derivedKey, normal salt, SHA-384, with normal info with wrong (ECDH) key assert_equals: deriveKey with wrong (ECDH) key correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: HMAC hash: SHA-512 length: 256  using short derivedKey, normal salt, SHA-384, with normal info assert_unreached: deriveKey failed with error NotSupportedError: The operation is not supported. Reached unreachable code
+PASS Derived key of type name: HMAC hash: SHA-512 length: 256  using short derivedKey, normal salt, SHA-384, with normal info with bad hash name SHA384 
+FAIL Derived key of type name: HMAC hash: SHA-512 length: 256  using short derivedKey, normal salt, SHA-384, with normal info with missing deriveKey usage assert_equals: deriveKey with missing deriveKey usage correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: HMAC hash: SHA-512 length: 256  using short derivedKey, normal salt, SHA-384, with normal info with wrong (ECDH) key assert_equals: deriveKey with wrong (ECDH) key correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL short derivedKey, normal salt, SHA-384, with normal info with missing salt assert_equals: deriveBits missing salt correctly threw OperationError: The operation is not supported. expected "TypeError" but got "NotSupportedError"
+FAIL short derivedKey, normal salt, SHA-384, with normal info with missing info assert_equals: deriveBits missing info correctly threw OperationError: The operation is not supported. expected "TypeError" but got "NotSupportedError"
+FAIL short derivedKey, normal salt, SHA-384, with normal info with null length assert_equals: deriveBits with null length correctly threw OperationError: The operation is not supported. expected "TypeError" but got "NotSupportedError"
+FAIL short derivedKey, normal salt, SHA-384, with normal info with non-multiple of 8 length assert_equals: deriveBits with non-multiple of 8 length correctly threw OperationError: The operation is not supported. expected "OperationError" but got "NotSupportedError"
+PASS short derivedKey, normal salt, SHA-384, with normal info with bad hash name SHA384 
+FAIL short derivedKey, normal salt, SHA-384, with normal info with missing deriveBits usage assert_equals: deriveBits with missing deriveBits usage correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL short derivedKey, normal salt, SHA-384, with normal info with wrong (ECDH) key assert_equals: deriveBits with wrong (ECDH) key correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL short derivedKey, normal salt, SHA-384, with empty info assert_unreached: deriveBits failed with error NotSupportedError: The operation is not supported. Reached unreachable code
+FAIL short derivedKey, normal salt, SHA-384, with empty info with 0 length assert_equals: deriveBits with 0 length correctly threw OperationError: The operation is not supported. expected "OperationError" but got "NotSupportedError"
+FAIL Derived key of type name: AES-CBC length: 128  using short derivedKey, normal salt, SHA-384, with empty info assert_unreached: deriveKey failed with error NotSupportedError: The operation is not supported. Reached unreachable code
+PASS Derived key of type name: AES-CBC length: 128  using short derivedKey, normal salt, SHA-384, with empty info with bad hash name SHA384 
+FAIL Derived key of type name: AES-CBC length: 128  using short derivedKey, normal salt, SHA-384, with empty info with missing deriveKey usage assert_equals: deriveKey with missing deriveKey usage correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: AES-CBC length: 128  using short derivedKey, normal salt, SHA-384, with empty info with wrong (ECDH) key assert_equals: deriveKey with wrong (ECDH) key correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: AES-CBC length: 192  using short derivedKey, normal salt, SHA-384, with empty info assert_unreached: deriveKey failed with error NotSupportedError: The operation is not supported. Reached unreachable code
+PASS Derived key of type name: AES-CBC length: 192  using short derivedKey, normal salt, SHA-384, with empty info with bad hash name SHA384 
+FAIL Derived key of type name: AES-CBC length: 192  using short derivedKey, normal salt, SHA-384, with empty info with missing deriveKey usage assert_equals: deriveKey with missing deriveKey usage correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: AES-CBC length: 192  using short derivedKey, normal salt, SHA-384, with empty info with wrong (ECDH) key assert_equals: deriveKey with wrong (ECDH) key correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: AES-CBC length: 256  using short derivedKey, normal salt, SHA-384, with empty info assert_unreached: deriveKey failed with error NotSupportedError: The operation is not supported. Reached unreachable code
+PASS Derived key of type name: AES-CBC length: 256  using short derivedKey, normal salt, SHA-384, with empty info with bad hash name SHA384 
+FAIL Derived key of type name: AES-CBC length: 256  using short derivedKey, normal salt, SHA-384, with empty info with missing deriveKey usage assert_equals: deriveKey with missing deriveKey usage correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: AES-CBC length: 256  using short derivedKey, normal salt, SHA-384, with empty info with wrong (ECDH) key assert_equals: deriveKey with wrong (ECDH) key correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: AES-CTR length: 128  using short derivedKey, normal salt, SHA-384, with empty info assert_unreached: deriveKey failed with error NotSupportedError: The operation is not supported. Reached unreachable code
+PASS Derived key of type name: AES-CTR length: 128  using short derivedKey, normal salt, SHA-384, with empty info with bad hash name SHA384 
+FAIL Derived key of type name: AES-CTR length: 128  using short derivedKey, normal salt, SHA-384, with empty info with missing deriveKey usage assert_equals: deriveKey with missing deriveKey usage correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: AES-CTR length: 128  using short derivedKey, normal salt, SHA-384, with empty info with wrong (ECDH) key assert_equals: deriveKey with wrong (ECDH) key correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: AES-CTR length: 192  using short derivedKey, normal salt, SHA-384, with empty info assert_unreached: deriveKey failed with error NotSupportedError: The operation is not supported. Reached unreachable code
+PASS Derived key of type name: AES-CTR length: 192  using short derivedKey, normal salt, SHA-384, with empty info with bad hash name SHA384 
+FAIL Derived key of type name: AES-CTR length: 192  using short derivedKey, normal salt, SHA-384, with empty info with missing deriveKey usage assert_equals: deriveKey with missing deriveKey usage correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: AES-CTR length: 192  using short derivedKey, normal salt, SHA-384, with empty info with wrong (ECDH) key assert_equals: deriveKey with wrong (ECDH) key correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: AES-CTR length: 256  using short derivedKey, normal salt, SHA-384, with empty info assert_unreached: deriveKey failed with error NotSupportedError: The operation is not supported. Reached unreachable code
+PASS Derived key of type name: AES-CTR length: 256  using short derivedKey, normal salt, SHA-384, with empty info with bad hash name SHA384 
+FAIL Derived key of type name: AES-CTR length: 256  using short derivedKey, normal salt, SHA-384, with empty info with missing deriveKey usage assert_equals: deriveKey with missing deriveKey usage correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: AES-CTR length: 256  using short derivedKey, normal salt, SHA-384, with empty info with wrong (ECDH) key assert_equals: deriveKey with wrong (ECDH) key correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: AES-GCM length: 128  using short derivedKey, normal salt, SHA-384, with empty info assert_unreached: deriveKey failed with error NotSupportedError: The operation is not supported. Reached unreachable code
+PASS Derived key of type name: AES-GCM length: 128  using short derivedKey, normal salt, SHA-384, with empty info with bad hash name SHA384 
+FAIL Derived key of type name: AES-GCM length: 128  using short derivedKey, normal salt, SHA-384, with empty info with missing deriveKey usage assert_equals: deriveKey with missing deriveKey usage correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: AES-GCM length: 128  using short derivedKey, normal salt, SHA-384, with empty info with wrong (ECDH) key assert_equals: deriveKey with wrong (ECDH) key correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: AES-GCM length: 192  using short derivedKey, normal salt, SHA-384, with empty info assert_unreached: deriveKey failed with error NotSupportedError: The operation is not supported. Reached unreachable code
+PASS Derived key of type name: AES-GCM length: 192  using short derivedKey, normal salt, SHA-384, with empty info with bad hash name SHA384 
+FAIL Derived key of type name: AES-GCM length: 192  using short derivedKey, normal salt, SHA-384, with empty info with missing deriveKey usage assert_equals: deriveKey with missing deriveKey usage correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: AES-GCM length: 192  using short derivedKey, normal salt, SHA-384, with empty info with wrong (ECDH) key assert_equals: deriveKey with wrong (ECDH) key correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: AES-GCM length: 256  using short derivedKey, normal salt, SHA-384, with empty info assert_unreached: deriveKey failed with error NotSupportedError: The operation is not supported. Reached unreachable code
+PASS Derived key of type name: AES-GCM length: 256  using short derivedKey, normal salt, SHA-384, with empty info with bad hash name SHA384 
+FAIL Derived key of type name: AES-GCM length: 256  using short derivedKey, normal salt, SHA-384, with empty info with missing deriveKey usage assert_equals: deriveKey with missing deriveKey usage correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: AES-GCM length: 256  using short derivedKey, normal salt, SHA-384, with empty info with wrong (ECDH) key assert_equals: deriveKey with wrong (ECDH) key correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: AES-KW length: 128  using short derivedKey, normal salt, SHA-384, with empty info assert_unreached: deriveKey failed with error NotSupportedError: The operation is not supported. Reached unreachable code
+PASS Derived key of type name: AES-KW length: 128  using short derivedKey, normal salt, SHA-384, with empty info with bad hash name SHA384 
+FAIL Derived key of type name: AES-KW length: 128  using short derivedKey, normal salt, SHA-384, with empty info with missing deriveKey usage assert_equals: deriveKey with missing deriveKey usage correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: AES-KW length: 128  using short derivedKey, normal salt, SHA-384, with empty info with wrong (ECDH) key assert_equals: deriveKey with wrong (ECDH) key correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: AES-KW length: 192  using short derivedKey, normal salt, SHA-384, with empty info assert_unreached: deriveKey failed with error NotSupportedError: The operation is not supported. Reached unreachable code
+PASS Derived key of type name: AES-KW length: 192  using short derivedKey, normal salt, SHA-384, with empty info with bad hash name SHA384 
+FAIL Derived key of type name: AES-KW length: 192  using short derivedKey, normal salt, SHA-384, with empty info with missing deriveKey usage assert_equals: deriveKey with missing deriveKey usage correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: AES-KW length: 192  using short derivedKey, normal salt, SHA-384, with empty info with wrong (ECDH) key assert_equals: deriveKey with wrong (ECDH) key correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: AES-KW length: 256  using short derivedKey, normal salt, SHA-384, with empty info assert_unreached: deriveKey failed with error NotSupportedError: The operation is not supported. Reached unreachable code
+PASS Derived key of type name: AES-KW length: 256  using short derivedKey, normal salt, SHA-384, with empty info with bad hash name SHA384 
+FAIL Derived key of type name: AES-KW length: 256  using short derivedKey, normal salt, SHA-384, with empty info with missing deriveKey usage assert_equals: deriveKey with missing deriveKey usage correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: AES-KW length: 256  using short derivedKey, normal salt, SHA-384, with empty info with wrong (ECDH) key assert_equals: deriveKey with wrong (ECDH) key correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: HMAC hash: SHA-1 length: 256  using short derivedKey, normal salt, SHA-384, with empty info assert_unreached: deriveKey failed with error NotSupportedError: The operation is not supported. Reached unreachable code
+PASS Derived key of type name: HMAC hash: SHA-1 length: 256  using short derivedKey, normal salt, SHA-384, with empty info with bad hash name SHA384 
+FAIL Derived key of type name: HMAC hash: SHA-1 length: 256  using short derivedKey, normal salt, SHA-384, with empty info with missing deriveKey usage assert_equals: deriveKey with missing deriveKey usage correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: HMAC hash: SHA-1 length: 256  using short derivedKey, normal salt, SHA-384, with empty info with wrong (ECDH) key assert_equals: deriveKey with wrong (ECDH) key correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: HMAC hash: SHA-256 length: 256  using short derivedKey, normal salt, SHA-384, with empty info assert_unreached: deriveKey failed with error NotSupportedError: The operation is not supported. Reached unreachable code
+PASS Derived key of type name: HMAC hash: SHA-256 length: 256  using short derivedKey, normal salt, SHA-384, with empty info with bad hash name SHA384 
+FAIL Derived key of type name: HMAC hash: SHA-256 length: 256  using short derivedKey, normal salt, SHA-384, with empty info with missing deriveKey usage assert_equals: deriveKey with missing deriveKey usage correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: HMAC hash: SHA-256 length: 256  using short derivedKey, normal salt, SHA-384, with empty info with wrong (ECDH) key assert_equals: deriveKey with wrong (ECDH) key correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: HMAC hash: SHA-384 length: 256  using short derivedKey, normal salt, SHA-384, with empty info assert_unreached: deriveKey failed with error NotSupportedError: The operation is not supported. Reached unreachable code
+PASS Derived key of type name: HMAC hash: SHA-384 length: 256  using short derivedKey, normal salt, SHA-384, with empty info with bad hash name SHA384 
+FAIL Derived key of type name: HMAC hash: SHA-384 length: 256  using short derivedKey, normal salt, SHA-384, with empty info with missing deriveKey usage assert_equals: deriveKey with missing deriveKey usage correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: HMAC hash: SHA-384 length: 256  using short derivedKey, normal salt, SHA-384, with empty info with wrong (ECDH) key assert_equals: deriveKey with wrong (ECDH) key correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: HMAC hash: SHA-512 length: 256  using short derivedKey, normal salt, SHA-384, with empty info assert_unreached: deriveKey failed with error NotSupportedError: The operation is not supported. Reached unreachable code
+PASS Derived key of type name: HMAC hash: SHA-512 length: 256  using short derivedKey, normal salt, SHA-384, with empty info with bad hash name SHA384 
+FAIL Derived key of type name: HMAC hash: SHA-512 length: 256  using short derivedKey, normal salt, SHA-384, with empty info with missing deriveKey usage assert_equals: deriveKey with missing deriveKey usage correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: HMAC hash: SHA-512 length: 256  using short derivedKey, normal salt, SHA-384, with empty info with wrong (ECDH) key assert_equals: deriveKey with wrong (ECDH) key correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL short derivedKey, normal salt, SHA-384, with empty info with missing salt assert_equals: deriveBits missing salt correctly threw OperationError: The operation is not supported. expected "TypeError" but got "NotSupportedError"
+FAIL short derivedKey, normal salt, SHA-384, with empty info with missing info assert_equals: deriveBits missing info correctly threw OperationError: The operation is not supported. expected "TypeError" but got "NotSupportedError"
+FAIL short derivedKey, normal salt, SHA-384, with empty info with null length assert_equals: deriveBits with null length correctly threw OperationError: The operation is not supported. expected "TypeError" but got "NotSupportedError"
+FAIL short derivedKey, normal salt, SHA-384, with empty info with non-multiple of 8 length assert_equals: deriveBits with non-multiple of 8 length correctly threw OperationError: The operation is not supported. expected "OperationError" but got "NotSupportedError"
+PASS short derivedKey, normal salt, SHA-384, with empty info with bad hash name SHA384 
+FAIL short derivedKey, normal salt, SHA-384, with empty info with missing deriveBits usage assert_equals: deriveBits with missing deriveBits usage correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL short derivedKey, normal salt, SHA-384, with empty info with wrong (ECDH) key assert_equals: deriveBits with wrong (ECDH) key correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL short derivedKey, normal salt, SHA-512, with normal info assert_unreached: deriveBits failed with error NotSupportedError: The operation is not supported. Reached unreachable code
+FAIL short derivedKey, normal salt, SHA-512, with normal info with 0 length assert_equals: deriveBits with 0 length correctly threw OperationError: The operation is not supported. expected "OperationError" but got "NotSupportedError"
+FAIL Derived key of type name: AES-CBC length: 128  using short derivedKey, normal salt, SHA-512, with normal info assert_unreached: deriveKey failed with error NotSupportedError: The operation is not supported. Reached unreachable code
+PASS Derived key of type name: AES-CBC length: 128  using short derivedKey, normal salt, SHA-512, with normal info with bad hash name SHA512 
+FAIL Derived key of type name: AES-CBC length: 128  using short derivedKey, normal salt, SHA-512, with normal info with missing deriveKey usage assert_equals: deriveKey with missing deriveKey usage correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: AES-CBC length: 128  using short derivedKey, normal salt, SHA-512, with normal info with wrong (ECDH) key assert_equals: deriveKey with wrong (ECDH) key correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: AES-CBC length: 192  using short derivedKey, normal salt, SHA-512, with normal info assert_unreached: deriveKey failed with error NotSupportedError: The operation is not supported. Reached unreachable code
+PASS Derived key of type name: AES-CBC length: 192  using short derivedKey, normal salt, SHA-512, with normal info with bad hash name SHA512 
+FAIL Derived key of type name: AES-CBC length: 192  using short derivedKey, normal salt, SHA-512, with normal info with missing deriveKey usage assert_equals: deriveKey with missing deriveKey usage correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: AES-CBC length: 192  using short derivedKey, normal salt, SHA-512, with normal info with wrong (ECDH) key assert_equals: deriveKey with wrong (ECDH) key correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: AES-CBC length: 256  using short derivedKey, normal salt, SHA-512, with normal info assert_unreached: deriveKey failed with error NotSupportedError: The operation is not supported. Reached unreachable code
+PASS Derived key of type name: AES-CBC length: 256  using short derivedKey, normal salt, SHA-512, with normal info with bad hash name SHA512 
+FAIL Derived key of type name: AES-CBC length: 256  using short derivedKey, normal salt, SHA-512, with normal info with missing deriveKey usage assert_equals: deriveKey with missing deriveKey usage correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: AES-CBC length: 256  using short derivedKey, normal salt, SHA-512, with normal info with wrong (ECDH) key assert_equals: deriveKey with wrong (ECDH) key correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: AES-CTR length: 128  using short derivedKey, normal salt, SHA-512, with normal info assert_unreached: deriveKey failed with error NotSupportedError: The operation is not supported. Reached unreachable code
+PASS Derived key of type name: AES-CTR length: 128  using short derivedKey, normal salt, SHA-512, with normal info with bad hash name SHA512 
+FAIL Derived key of type name: AES-CTR length: 128  using short derivedKey, normal salt, SHA-512, with normal info with missing deriveKey usage assert_equals: deriveKey with missing deriveKey usage correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: AES-CTR length: 128  using short derivedKey, normal salt, SHA-512, with normal info with wrong (ECDH) key assert_equals: deriveKey with wrong (ECDH) key correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: AES-CTR length: 192  using short derivedKey, normal salt, SHA-512, with normal info assert_unreached: deriveKey failed with error NotSupportedError: The operation is not supported. Reached unreachable code
+PASS Derived key of type name: AES-CTR length: 192  using short derivedKey, normal salt, SHA-512, with normal info with bad hash name SHA512 
+FAIL Derived key of type name: AES-CTR length: 192  using short derivedKey, normal salt, SHA-512, with normal info with missing deriveKey usage assert_equals: deriveKey with missing deriveKey usage correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: AES-CTR length: 192  using short derivedKey, normal salt, SHA-512, with normal info with wrong (ECDH) key assert_equals: deriveKey with wrong (ECDH) key correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: AES-CTR length: 256  using short derivedKey, normal salt, SHA-512, with normal info assert_unreached: deriveKey failed with error NotSupportedError: The operation is not supported. Reached unreachable code
+PASS Derived key of type name: AES-CTR length: 256  using short derivedKey, normal salt, SHA-512, with normal info with bad hash name SHA512 
+FAIL Derived key of type name: AES-CTR length: 256  using short derivedKey, normal salt, SHA-512, with normal info with missing deriveKey usage assert_equals: deriveKey with missing deriveKey usage correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: AES-CTR length: 256  using short derivedKey, normal salt, SHA-512, with normal info with wrong (ECDH) key assert_equals: deriveKey with wrong (ECDH) key correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: AES-GCM length: 128  using short derivedKey, normal salt, SHA-512, with normal info assert_unreached: deriveKey failed with error NotSupportedError: The operation is not supported. Reached unreachable code
+PASS Derived key of type name: AES-GCM length: 128  using short derivedKey, normal salt, SHA-512, with normal info with bad hash name SHA512 
+FAIL Derived key of type name: AES-GCM length: 128  using short derivedKey, normal salt, SHA-512, with normal info with missing deriveKey usage assert_equals: deriveKey with missing deriveKey usage correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: AES-GCM length: 128  using short derivedKey, normal salt, SHA-512, with normal info with wrong (ECDH) key assert_equals: deriveKey with wrong (ECDH) key correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: AES-GCM length: 192  using short derivedKey, normal salt, SHA-512, with normal info assert_unreached: deriveKey failed with error NotSupportedError: The operation is not supported. Reached unreachable code
+PASS Derived key of type name: AES-GCM length: 192  using short derivedKey, normal salt, SHA-512, with normal info with bad hash name SHA512 
+FAIL Derived key of type name: AES-GCM length: 192  using short derivedKey, normal salt, SHA-512, with normal info with missing deriveKey usage assert_equals: deriveKey with missing deriveKey usage correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: AES-GCM length: 192  using short derivedKey, normal salt, SHA-512, with normal info with wrong (ECDH) key assert_equals: deriveKey with wrong (ECDH) key correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: AES-GCM length: 256  using short derivedKey, normal salt, SHA-512, with normal info assert_unreached: deriveKey failed with error NotSupportedError: The operation is not supported. Reached unreachable code
+PASS Derived key of type name: AES-GCM length: 256  using short derivedKey, normal salt, SHA-512, with normal info with bad hash name SHA512 
+FAIL Derived key of type name: AES-GCM length: 256  using short derivedKey, normal salt, SHA-512, with normal info with missing deriveKey usage assert_equals: deriveKey with missing deriveKey usage correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: AES-GCM length: 256  using short derivedKey, normal salt, SHA-512, with normal info with wrong (ECDH) key assert_equals: deriveKey with wrong (ECDH) key correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: AES-KW length: 128  using short derivedKey, normal salt, SHA-512, with normal info assert_unreached: deriveKey failed with error NotSupportedError: The operation is not supported. Reached unreachable code
+PASS Derived key of type name: AES-KW length: 128  using short derivedKey, normal salt, SHA-512, with normal info with bad hash name SHA512 
+FAIL Derived key of type name: AES-KW length: 128  using short derivedKey, normal salt, SHA-512, with normal info with missing deriveKey usage assert_equals: deriveKey with missing deriveKey usage correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: AES-KW length: 128  using short derivedKey, normal salt, SHA-512, with normal info with wrong (ECDH) key assert_equals: deriveKey with wrong (ECDH) key correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: AES-KW length: 192  using short derivedKey, normal salt, SHA-512, with normal info assert_unreached: deriveKey failed with error NotSupportedError: The operation is not supported. Reached unreachable code
+PASS Derived key of type name: AES-KW length: 192  using short derivedKey, normal salt, SHA-512, with normal info with bad hash name SHA512 
+FAIL Derived key of type name: AES-KW length: 192  using short derivedKey, normal salt, SHA-512, with normal info with missing deriveKey usage assert_equals: deriveKey with missing deriveKey usage correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: AES-KW length: 192  using short derivedKey, normal salt, SHA-512, with normal info with wrong (ECDH) key assert_equals: deriveKey with wrong (ECDH) key correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: AES-KW length: 256  using short derivedKey, normal salt, SHA-512, with normal info assert_unreached: deriveKey failed with error NotSupportedError: The operation is not supported. Reached unreachable code
+PASS Derived key of type name: AES-KW length: 256  using short derivedKey, normal salt, SHA-512, with normal info with bad hash name SHA512 
+FAIL Derived key of type name: AES-KW length: 256  using short derivedKey, normal salt, SHA-512, with normal info with missing deriveKey usage assert_equals: deriveKey with missing deriveKey usage correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: AES-KW length: 256  using short derivedKey, normal salt, SHA-512, with normal info with wrong (ECDH) key assert_equals: deriveKey with wrong (ECDH) key correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: HMAC hash: SHA-1 length: 256  using short derivedKey, normal salt, SHA-512, with normal info assert_unreached: deriveKey failed with error NotSupportedError: The operation is not supported. Reached unreachable code
+PASS Derived key of type name: HMAC hash: SHA-1 length: 256  using short derivedKey, normal salt, SHA-512, with normal info with bad hash name SHA512 
+FAIL Derived key of type name: HMAC hash: SHA-1 length: 256  using short derivedKey, normal salt, SHA-512, with normal info with missing deriveKey usage assert_equals: deriveKey with missing deriveKey usage correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: HMAC hash: SHA-1 length: 256  using short derivedKey, normal salt, SHA-512, with normal info with wrong (ECDH) key assert_equals: deriveKey with wrong (ECDH) key correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: HMAC hash: SHA-256 length: 256  using short derivedKey, normal salt, SHA-512, with normal info assert_unreached: deriveKey failed with error NotSupportedError: The operation is not supported. Reached unreachable code
+PASS Derived key of type name: HMAC hash: SHA-256 length: 256  using short derivedKey, normal salt, SHA-512, with normal info with bad hash name SHA512 
+FAIL Derived key of type name: HMAC hash: SHA-256 length: 256  using short derivedKey, normal salt, SHA-512, with normal info with missing deriveKey usage assert_equals: deriveKey with missing deriveKey usage correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: HMAC hash: SHA-256 length: 256  using short derivedKey, normal salt, SHA-512, with normal info with wrong (ECDH) key assert_equals: deriveKey with wrong (ECDH) key correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: HMAC hash: SHA-384 length: 256  using short derivedKey, normal salt, SHA-512, with normal info assert_unreached: deriveKey failed with error NotSupportedError: The operation is not supported. Reached unreachable code
+PASS Derived key of type name: HMAC hash: SHA-384 length: 256  using short derivedKey, normal salt, SHA-512, with normal info with bad hash name SHA512 
+FAIL Derived key of type name: HMAC hash: SHA-384 length: 256  using short derivedKey, normal salt, SHA-512, with normal info with missing deriveKey usage assert_equals: deriveKey with missing deriveKey usage correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: HMAC hash: SHA-384 length: 256  using short derivedKey, normal salt, SHA-512, with normal info with wrong (ECDH) key assert_equals: deriveKey with wrong (ECDH) key correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: HMAC hash: SHA-512 length: 256  using short derivedKey, normal salt, SHA-512, with normal info assert_unreached: deriveKey failed with error NotSupportedError: The operation is not supported. Reached unreachable code
+PASS Derived key of type name: HMAC hash: SHA-512 length: 256  using short derivedKey, normal salt, SHA-512, with normal info with bad hash name SHA512 
+FAIL Derived key of type name: HMAC hash: SHA-512 length: 256  using short derivedKey, normal salt, SHA-512, with normal info with missing deriveKey usage assert_equals: deriveKey with missing deriveKey usage correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: HMAC hash: SHA-512 length: 256  using short derivedKey, normal salt, SHA-512, with normal info with wrong (ECDH) key assert_equals: deriveKey with wrong (ECDH) key correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL short derivedKey, normal salt, SHA-512, with normal info with missing salt assert_equals: deriveBits missing salt correctly threw OperationError: The operation is not supported. expected "TypeError" but got "NotSupportedError"
+FAIL short derivedKey, normal salt, SHA-512, with normal info with missing info assert_equals: deriveBits missing info correctly threw OperationError: The operation is not supported. expected "TypeError" but got "NotSupportedError"
+FAIL short derivedKey, normal salt, SHA-512, with normal info with null length assert_equals: deriveBits with null length correctly threw OperationError: The operation is not supported. expected "TypeError" but got "NotSupportedError"
+FAIL short derivedKey, normal salt, SHA-512, with normal info with non-multiple of 8 length assert_equals: deriveBits with non-multiple of 8 length correctly threw OperationError: The operation is not supported. expected "OperationError" but got "NotSupportedError"
+PASS short derivedKey, normal salt, SHA-512, with normal info with bad hash name SHA512 
+FAIL short derivedKey, normal salt, SHA-512, with normal info with missing deriveBits usage assert_equals: deriveBits with missing deriveBits usage correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL short derivedKey, normal salt, SHA-512, with normal info with wrong (ECDH) key assert_equals: deriveBits with wrong (ECDH) key correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL short derivedKey, normal salt, SHA-512, with empty info assert_unreached: deriveBits failed with error NotSupportedError: The operation is not supported. Reached unreachable code
+FAIL short derivedKey, normal salt, SHA-512, with empty info with 0 length assert_equals: deriveBits with 0 length correctly threw OperationError: The operation is not supported. expected "OperationError" but got "NotSupportedError"
+FAIL Derived key of type name: AES-CBC length: 128  using short derivedKey, normal salt, SHA-512, with empty info assert_unreached: deriveKey failed with error NotSupportedError: The operation is not supported. Reached unreachable code
+PASS Derived key of type name: AES-CBC length: 128  using short derivedKey, normal salt, SHA-512, with empty info with bad hash name SHA512 
+FAIL Derived key of type name: AES-CBC length: 128  using short derivedKey, normal salt, SHA-512, with empty info with missing deriveKey usage assert_equals: deriveKey with missing deriveKey usage correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: AES-CBC length: 128  using short derivedKey, normal salt, SHA-512, with empty info with wrong (ECDH) key assert_equals: deriveKey with wrong (ECDH) key correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: AES-CBC length: 192  using short derivedKey, normal salt, SHA-512, with empty info assert_unreached: deriveKey failed with error NotSupportedError: The operation is not supported. Reached unreachable code
+PASS Derived key of type name: AES-CBC length: 192  using short derivedKey, normal salt, SHA-512, with empty info with bad hash name SHA512 
+FAIL Derived key of type name: AES-CBC length: 192  using short derivedKey, normal salt, SHA-512, with empty info with missing deriveKey usage assert_equals: deriveKey with missing deriveKey usage correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: AES-CBC length: 192  using short derivedKey, normal salt, SHA-512, with empty info with wrong (ECDH) key assert_equals: deriveKey with wrong (ECDH) key correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: AES-CBC length: 256  using short derivedKey, normal salt, SHA-512, with empty info assert_unreached: deriveKey failed with error NotSupportedError: The operation is not supported. Reached unreachable code
+PASS Derived key of type name: AES-CBC length: 256  using short derivedKey, normal salt, SHA-512, with empty info with bad hash name SHA512 
+FAIL Derived key of type name: AES-CBC length: 256  using short derivedKey, normal salt, SHA-512, with empty info with missing deriveKey usage assert_equals: deriveKey with missing deriveKey usage correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: AES-CBC length: 256  using short derivedKey, normal salt, SHA-512, with empty info with wrong (ECDH) key assert_equals: deriveKey with wrong (ECDH) key correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: AES-CTR length: 128  using short derivedKey, normal salt, SHA-512, with empty info assert_unreached: deriveKey failed with error NotSupportedError: The operation is not supported. Reached unreachable code
+PASS Derived key of type name: AES-CTR length: 128  using short derivedKey, normal salt, SHA-512, with empty info with bad hash name SHA512 
+FAIL Derived key of type name: AES-CTR length: 128  using short derivedKey, normal salt, SHA-512, with empty info with missing deriveKey usage assert_equals: deriveKey with missing deriveKey usage correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: AES-CTR length: 128  using short derivedKey, normal salt, SHA-512, with empty info with wrong (ECDH) key assert_equals: deriveKey with wrong (ECDH) key correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: AES-CTR length: 192  using short derivedKey, normal salt, SHA-512, with empty info assert_unreached: deriveKey failed with error NotSupportedError: The operation is not supported. Reached unreachable code
+PASS Derived key of type name: AES-CTR length: 192  using short derivedKey, normal salt, SHA-512, with empty info with bad hash name SHA512 
+FAIL Derived key of type name: AES-CTR length: 192  using short derivedKey, normal salt, SHA-512, with empty info with missing deriveKey usage assert_equals: deriveKey with missing deriveKey usage correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: AES-CTR length: 192  using short derivedKey, normal salt, SHA-512, with empty info with wrong (ECDH) key assert_equals: deriveKey with wrong (ECDH) key correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: AES-CTR length: 256  using short derivedKey, normal salt, SHA-512, with empty info assert_unreached: deriveKey failed with error NotSupportedError: The operation is not supported. Reached unreachable code
+PASS Derived key of type name: AES-CTR length: 256  using short derivedKey, normal salt, SHA-512, with empty info with bad hash name SHA512 
+FAIL Derived key of type name: AES-CTR length: 256  using short derivedKey, normal salt, SHA-512, with empty info with missing deriveKey usage assert_equals: deriveKey with missing deriveKey usage correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: AES-CTR length: 256  using short derivedKey, normal salt, SHA-512, with empty info with wrong (ECDH) key assert_equals: deriveKey with wrong (ECDH) key correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: AES-GCM length: 128  using short derivedKey, normal salt, SHA-512, with empty info assert_unreached: deriveKey failed with error NotSupportedError: The operation is not supported. Reached unreachable code
+PASS Derived key of type name: AES-GCM length: 128  using short derivedKey, normal salt, SHA-512, with empty info with bad hash name SHA512 
+FAIL Derived key of type name: AES-GCM length: 128  using short derivedKey, normal salt, SHA-512, with empty info with missing deriveKey usage assert_equals: deriveKey with missing deriveKey usage correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: AES-GCM length: 128  using short derivedKey, normal salt, SHA-512, with empty info with wrong (ECDH) key assert_equals: deriveKey with wrong (ECDH) key correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: AES-GCM length: 192  using short derivedKey, normal salt, SHA-512, with empty info assert_unreached: deriveKey failed with error NotSupportedError: The operation is not supported. Reached unreachable code
+PASS Derived key of type name: AES-GCM length: 192  using short derivedKey, normal salt, SHA-512, with empty info with bad hash name SHA512 
+FAIL Derived key of type name: AES-GCM length: 192  using short derivedKey, normal salt, SHA-512, with empty info with missing deriveKey usage assert_equals: deriveKey with missing deriveKey usage correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: AES-GCM length: 192  using short derivedKey, normal salt, SHA-512, with empty info with wrong (ECDH) key assert_equals: deriveKey with wrong (ECDH) key correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: AES-GCM length: 256  using short derivedKey, normal salt, SHA-512, with empty info assert_unreached: deriveKey failed with error NotSupportedError: The operation is not supported. Reached unreachable code
+PASS Derived key of type name: AES-GCM length: 256  using short derivedKey, normal salt, SHA-512, with empty info with bad hash name SHA512 
+FAIL Derived key of type name: AES-GCM length: 256  using short derivedKey, normal salt, SHA-512, with empty info with missing deriveKey usage assert_equals: deriveKey with missing deriveKey usage correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: AES-GCM length: 256  using short derivedKey, normal salt, SHA-512, with empty info with wrong (ECDH) key assert_equals: deriveKey with wrong (ECDH) key correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: AES-KW length: 128  using short derivedKey, normal salt, SHA-512, with empty info assert_unreached: deriveKey failed with error NotSupportedError: The operation is not supported. Reached unreachable code
+PASS Derived key of type name: AES-KW length: 128  using short derivedKey, normal salt, SHA-512, with empty info with bad hash name SHA512 
+FAIL Derived key of type name: AES-KW length: 128  using short derivedKey, normal salt, SHA-512, with empty info with missing deriveKey usage assert_equals: deriveKey with missing deriveKey usage correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: AES-KW length: 128  using short derivedKey, normal salt, SHA-512, with empty info with wrong (ECDH) key assert_equals: deriveKey with wrong (ECDH) key correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: AES-KW length: 192  using short derivedKey, normal salt, SHA-512, with empty info assert_unreached: deriveKey failed with error NotSupportedError: The operation is not supported. Reached unreachable code
+PASS Derived key of type name: AES-KW length: 192  using short derivedKey, normal salt, SHA-512, with empty info with bad hash name SHA512 
+FAIL Derived key of type name: AES-KW length: 192  using short derivedKey, normal salt, SHA-512, with empty info with missing deriveKey usage assert_equals: deriveKey with missing deriveKey usage correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: AES-KW length: 192  using short derivedKey, normal salt, SHA-512, with empty info with wrong (ECDH) key assert_equals: deriveKey with wrong (ECDH) key correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: AES-KW length: 256  using short derivedKey, normal salt, SHA-512, with empty info assert_unreached: deriveKey failed with error NotSupportedError: The operation is not supported. Reached unreachable code
+PASS Derived key of type name: AES-KW length: 256  using short derivedKey, normal salt, SHA-512, with empty info with bad hash name SHA512 
+FAIL Derived key of type name: AES-KW length: 256  using short derivedKey, normal salt, SHA-512, with empty info with missing deriveKey usage assert_equals: deriveKey with missing deriveKey usage correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: AES-KW length: 256  using short derivedKey, normal salt, SHA-512, with empty info with wrong (ECDH) key assert_equals: deriveKey with wrong (ECDH) key correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: HMAC hash: SHA-1 length: 256  using short derivedKey, normal salt, SHA-512, with empty info assert_unreached: deriveKey failed with error NotSupportedError: The operation is not supported. Reached unreachable code
+PASS Derived key of type name: HMAC hash: SHA-1 length: 256  using short derivedKey, normal salt, SHA-512, with empty info with bad hash name SHA512 
+FAIL Derived key of type name: HMAC hash: SHA-1 length: 256  using short derivedKey, normal salt, SHA-512, with empty info with missing deriveKey usage assert_equals: deriveKey with missing deriveKey usage correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: HMAC hash: SHA-1 length: 256  using short derivedKey, normal salt, SHA-512, with empty info with wrong (ECDH) key assert_equals: deriveKey with wrong (ECDH) key correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: HMAC hash: SHA-256 length: 256  using short derivedKey, normal salt, SHA-512, with empty info assert_unreached: deriveKey failed with error NotSupportedError: The operation is not supported. Reached unreachable code
+PASS Derived key of type name: HMAC hash: SHA-256 length: 256  using short derivedKey, normal salt, SHA-512, with empty info with bad hash name SHA512 
+FAIL Derived key of type name: HMAC hash: SHA-256 length: 256  using short derivedKey, normal salt, SHA-512, with empty info with missing deriveKey usage assert_equals: deriveKey with missing deriveKey usage correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: HMAC hash: SHA-256 length: 256  using short derivedKey, normal salt, SHA-512, with empty info with wrong (ECDH) key assert_equals: deriveKey with wrong (ECDH) key correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: HMAC hash: SHA-384 length: 256  using short derivedKey, normal salt, SHA-512, with empty info assert_unreached: deriveKey failed with error NotSupportedError: The operation is not supported. Reached unreachable code
+PASS Derived key of type name: HMAC hash: SHA-384 length: 256  using short derivedKey, normal salt, SHA-512, with empty info with bad hash name SHA512 
+FAIL Derived key of type name: HMAC hash: SHA-384 length: 256  using short derivedKey, normal salt, SHA-512, with empty info with missing deriveKey usage assert_equals: deriveKey with missing deriveKey usage correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: HMAC hash: SHA-384 length: 256  using short derivedKey, normal salt, SHA-512, with empty info with wrong (ECDH) key assert_equals: deriveKey with wrong (ECDH) key correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: HMAC hash: SHA-512 length: 256  using short derivedKey, normal salt, SHA-512, with empty info assert_unreached: deriveKey failed with error NotSupportedError: The operation is not supported. Reached unreachable code
+PASS Derived key of type name: HMAC hash: SHA-512 length: 256  using short derivedKey, normal salt, SHA-512, with empty info with bad hash name SHA512 
+FAIL Derived key of type name: HMAC hash: SHA-512 length: 256  using short derivedKey, normal salt, SHA-512, with empty info with missing deriveKey usage assert_equals: deriveKey with missing deriveKey usage correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: HMAC hash: SHA-512 length: 256  using short derivedKey, normal salt, SHA-512, with empty info with wrong (ECDH) key assert_equals: deriveKey with wrong (ECDH) key correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL short derivedKey, normal salt, SHA-512, with empty info with missing salt assert_equals: deriveBits missing salt correctly threw OperationError: The operation is not supported. expected "TypeError" but got "NotSupportedError"
+FAIL short derivedKey, normal salt, SHA-512, with empty info with missing info assert_equals: deriveBits missing info correctly threw OperationError: The operation is not supported. expected "TypeError" but got "NotSupportedError"
+FAIL short derivedKey, normal salt, SHA-512, with empty info with null length assert_equals: deriveBits with null length correctly threw OperationError: The operation is not supported. expected "TypeError" but got "NotSupportedError"
+FAIL short derivedKey, normal salt, SHA-512, with empty info with non-multiple of 8 length assert_equals: deriveBits with non-multiple of 8 length correctly threw OperationError: The operation is not supported. expected "OperationError" but got "NotSupportedError"
+PASS short derivedKey, normal salt, SHA-512, with empty info with bad hash name SHA512 
+FAIL short derivedKey, normal salt, SHA-512, with empty info with missing deriveBits usage assert_equals: deriveBits with missing deriveBits usage correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL short derivedKey, normal salt, SHA-512, with empty info with wrong (ECDH) key assert_equals: deriveBits with wrong (ECDH) key correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL short derivedKey, normal salt, SHA-1, with normal info assert_unreached: deriveBits failed with error NotSupportedError: The operation is not supported. Reached unreachable code
+FAIL short derivedKey, normal salt, SHA-1, with normal info with 0 length assert_equals: deriveBits with 0 length correctly threw OperationError: The operation is not supported. expected "OperationError" but got "NotSupportedError"
+FAIL Derived key of type name: AES-CBC length: 128  using short derivedKey, normal salt, SHA-1, with normal info assert_unreached: deriveKey failed with error NotSupportedError: The operation is not supported. Reached unreachable code
+PASS Derived key of type name: AES-CBC length: 128  using short derivedKey, normal salt, SHA-1, with normal info with bad hash name SHA1 
+FAIL Derived key of type name: AES-CBC length: 128  using short derivedKey, normal salt, SHA-1, with normal info with missing deriveKey usage assert_equals: deriveKey with missing deriveKey usage correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: AES-CBC length: 128  using short derivedKey, normal salt, SHA-1, with normal info with wrong (ECDH) key assert_equals: deriveKey with wrong (ECDH) key correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: AES-CBC length: 192  using short derivedKey, normal salt, SHA-1, with normal info assert_unreached: deriveKey failed with error NotSupportedError: The operation is not supported. Reached unreachable code
+PASS Derived key of type name: AES-CBC length: 192  using short derivedKey, normal salt, SHA-1, with normal info with bad hash name SHA1 
+FAIL Derived key of type name: AES-CBC length: 192  using short derivedKey, normal salt, SHA-1, with normal info with missing deriveKey usage assert_equals: deriveKey with missing deriveKey usage correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: AES-CBC length: 192  using short derivedKey, normal salt, SHA-1, with normal info with wrong (ECDH) key assert_equals: deriveKey with wrong (ECDH) key correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: AES-CBC length: 256  using short derivedKey, normal salt, SHA-1, with normal info assert_unreached: deriveKey failed with error NotSupportedError: The operation is not supported. Reached unreachable code
+PASS Derived key of type name: AES-CBC length: 256  using short derivedKey, normal salt, SHA-1, with normal info with bad hash name SHA1 
+FAIL Derived key of type name: AES-CBC length: 256  using short derivedKey, normal salt, SHA-1, with normal info with missing deriveKey usage assert_equals: deriveKey with missing deriveKey usage correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: AES-CBC length: 256  using short derivedKey, normal salt, SHA-1, with normal info with wrong (ECDH) key assert_equals: deriveKey with wrong (ECDH) key correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: AES-CTR length: 128  using short derivedKey, normal salt, SHA-1, with normal info assert_unreached: deriveKey failed with error NotSupportedError: The operation is not supported. Reached unreachable code
+PASS Derived key of type name: AES-CTR length: 128  using short derivedKey, normal salt, SHA-1, with normal info with bad hash name SHA1 
+FAIL Derived key of type name: AES-CTR length: 128  using short derivedKey, normal salt, SHA-1, with normal info with missing deriveKey usage assert_equals: deriveKey with missing deriveKey usage correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: AES-CTR length: 128  using short derivedKey, normal salt, SHA-1, with normal info with wrong (ECDH) key assert_equals: deriveKey with wrong (ECDH) key correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: AES-CTR length: 192  using short derivedKey, normal salt, SHA-1, with normal info assert_unreached: deriveKey failed with error NotSupportedError: The operation is not supported. Reached unreachable code
+PASS Derived key of type name: AES-CTR length: 192  using short derivedKey, normal salt, SHA-1, with normal info with bad hash name SHA1 
+FAIL Derived key of type name: AES-CTR length: 192  using short derivedKey, normal salt, SHA-1, with normal info with missing deriveKey usage assert_equals: deriveKey with missing deriveKey usage correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: AES-CTR length: 192  using short derivedKey, normal salt, SHA-1, with normal info with wrong (ECDH) key assert_equals: deriveKey with wrong (ECDH) key correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: AES-CTR length: 256  using short derivedKey, normal salt, SHA-1, with normal info assert_unreached: deriveKey failed with error NotSupportedError: The operation is not supported. Reached unreachable code
+PASS Derived key of type name: AES-CTR length: 256  using short derivedKey, normal salt, SHA-1, with normal info with bad hash name SHA1 
+FAIL Derived key of type name: AES-CTR length: 256  using short derivedKey, normal salt, SHA-1, with normal info with missing deriveKey usage assert_equals: deriveKey with missing deriveKey usage correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: AES-CTR length: 256  using short derivedKey, normal salt, SHA-1, with normal info with wrong (ECDH) key assert_equals: deriveKey with wrong (ECDH) key correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: AES-GCM length: 128  using short derivedKey, normal salt, SHA-1, with normal info assert_unreached: deriveKey failed with error NotSupportedError: The operation is not supported. Reached unreachable code
+PASS Derived key of type name: AES-GCM length: 128  using short derivedKey, normal salt, SHA-1, with normal info with bad hash name SHA1 
+FAIL Derived key of type name: AES-GCM length: 128  using short derivedKey, normal salt, SHA-1, with normal info with missing deriveKey usage assert_equals: deriveKey with missing deriveKey usage correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: AES-GCM length: 128  using short derivedKey, normal salt, SHA-1, with normal info with wrong (ECDH) key assert_equals: deriveKey with wrong (ECDH) key correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: AES-GCM length: 192  using short derivedKey, normal salt, SHA-1, with normal info assert_unreached: deriveKey failed with error NotSupportedError: The operation is not supported. Reached unreachable code
+PASS Derived key of type name: AES-GCM length: 192  using short derivedKey, normal salt, SHA-1, with normal info with bad hash name SHA1 
+FAIL Derived key of type name: AES-GCM length: 192  using short derivedKey, normal salt, SHA-1, with normal info with missing deriveKey usage assert_equals: deriveKey with missing deriveKey usage correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: AES-GCM length: 192  using short derivedKey, normal salt, SHA-1, with normal info with wrong (ECDH) key assert_equals: deriveKey with wrong (ECDH) key correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: AES-GCM length: 256  using short derivedKey, normal salt, SHA-1, with normal info assert_unreached: deriveKey failed with error NotSupportedError: The operation is not supported. Reached unreachable code
+PASS Derived key of type name: AES-GCM length: 256  using short derivedKey, normal salt, SHA-1, with normal info with bad hash name SHA1 
+FAIL Derived key of type name: AES-GCM length: 256  using short derivedKey, normal salt, SHA-1, with normal info with missing deriveKey usage assert_equals: deriveKey with missing deriveKey usage correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: AES-GCM length: 256  using short derivedKey, normal salt, SHA-1, with normal info with wrong (ECDH) key assert_equals: deriveKey with wrong (ECDH) key correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: AES-KW length: 128  using short derivedKey, normal salt, SHA-1, with normal info assert_unreached: deriveKey failed with error NotSupportedError: The operation is not supported. Reached unreachable code
+PASS Derived key of type name: AES-KW length: 128  using short derivedKey, normal salt, SHA-1, with normal info with bad hash name SHA1 
+FAIL Derived key of type name: AES-KW length: 128  using short derivedKey, normal salt, SHA-1, with normal info with missing deriveKey usage assert_equals: deriveKey with missing deriveKey usage correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: AES-KW length: 128  using short derivedKey, normal salt, SHA-1, with normal info with wrong (ECDH) key assert_equals: deriveKey with wrong (ECDH) key correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: AES-KW length: 192  using short derivedKey, normal salt, SHA-1, with normal info assert_unreached: deriveKey failed with error NotSupportedError: The operation is not supported. Reached unreachable code
+PASS Derived key of type name: AES-KW length: 192  using short derivedKey, normal salt, SHA-1, with normal info with bad hash name SHA1 
+FAIL Derived key of type name: AES-KW length: 192  using short derivedKey, normal salt, SHA-1, with normal info with missing deriveKey usage assert_equals: deriveKey with missing deriveKey usage correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: AES-KW length: 192  using short derivedKey, normal salt, SHA-1, with normal info with wrong (ECDH) key assert_equals: deriveKey with wrong (ECDH) key correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: AES-KW length: 256  using short derivedKey, normal salt, SHA-1, with normal info assert_unreached: deriveKey failed with error NotSupportedError: The operation is not supported. Reached unreachable code
+PASS Derived key of type name: AES-KW length: 256  using short derivedKey, normal salt, SHA-1, with normal info with bad hash name SHA1 
+FAIL Derived key of type name: AES-KW length: 256  using short derivedKey, normal salt, SHA-1, with normal info with missing deriveKey usage assert_equals: deriveKey with missing deriveKey usage correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: AES-KW length: 256  using short derivedKey, normal salt, SHA-1, with normal info with wrong (ECDH) key assert_equals: deriveKey with wrong (ECDH) key correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: HMAC hash: SHA-1 length: 256  using short derivedKey, normal salt, SHA-1, with normal info assert_unreached: deriveKey failed with error NotSupportedError: The operation is not supported. Reached unreachable code
+PASS Derived key of type name: HMAC hash: SHA-1 length: 256  using short derivedKey, normal salt, SHA-1, with normal info with bad hash name SHA1 
+FAIL Derived key of type name: HMAC hash: SHA-1 length: 256  using short derivedKey, normal salt, SHA-1, with normal info with missing deriveKey usage assert_equals: deriveKey with missing deriveKey usage correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: HMAC hash: SHA-1 length: 256  using short derivedKey, normal salt, SHA-1, with normal info with wrong (ECDH) key assert_equals: deriveKey with wrong (ECDH) key correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: HMAC hash: SHA-256 length: 256  using short derivedKey, normal salt, SHA-1, with normal info assert_unreached: deriveKey failed with error NotSupportedError: The operation is not supported. Reached unreachable code
+PASS Derived key of type name: HMAC hash: SHA-256 length: 256  using short derivedKey, normal salt, SHA-1, with normal info with bad hash name SHA1 
+FAIL Derived key of type name: HMAC hash: SHA-256 length: 256  using short derivedKey, normal salt, SHA-1, with normal info with missing deriveKey usage assert_equals: deriveKey with missing deriveKey usage correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: HMAC hash: SHA-256 length: 256  using short derivedKey, normal salt, SHA-1, with normal info with wrong (ECDH) key assert_equals: deriveKey with wrong (ECDH) key correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: HMAC hash: SHA-384 length: 256  using short derivedKey, normal salt, SHA-1, with normal info assert_unreached: deriveKey failed with error NotSupportedError: The operation is not supported. Reached unreachable code
+PASS Derived key of type name: HMAC hash: SHA-384 length: 256  using short derivedKey, normal salt, SHA-1, with normal info with bad hash name SHA1 
+FAIL Derived key of type name: HMAC hash: SHA-384 length: 256  using short derivedKey, normal salt, SHA-1, with normal info with missing deriveKey usage assert_equals: deriveKey with missing deriveKey usage correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: HMAC hash: SHA-384 length: 256  using short derivedKey, normal salt, SHA-1, with normal info with wrong (ECDH) key assert_equals: deriveKey with wrong (ECDH) key correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: HMAC hash: SHA-512 length: 256  using short derivedKey, normal salt, SHA-1, with normal info assert_unreached: deriveKey failed with error NotSupportedError: The operation is not supported. Reached unreachable code
+PASS Derived key of type name: HMAC hash: SHA-512 length: 256  using short derivedKey, normal salt, SHA-1, with normal info with bad hash name SHA1 
+FAIL Derived key of type name: HMAC hash: SHA-512 length: 256  using short derivedKey, normal salt, SHA-1, with normal info with missing deriveKey usage assert_equals: deriveKey with missing deriveKey usage correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: HMAC hash: SHA-512 length: 256  using short derivedKey, normal salt, SHA-1, with normal info with wrong (ECDH) key assert_equals: deriveKey with wrong (ECDH) key correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL short derivedKey, normal salt, SHA-1, with normal info with missing salt assert_equals: deriveBits missing salt correctly threw OperationError: The operation is not supported. expected "TypeError" but got "NotSupportedError"
+FAIL short derivedKey, normal salt, SHA-1, with normal info with missing info assert_equals: deriveBits missing info correctly threw OperationError: The operation is not supported. expected "TypeError" but got "NotSupportedError"
+FAIL short derivedKey, normal salt, SHA-1, with normal info with null length assert_equals: deriveBits with null length correctly threw OperationError: The operation is not supported. expected "TypeError" but got "NotSupportedError"
+FAIL short derivedKey, normal salt, SHA-1, with normal info with non-multiple of 8 length assert_equals: deriveBits with non-multiple of 8 length correctly threw OperationError: The operation is not supported. expected "OperationError" but got "NotSupportedError"
+PASS short derivedKey, normal salt, SHA-1, with normal info with bad hash name SHA1 
+FAIL short derivedKey, normal salt, SHA-1, with normal info with missing deriveBits usage assert_equals: deriveBits with missing deriveBits usage correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL short derivedKey, normal salt, SHA-1, with normal info with wrong (ECDH) key assert_equals: deriveBits with wrong (ECDH) key correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL short derivedKey, normal salt, SHA-1, with empty info assert_unreached: deriveBits failed with error NotSupportedError: The operation is not supported. Reached unreachable code
+FAIL short derivedKey, normal salt, SHA-1, with empty info with 0 length assert_equals: deriveBits with 0 length correctly threw OperationError: The operation is not supported. expected "OperationError" but got "NotSupportedError"
+FAIL Derived key of type name: AES-CBC length: 128  using short derivedKey, normal salt, SHA-1, with empty info assert_unreached: deriveKey failed with error NotSupportedError: The operation is not supported. Reached unreachable code
+PASS Derived key of type name: AES-CBC length: 128  using short derivedKey, normal salt, SHA-1, with empty info with bad hash name SHA1 
+FAIL Derived key of type name: AES-CBC length: 128  using short derivedKey, normal salt, SHA-1, with empty info with missing deriveKey usage assert_equals: deriveKey with missing deriveKey usage correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: AES-CBC length: 128  using short derivedKey, normal salt, SHA-1, with empty info with wrong (ECDH) key assert_equals: deriveKey with wrong (ECDH) key correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: AES-CBC length: 192  using short derivedKey, normal salt, SHA-1, with empty info assert_unreached: deriveKey failed with error NotSupportedError: The operation is not supported. Reached unreachable code
+PASS Derived key of type name: AES-CBC length: 192  using short derivedKey, normal salt, SHA-1, with empty info with bad hash name SHA1 
+FAIL Derived key of type name: AES-CBC length: 192  using short derivedKey, normal salt, SHA-1, with empty info with missing deriveKey usage assert_equals: deriveKey with missing deriveKey usage correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: AES-CBC length: 192  using short derivedKey, normal salt, SHA-1, with empty info with wrong (ECDH) key assert_equals: deriveKey with wrong (ECDH) key correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: AES-CBC length: 256  using short derivedKey, normal salt, SHA-1, with empty info assert_unreached: deriveKey failed with error NotSupportedError: The operation is not supported. Reached unreachable code
+PASS Derived key of type name: AES-CBC length: 256  using short derivedKey, normal salt, SHA-1, with empty info with bad hash name SHA1 
+FAIL Derived key of type name: AES-CBC length: 256  using short derivedKey, normal salt, SHA-1, with empty info with missing deriveKey usage assert_equals: deriveKey with missing deriveKey usage correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: AES-CBC length: 256  using short derivedKey, normal salt, SHA-1, with empty info with wrong (ECDH) key assert_equals: deriveKey with wrong (ECDH) key correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: AES-CTR length: 128  using short derivedKey, normal salt, SHA-1, with empty info assert_unreached: deriveKey failed with error NotSupportedError: The operation is not supported. Reached unreachable code
+PASS Derived key of type name: AES-CTR length: 128  using short derivedKey, normal salt, SHA-1, with empty info with bad hash name SHA1 
+FAIL Derived key of type name: AES-CTR length: 128  using short derivedKey, normal salt, SHA-1, with empty info with missing deriveKey usage assert_equals: deriveKey with missing deriveKey usage correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: AES-CTR length: 128  using short derivedKey, normal salt, SHA-1, with empty info with wrong (ECDH) key assert_equals: deriveKey with wrong (ECDH) key correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: AES-CTR length: 192  using short derivedKey, normal salt, SHA-1, with empty info assert_unreached: deriveKey failed with error NotSupportedError: The operation is not supported. Reached unreachable code
+PASS Derived key of type name: AES-CTR length: 192  using short derivedKey, normal salt, SHA-1, with empty info with bad hash name SHA1 
+FAIL Derived key of type name: AES-CTR length: 192  using short derivedKey, normal salt, SHA-1, with empty info with missing deriveKey usage assert_equals: deriveKey with missing deriveKey usage correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: AES-CTR length: 192  using short derivedKey, normal salt, SHA-1, with empty info with wrong (ECDH) key assert_equals: deriveKey with wrong (ECDH) key correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: AES-CTR length: 256  using short derivedKey, normal salt, SHA-1, with empty info assert_unreached: deriveKey failed with error NotSupportedError: The operation is not supported. Reached unreachable code
+PASS Derived key of type name: AES-CTR length: 256  using short derivedKey, normal salt, SHA-1, with empty info with bad hash name SHA1 
+FAIL Derived key of type name: AES-CTR length: 256  using short derivedKey, normal salt, SHA-1, with empty info with missing deriveKey usage assert_equals: deriveKey with missing deriveKey usage correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: AES-CTR length: 256  using short derivedKey, normal salt, SHA-1, with empty info with wrong (ECDH) key assert_equals: deriveKey with wrong (ECDH) key correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: AES-GCM length: 128  using short derivedKey, normal salt, SHA-1, with empty info assert_unreached: deriveKey failed with error NotSupportedError: The operation is not supported. Reached unreachable code
+PASS Derived key of type name: AES-GCM length: 128  using short derivedKey, normal salt, SHA-1, with empty info with bad hash name SHA1 
+FAIL Derived key of type name: AES-GCM length: 128  using short derivedKey, normal salt, SHA-1, with empty info with missing deriveKey usage assert_equals: deriveKey with missing deriveKey usage correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: AES-GCM length: 128  using short derivedKey, normal salt, SHA-1, with empty info with wrong (ECDH) key assert_equals: deriveKey with wrong (ECDH) key correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: AES-GCM length: 192  using short derivedKey, normal salt, SHA-1, with empty info assert_unreached: deriveKey failed with error NotSupportedError: The operation is not supported. Reached unreachable code
+PASS Derived key of type name: AES-GCM length: 192  using short derivedKey, normal salt, SHA-1, with empty info with bad hash name SHA1 
+FAIL Derived key of type name: AES-GCM length: 192  using short derivedKey, normal salt, SHA-1, with empty info with missing deriveKey usage assert_equals: deriveKey with missing deriveKey usage correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: AES-GCM length: 192  using short derivedKey, normal salt, SHA-1, with empty info with wrong (ECDH) key assert_equals: deriveKey with wrong (ECDH) key correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: AES-GCM length: 256  using short derivedKey, normal salt, SHA-1, with empty info assert_unreached: deriveKey failed with error NotSupportedError: The operation is not supported. Reached unreachable code
+PASS Derived key of type name: AES-GCM length: 256  using short derivedKey, normal salt, SHA-1, with empty info with bad hash name SHA1 
+FAIL Derived key of type name: AES-GCM length: 256  using short derivedKey, normal salt, SHA-1, with empty info with missing deriveKey usage assert_equals: deriveKey with missing deriveKey usage correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: AES-GCM length: 256  using short derivedKey, normal salt, SHA-1, with empty info with wrong (ECDH) key assert_equals: deriveKey with wrong (ECDH) key correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: AES-KW length: 128  using short derivedKey, normal salt, SHA-1, with empty info assert_unreached: deriveKey failed with error NotSupportedError: The operation is not supported. Reached unreachable code
+PASS Derived key of type name: AES-KW length: 128  using short derivedKey, normal salt, SHA-1, with empty info with bad hash name SHA1 
+FAIL Derived key of type name: AES-KW length: 128  using short derivedKey, normal salt, SHA-1, with empty info with missing deriveKey usage assert_equals: deriveKey with missing deriveKey usage correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: AES-KW length: 128  using short derivedKey, normal salt, SHA-1, with empty info with wrong (ECDH) key assert_equals: deriveKey with wrong (ECDH) key correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: AES-KW length: 192  using short derivedKey, normal salt, SHA-1, with empty info assert_unreached: deriveKey failed with error NotSupportedError: The operation is not supported. Reached unreachable code
+PASS Derived key of type name: AES-KW length: 192  using short derivedKey, normal salt, SHA-1, with empty info with bad hash name SHA1 
+FAIL Derived key of type name: AES-KW length: 192  using short derivedKey, normal salt, SHA-1, with empty info with missing deriveKey usage assert_equals: deriveKey with missing deriveKey usage correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: AES-KW length: 192  using short derivedKey, normal salt, SHA-1, with empty info with wrong (ECDH) key assert_equals: deriveKey with wrong (ECDH) key correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: AES-KW length: 256  using short derivedKey, normal salt, SHA-1, with empty info assert_unreached: deriveKey failed with error NotSupportedError: The operation is not supported. Reached unreachable code
+PASS Derived key of type name: AES-KW length: 256  using short derivedKey, normal salt, SHA-1, with empty info with bad hash name SHA1 
+FAIL Derived key of type name: AES-KW length: 256  using short derivedKey, normal salt, SHA-1, with empty info with missing deriveKey usage assert_equals: deriveKey with missing deriveKey usage correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: AES-KW length: 256  using short derivedKey, normal salt, SHA-1, with empty info with wrong (ECDH) key assert_equals: deriveKey with wrong (ECDH) key correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: HMAC hash: SHA-1 length: 256  using short derivedKey, normal salt, SHA-1, with empty info assert_unreached: deriveKey failed with error NotSupportedError: The operation is not supported. Reached unreachable code
+PASS Derived key of type name: HMAC hash: SHA-1 length: 256  using short derivedKey, normal salt, SHA-1, with empty info with bad hash name SHA1 
+FAIL Derived key of type name: HMAC hash: SHA-1 length: 256  using short derivedKey, normal salt, SHA-1, with empty info with missing deriveKey usage assert_equals: deriveKey with missing deriveKey usage correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: HMAC hash: SHA-1 length: 256  using short derivedKey, normal salt, SHA-1, with empty info with wrong (ECDH) key assert_equals: deriveKey with wrong (ECDH) key correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: HMAC hash: SHA-256 length: 256  using short derivedKey, normal salt, SHA-1, with empty info assert_unreached: deriveKey failed with error NotSupportedError: The operation is not supported. Reached unreachable code
+PASS Derived key of type name: HMAC hash: SHA-256 length: 256  using short derivedKey, normal salt, SHA-1, with empty info with bad hash name SHA1 
+FAIL Derived key of type name: HMAC hash: SHA-256 length: 256  using short derivedKey, normal salt, SHA-1, with empty info with missing deriveKey usage assert_equals: deriveKey with missing deriveKey usage correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: HMAC hash: SHA-256 length: 256  using short derivedKey, normal salt, SHA-1, with empty info with wrong (ECDH) key assert_equals: deriveKey with wrong (ECDH) key correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: HMAC hash: SHA-384 length: 256  using short derivedKey, normal salt, SHA-1, with empty info assert_unreached: deriveKey failed with error NotSupportedError: The operation is not supported. Reached unreachable code
+PASS Derived key of type name: HMAC hash: SHA-384 length: 256  using short derivedKey, normal salt, SHA-1, with empty info with bad hash name SHA1 
+FAIL Derived key of type name: HMAC hash: SHA-384 length: 256  using short derivedKey, normal salt, SHA-1, with empty info with missing deriveKey usage assert_equals: deriveKey with missing deriveKey usage correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: HMAC hash: SHA-384 length: 256  using short derivedKey, normal salt, SHA-1, with empty info with wrong (ECDH) key assert_equals: deriveKey with wrong (ECDH) key correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: HMAC hash: SHA-512 length: 256  using short derivedKey, normal salt, SHA-1, with empty info assert_unreached: deriveKey failed with error NotSupportedError: The operation is not supported. Reached unreachable code
+PASS Derived key of type name: HMAC hash: SHA-512 length: 256  using short derivedKey, normal salt, SHA-1, with empty info with bad hash name SHA1 
+FAIL Derived key of type name: HMAC hash: SHA-512 length: 256  using short derivedKey, normal salt, SHA-1, with empty info with missing deriveKey usage assert_equals: deriveKey with missing deriveKey usage correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: HMAC hash: SHA-512 length: 256  using short derivedKey, normal salt, SHA-1, with empty info with wrong (ECDH) key assert_equals: deriveKey with wrong (ECDH) key correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL short derivedKey, normal salt, SHA-1, with empty info with missing salt assert_equals: deriveBits missing salt correctly threw OperationError: The operation is not supported. expected "TypeError" but got "NotSupportedError"
+FAIL short derivedKey, normal salt, SHA-1, with empty info with missing info assert_equals: deriveBits missing info correctly threw OperationError: The operation is not supported. expected "TypeError" but got "NotSupportedError"
+FAIL short derivedKey, normal salt, SHA-1, with empty info with null length assert_equals: deriveBits with null length correctly threw OperationError: The operation is not supported. expected "TypeError" but got "NotSupportedError"
+FAIL short derivedKey, normal salt, SHA-1, with empty info with non-multiple of 8 length assert_equals: deriveBits with non-multiple of 8 length correctly threw OperationError: The operation is not supported. expected "OperationError" but got "NotSupportedError"
+PASS short derivedKey, normal salt, SHA-1, with empty info with bad hash name SHA1 
+FAIL short derivedKey, normal salt, SHA-1, with empty info with missing deriveBits usage assert_equals: deriveBits with missing deriveBits usage correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL short derivedKey, normal salt, SHA-1, with empty info with wrong (ECDH) key assert_equals: deriveBits with wrong (ECDH) key correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL short derivedKey, normal salt, SHA-256, with normal info assert_unreached: deriveBits failed with error NotSupportedError: The operation is not supported. Reached unreachable code
+FAIL short derivedKey, normal salt, SHA-256, with normal info with 0 length assert_equals: deriveBits with 0 length correctly threw OperationError: The operation is not supported. expected "OperationError" but got "NotSupportedError"
+FAIL Derived key of type name: AES-CBC length: 128  using short derivedKey, normal salt, SHA-256, with normal info assert_unreached: deriveKey failed with error NotSupportedError: The operation is not supported. Reached unreachable code
+PASS Derived key of type name: AES-CBC length: 128  using short derivedKey, normal salt, SHA-256, with normal info with bad hash name SHA256 
+FAIL Derived key of type name: AES-CBC length: 128  using short derivedKey, normal salt, SHA-256, with normal info with missing deriveKey usage assert_equals: deriveKey with missing deriveKey usage correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: AES-CBC length: 128  using short derivedKey, normal salt, SHA-256, with normal info with wrong (ECDH) key assert_equals: deriveKey with wrong (ECDH) key correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: AES-CBC length: 192  using short derivedKey, normal salt, SHA-256, with normal info assert_unreached: deriveKey failed with error NotSupportedError: The operation is not supported. Reached unreachable code
+PASS Derived key of type name: AES-CBC length: 192  using short derivedKey, normal salt, SHA-256, with normal info with bad hash name SHA256 
+FAIL Derived key of type name: AES-CBC length: 192  using short derivedKey, normal salt, SHA-256, with normal info with missing deriveKey usage assert_equals: deriveKey with missing deriveKey usage correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: AES-CBC length: 192  using short derivedKey, normal salt, SHA-256, with normal info with wrong (ECDH) key assert_equals: deriveKey with wrong (ECDH) key correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: AES-CBC length: 256  using short derivedKey, normal salt, SHA-256, with normal info assert_unreached: deriveKey failed with error NotSupportedError: The operation is not supported. Reached unreachable code
+PASS Derived key of type name: AES-CBC length: 256  using short derivedKey, normal salt, SHA-256, with normal info with bad hash name SHA256 
+FAIL Derived key of type name: AES-CBC length: 256  using short derivedKey, normal salt, SHA-256, with normal info with missing deriveKey usage assert_equals: deriveKey with missing deriveKey usage correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: AES-CBC length: 256  using short derivedKey, normal salt, SHA-256, with normal info with wrong (ECDH) key assert_equals: deriveKey with wrong (ECDH) key correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: AES-CTR length: 128  using short derivedKey, normal salt, SHA-256, with normal info assert_unreached: deriveKey failed with error NotSupportedError: The operation is not supported. Reached unreachable code
+PASS Derived key of type name: AES-CTR length: 128  using short derivedKey, normal salt, SHA-256, with normal info with bad hash name SHA256 
+FAIL Derived key of type name: AES-CTR length: 128  using short derivedKey, normal salt, SHA-256, with normal info with missing deriveKey usage assert_equals: deriveKey with missing deriveKey usage correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: AES-CTR length: 128  using short derivedKey, normal salt, SHA-256, with normal info with wrong (ECDH) key assert_equals: deriveKey with wrong (ECDH) key correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: AES-CTR length: 192  using short derivedKey, normal salt, SHA-256, with normal info assert_unreached: deriveKey failed with error NotSupportedError: The operation is not supported. Reached unreachable code
+PASS Derived key of type name: AES-CTR length: 192  using short derivedKey, normal salt, SHA-256, with normal info with bad hash name SHA256 
+FAIL Derived key of type name: AES-CTR length: 192  using short derivedKey, normal salt, SHA-256, with normal info with missing deriveKey usage assert_equals: deriveKey with missing deriveKey usage correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: AES-CTR length: 192  using short derivedKey, normal salt, SHA-256, with normal info with wrong (ECDH) key assert_equals: deriveKey with wrong (ECDH) key correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: AES-CTR length: 256  using short derivedKey, normal salt, SHA-256, with normal info assert_unreached: deriveKey failed with error NotSupportedError: The operation is not supported. Reached unreachable code
+PASS Derived key of type name: AES-CTR length: 256  using short derivedKey, normal salt, SHA-256, with normal info with bad hash name SHA256 
+FAIL Derived key of type name: AES-CTR length: 256  using short derivedKey, normal salt, SHA-256, with normal info with missing deriveKey usage assert_equals: deriveKey with missing deriveKey usage correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: AES-CTR length: 256  using short derivedKey, normal salt, SHA-256, with normal info with wrong (ECDH) key assert_equals: deriveKey with wrong (ECDH) key correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: AES-GCM length: 128  using short derivedKey, normal salt, SHA-256, with normal info assert_unreached: deriveKey failed with error NotSupportedError: The operation is not supported. Reached unreachable code
+PASS Derived key of type name: AES-GCM length: 128  using short derivedKey, normal salt, SHA-256, with normal info with bad hash name SHA256 
+FAIL Derived key of type name: AES-GCM length: 128  using short derivedKey, normal salt, SHA-256, with normal info with missing deriveKey usage assert_equals: deriveKey with missing deriveKey usage correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: AES-GCM length: 128  using short derivedKey, normal salt, SHA-256, with normal info with wrong (ECDH) key assert_equals: deriveKey with wrong (ECDH) key correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: AES-GCM length: 192  using short derivedKey, normal salt, SHA-256, with normal info assert_unreached: deriveKey failed with error NotSupportedError: The operation is not supported. Reached unreachable code
+PASS Derived key of type name: AES-GCM length: 192  using short derivedKey, normal salt, SHA-256, with normal info with bad hash name SHA256 
+FAIL Derived key of type name: AES-GCM length: 192  using short derivedKey, normal salt, SHA-256, with normal info with missing deriveKey usage assert_equals: deriveKey with missing deriveKey usage correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: AES-GCM length: 192  using short derivedKey, normal salt, SHA-256, with normal info with wrong (ECDH) key assert_equals: deriveKey with wrong (ECDH) key correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: AES-GCM length: 256  using short derivedKey, normal salt, SHA-256, with normal info assert_unreached: deriveKey failed with error NotSupportedError: The operation is not supported. Reached unreachable code
+PASS Derived key of type name: AES-GCM length: 256  using short derivedKey, normal salt, SHA-256, with normal info with bad hash name SHA256 
+FAIL Derived key of type name: AES-GCM length: 256  using short derivedKey, normal salt, SHA-256, with normal info with missing deriveKey usage assert_equals: deriveKey with missing deriveKey usage correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: AES-GCM length: 256  using short derivedKey, normal salt, SHA-256, with normal info with wrong (ECDH) key assert_equals: deriveKey with wrong (ECDH) key correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: AES-KW length: 128  using short derivedKey, normal salt, SHA-256, with normal info assert_unreached: deriveKey failed with error NotSupportedError: The operation is not supported. Reached unreachable code
+PASS Derived key of type name: AES-KW length: 128  using short derivedKey, normal salt, SHA-256, with normal info with bad hash name SHA256 
+FAIL Derived key of type name: AES-KW length: 128  using short derivedKey, normal salt, SHA-256, with normal info with missing deriveKey usage assert_equals: deriveKey with missing deriveKey usage correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: AES-KW length: 128  using short derivedKey, normal salt, SHA-256, with normal info with wrong (ECDH) key assert_equals: deriveKey with wrong (ECDH) key correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: AES-KW length: 192  using short derivedKey, normal salt, SHA-256, with normal info assert_unreached: deriveKey failed with error NotSupportedError: The operation is not supported. Reached unreachable code
+PASS Derived key of type name: AES-KW length: 192  using short derivedKey, normal salt, SHA-256, with normal info with bad hash name SHA256 
+FAIL Derived key of type name: AES-KW length: 192  using short derivedKey, normal salt, SHA-256, with normal info with missing deriveKey usage assert_equals: deriveKey with missing deriveKey usage correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: AES-KW length: 192  using short derivedKey, normal salt, SHA-256, with normal info with wrong (ECDH) key assert_equals: deriveKey with wrong (ECDH) key correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: AES-KW length: 256  using short derivedKey, normal salt, SHA-256, with normal info assert_unreached: deriveKey failed with error NotSupportedError: The operation is not supported. Reached unreachable code
+PASS Derived key of type name: AES-KW length: 256  using short derivedKey, normal salt, SHA-256, with normal info with bad hash name SHA256 
+FAIL Derived key of type name: AES-KW length: 256  using short derivedKey, normal salt, SHA-256, with normal info with missing deriveKey usage assert_equals: deriveKey with missing deriveKey usage correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: AES-KW length: 256  using short derivedKey, normal salt, SHA-256, with normal info with wrong (ECDH) key assert_equals: deriveKey with wrong (ECDH) key correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: HMAC hash: SHA-1 length: 256  using short derivedKey, normal salt, SHA-256, with normal info assert_unreached: deriveKey failed with error NotSupportedError: The operation is not supported. Reached unreachable code
+PASS Derived key of type name: HMAC hash: SHA-1 length: 256  using short derivedKey, normal salt, SHA-256, with normal info with bad hash name SHA256 
+FAIL Derived key of type name: HMAC hash: SHA-1 length: 256  using short derivedKey, normal salt, SHA-256, with normal info with missing deriveKey usage assert_equals: deriveKey with missing deriveKey usage correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: HMAC hash: SHA-1 length: 256  using short derivedKey, normal salt, SHA-256, with normal info with wrong (ECDH) key assert_equals: deriveKey with wrong (ECDH) key correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: HMAC hash: SHA-256 length: 256  using short derivedKey, normal salt, SHA-256, with normal info assert_unreached: deriveKey failed with error NotSupportedError: The operation is not supported. Reached unreachable code
+PASS Derived key of type name: HMAC hash: SHA-256 length: 256  using short derivedKey, normal salt, SHA-256, with normal info with bad hash name SHA256 
+FAIL Derived key of type name: HMAC hash: SHA-256 length: 256  using short derivedKey, normal salt, SHA-256, with normal info with missing deriveKey usage assert_equals: deriveKey with missing deriveKey usage correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: HMAC hash: SHA-256 length: 256  using short derivedKey, normal salt, SHA-256, with normal info with wrong (ECDH) key assert_equals: deriveKey with wrong (ECDH) key correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: HMAC hash: SHA-384 length: 256  using short derivedKey, normal salt, SHA-256, with normal info assert_unreached: deriveKey failed with error NotSupportedError: The operation is not supported. Reached unreachable code
+PASS Derived key of type name: HMAC hash: SHA-384 length: 256  using short derivedKey, normal salt, SHA-256, with normal info with bad hash name SHA256 
+FAIL Derived key of type name: HMAC hash: SHA-384 length: 256  using short derivedKey, normal salt, SHA-256, with normal info with missing deriveKey usage assert_equals: deriveKey with missing deriveKey usage correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: HMAC hash: SHA-384 length: 256  using short derivedKey, normal salt, SHA-256, with normal info with wrong (ECDH) key assert_equals: deriveKey with wrong (ECDH) key correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: HMAC hash: SHA-512 length: 256  using short derivedKey, normal salt, SHA-256, with normal info assert_unreached: deriveKey failed with error NotSupportedError: The operation is not supported. Reached unreachable code
+PASS Derived key of type name: HMAC hash: SHA-512 length: 256  using short derivedKey, normal salt, SHA-256, with normal info with bad hash name SHA256 
+FAIL Derived key of type name: HMAC hash: SHA-512 length: 256  using short derivedKey, normal salt, SHA-256, with normal info with missing deriveKey usage assert_equals: deriveKey with missing deriveKey usage correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: HMAC hash: SHA-512 length: 256  using short derivedKey, normal salt, SHA-256, with normal info with wrong (ECDH) key assert_equals: deriveKey with wrong (ECDH) key correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL short derivedKey, normal salt, SHA-256, with normal info with missing salt assert_equals: deriveBits missing salt correctly threw OperationError: The operation is not supported. expected "TypeError" but got "NotSupportedError"
+FAIL short derivedKey, normal salt, SHA-256, with normal info with missing info assert_equals: deriveBits missing info correctly threw OperationError: The operation is not supported. expected "TypeError" but got "NotSupportedError"
+FAIL short derivedKey, normal salt, SHA-256, with normal info with null length assert_equals: deriveBits with null length correctly threw OperationError: The operation is not supported. expected "TypeError" but got "NotSupportedError"
+FAIL short derivedKey, normal salt, SHA-256, with normal info with non-multiple of 8 length assert_equals: deriveBits with non-multiple of 8 length correctly threw OperationError: The operation is not supported. expected "OperationError" but got "NotSupportedError"
+PASS short derivedKey, normal salt, SHA-256, with normal info with bad hash name SHA256 
+FAIL short derivedKey, normal salt, SHA-256, with normal info with missing deriveBits usage assert_equals: deriveBits with missing deriveBits usage correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL short derivedKey, normal salt, SHA-256, with normal info with wrong (ECDH) key assert_equals: deriveBits with wrong (ECDH) key correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL short derivedKey, normal salt, SHA-256, with empty info assert_unreached: deriveBits failed with error NotSupportedError: The operation is not supported. Reached unreachable code
+FAIL short derivedKey, normal salt, SHA-256, with empty info with 0 length assert_equals: deriveBits with 0 length correctly threw OperationError: The operation is not supported. expected "OperationError" but got "NotSupportedError"
+FAIL Derived key of type name: AES-CBC length: 128  using short derivedKey, normal salt, SHA-256, with empty info assert_unreached: deriveKey failed with error NotSupportedError: The operation is not supported. Reached unreachable code
+PASS Derived key of type name: AES-CBC length: 128  using short derivedKey, normal salt, SHA-256, with empty info with bad hash name SHA256 
+FAIL Derived key of type name: AES-CBC length: 128  using short derivedKey, normal salt, SHA-256, with empty info with missing deriveKey usage assert_equals: deriveKey with missing deriveKey usage correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: AES-CBC length: 128  using short derivedKey, normal salt, SHA-256, with empty info with wrong (ECDH) key assert_equals: deriveKey with wrong (ECDH) key correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: AES-CBC length: 192  using short derivedKey, normal salt, SHA-256, with empty info assert_unreached: deriveKey failed with error NotSupportedError: The operation is not supported. Reached unreachable code
+PASS Derived key of type name: AES-CBC length: 192  using short derivedKey, normal salt, SHA-256, with empty info with bad hash name SHA256 
+FAIL Derived key of type name: AES-CBC length: 192  using short derivedKey, normal salt, SHA-256, with empty info with missing deriveKey usage assert_equals: deriveKey with missing deriveKey usage correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: AES-CBC length: 192  using short derivedKey, normal salt, SHA-256, with empty info with wrong (ECDH) key assert_equals: deriveKey with wrong (ECDH) key correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: AES-CBC length: 256  using short derivedKey, normal salt, SHA-256, with empty info assert_unreached: deriveKey failed with error NotSupportedError: The operation is not supported. Reached unreachable code
+PASS Derived key of type name: AES-CBC length: 256  using short derivedKey, normal salt, SHA-256, with empty info with bad hash name SHA256 
+FAIL Derived key of type name: AES-CBC length: 256  using short derivedKey, normal salt, SHA-256, with empty info with missing deriveKey usage assert_equals: deriveKey with missing deriveKey usage correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: AES-CBC length: 256  using short derivedKey, normal salt, SHA-256, with empty info with wrong (ECDH) key assert_equals: deriveKey with wrong (ECDH) key correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: AES-CTR length: 128  using short derivedKey, normal salt, SHA-256, with empty info assert_unreached: deriveKey failed with error NotSupportedError: The operation is not supported. Reached unreachable code
+PASS Derived key of type name: AES-CTR length: 128  using short derivedKey, normal salt, SHA-256, with empty info with bad hash name SHA256 
+FAIL Derived key of type name: AES-CTR length: 128  using short derivedKey, normal salt, SHA-256, with empty info with missing deriveKey usage assert_equals: deriveKey with missing deriveKey usage correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: AES-CTR length: 128  using short derivedKey, normal salt, SHA-256, with empty info with wrong (ECDH) key assert_equals: deriveKey with wrong (ECDH) key correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: AES-CTR length: 192  using short derivedKey, normal salt, SHA-256, with empty info assert_unreached: deriveKey failed with error NotSupportedError: The operation is not supported. Reached unreachable code
+PASS Derived key of type name: AES-CTR length: 192  using short derivedKey, normal salt, SHA-256, with empty info with bad hash name SHA256 
+FAIL Derived key of type name: AES-CTR length: 192  using short derivedKey, normal salt, SHA-256, with empty info with missing deriveKey usage assert_equals: deriveKey with missing deriveKey usage correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: AES-CTR length: 192  using short derivedKey, normal salt, SHA-256, with empty info with wrong (ECDH) key assert_equals: deriveKey with wrong (ECDH) key correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: AES-CTR length: 256  using short derivedKey, normal salt, SHA-256, with empty info assert_unreached: deriveKey failed with error NotSupportedError: The operation is not supported. Reached unreachable code
+PASS Derived key of type name: AES-CTR length: 256  using short derivedKey, normal salt, SHA-256, with empty info with bad hash name SHA256 
+FAIL Derived key of type name: AES-CTR length: 256  using short derivedKey, normal salt, SHA-256, with empty info with missing deriveKey usage assert_equals: deriveKey with missing deriveKey usage correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: AES-CTR length: 256  using short derivedKey, normal salt, SHA-256, with empty info with wrong (ECDH) key assert_equals: deriveKey with wrong (ECDH) key correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: AES-GCM length: 128  using short derivedKey, normal salt, SHA-256, with empty info assert_unreached: deriveKey failed with error NotSupportedError: The operation is not supported. Reached unreachable code
+PASS Derived key of type name: AES-GCM length: 128  using short derivedKey, normal salt, SHA-256, with empty info with bad hash name SHA256 
+FAIL Derived key of type name: AES-GCM length: 128  using short derivedKey, normal salt, SHA-256, with empty info with missing deriveKey usage assert_equals: deriveKey with missing deriveKey usage correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: AES-GCM length: 128  using short derivedKey, normal salt, SHA-256, with empty info with wrong (ECDH) key assert_equals: deriveKey with wrong (ECDH) key correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: AES-GCM length: 192  using short derivedKey, normal salt, SHA-256, with empty info assert_unreached: deriveKey failed with error NotSupportedError: The operation is not supported. Reached unreachable code
+PASS Derived key of type name: AES-GCM length: 192  using short derivedKey, normal salt, SHA-256, with empty info with bad hash name SHA256 
+FAIL Derived key of type name: AES-GCM length: 192  using short derivedKey, normal salt, SHA-256, with empty info with missing deriveKey usage assert_equals: deriveKey with missing deriveKey usage correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: AES-GCM length: 192  using short derivedKey, normal salt, SHA-256, with empty info with wrong (ECDH) key assert_equals: deriveKey with wrong (ECDH) key correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: AES-GCM length: 256  using short derivedKey, normal salt, SHA-256, with empty info assert_unreached: deriveKey failed with error NotSupportedError: The operation is not supported. Reached unreachable code
+PASS Derived key of type name: AES-GCM length: 256  using short derivedKey, normal salt, SHA-256, with empty info with bad hash name SHA256 
+FAIL Derived key of type name: AES-GCM length: 256  using short derivedKey, normal salt, SHA-256, with empty info with missing deriveKey usage assert_equals: deriveKey with missing deriveKey usage correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: AES-GCM length: 256  using short derivedKey, normal salt, SHA-256, with empty info with wrong (ECDH) key assert_equals: deriveKey with wrong (ECDH) key correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: AES-KW length: 128  using short derivedKey, normal salt, SHA-256, with empty info assert_unreached: deriveKey failed with error NotSupportedError: The operation is not supported. Reached unreachable code
+PASS Derived key of type name: AES-KW length: 128  using short derivedKey, normal salt, SHA-256, with empty info with bad hash name SHA256 
+FAIL Derived key of type name: AES-KW length: 128  using short derivedKey, normal salt, SHA-256, with empty info with missing deriveKey usage assert_equals: deriveKey with missing deriveKey usage correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: AES-KW length: 128  using short derivedKey, normal salt, SHA-256, with empty info with wrong (ECDH) key assert_equals: deriveKey with wrong (ECDH) key correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: AES-KW length: 192  using short derivedKey, normal salt, SHA-256, with empty info assert_unreached: deriveKey failed with error NotSupportedError: The operation is not supported. Reached unreachable code
+PASS Derived key of type name: AES-KW length: 192  using short derivedKey, normal salt, SHA-256, with empty info with bad hash name SHA256 
+FAIL Derived key of type name: AES-KW length: 192  using short derivedKey, normal salt, SHA-256, with empty info with missing deriveKey usage assert_equals: deriveKey with missing deriveKey usage correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: AES-KW length: 192  using short derivedKey, normal salt, SHA-256, with empty info with wrong (ECDH) key assert_equals: deriveKey with wrong (ECDH) key correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: AES-KW length: 256  using short derivedKey, normal salt, SHA-256, with empty info assert_unreached: deriveKey failed with error NotSupportedError: The operation is not supported. Reached unreachable code
+PASS Derived key of type name: AES-KW length: 256  using short derivedKey, normal salt, SHA-256, with empty info with bad hash name SHA256 
+FAIL Derived key of type name: AES-KW length: 256  using short derivedKey, normal salt, SHA-256, with empty info with missing deriveKey usage assert_equals: deriveKey with missing deriveKey usage correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: AES-KW length: 256  using short derivedKey, normal salt, SHA-256, with empty info with wrong (ECDH) key assert_equals: deriveKey with wrong (ECDH) key correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: HMAC hash: SHA-1 length: 256  using short derivedKey, normal salt, SHA-256, with empty info assert_unreached: deriveKey failed with error NotSupportedError: The operation is not supported. Reached unreachable code
+PASS Derived key of type name: HMAC hash: SHA-1 length: 256  using short derivedKey, normal salt, SHA-256, with empty info with bad hash name SHA256 
+FAIL Derived key of type name: HMAC hash: SHA-1 length: 256  using short derivedKey, normal salt, SHA-256, with empty info with missing deriveKey usage assert_equals: deriveKey with missing deriveKey usage correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: HMAC hash: SHA-1 length: 256  using short derivedKey, normal salt, SHA-256, with empty info with wrong (ECDH) key assert_equals: deriveKey with wrong (ECDH) key correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: HMAC hash: SHA-256 length: 256  using short derivedKey, normal salt, SHA-256, with empty info assert_unreached: deriveKey failed with error NotSupportedError: The operation is not supported. Reached unreachable code
+PASS Derived key of type name: HMAC hash: SHA-256 length: 256  using short derivedKey, normal salt, SHA-256, with empty info with bad hash name SHA256 
+FAIL Derived key of type name: HMAC hash: SHA-256 length: 256  using short derivedKey, normal salt, SHA-256, with empty info with missing deriveKey usage assert_equals: deriveKey with missing deriveKey usage correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: HMAC hash: SHA-256 length: 256  using short derivedKey, normal salt, SHA-256, with empty info with wrong (ECDH) key assert_equals: deriveKey with wrong (ECDH) key correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: HMAC hash: SHA-384 length: 256  using short derivedKey, normal salt, SHA-256, with empty info assert_unreached: deriveKey failed with error NotSupportedError: The operation is not supported. Reached unreachable code
+PASS Derived key of type name: HMAC hash: SHA-384 length: 256  using short derivedKey, normal salt, SHA-256, with empty info with bad hash name SHA256 
+FAIL Derived key of type name: HMAC hash: SHA-384 length: 256  using short derivedKey, normal salt, SHA-256, with empty info with missing deriveKey usage assert_equals: deriveKey with missing deriveKey usage correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: HMAC hash: SHA-384 length: 256  using short derivedKey, normal salt, SHA-256, with empty info with wrong (ECDH) key assert_equals: deriveKey with wrong (ECDH) key correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: HMAC hash: SHA-512 length: 256  using short derivedKey, normal salt, SHA-256, with empty info assert_unreached: deriveKey failed with error NotSupportedError: The operation is not supported. Reached unreachable code
+PASS Derived key of type name: HMAC hash: SHA-512 length: 256  using short derivedKey, normal salt, SHA-256, with empty info with bad hash name SHA256 
+FAIL Derived key of type name: HMAC hash: SHA-512 length: 256  using short derivedKey, normal salt, SHA-256, with empty info with missing deriveKey usage assert_equals: deriveKey with missing deriveKey usage correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: HMAC hash: SHA-512 length: 256  using short derivedKey, normal salt, SHA-256, with empty info with wrong (ECDH) key assert_equals: deriveKey with wrong (ECDH) key correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL short derivedKey, normal salt, SHA-256, with empty info with missing salt assert_equals: deriveBits missing salt correctly threw OperationError: The operation is not supported. expected "TypeError" but got "NotSupportedError"
+FAIL short derivedKey, normal salt, SHA-256, with empty info with missing info assert_equals: deriveBits missing info correctly threw OperationError: The operation is not supported. expected "TypeError" but got "NotSupportedError"
+FAIL short derivedKey, normal salt, SHA-256, with empty info with null length assert_equals: deriveBits with null length correctly threw OperationError: The operation is not supported. expected "TypeError" but got "NotSupportedError"
+FAIL short derivedKey, normal salt, SHA-256, with empty info with non-multiple of 8 length assert_equals: deriveBits with non-multiple of 8 length correctly threw OperationError: The operation is not supported. expected "OperationError" but got "NotSupportedError"
+PASS short derivedKey, normal salt, SHA-256, with empty info with bad hash name SHA256 
+FAIL short derivedKey, normal salt, SHA-256, with empty info with missing deriveBits usage assert_equals: deriveBits with missing deriveBits usage correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL short derivedKey, normal salt, SHA-256, with empty info with wrong (ECDH) key assert_equals: deriveBits with wrong (ECDH) key correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+PASS short derivedKey, normal salt, PBKDF2, with normal info with non-digest algorithm PBKDF2 
+PASS Derived key of type name: AES-CBC length: 128  using short derivedKey, normal salt, PBKDF2, with normal info 
+PASS Derived key of type name: AES-CBC length: 192  using short derivedKey, normal salt, PBKDF2, with normal info 
+PASS Derived key of type name: AES-CBC length: 256  using short derivedKey, normal salt, PBKDF2, with normal info 
+PASS Derived key of type name: AES-CTR length: 128  using short derivedKey, normal salt, PBKDF2, with normal info 
+PASS Derived key of type name: AES-CTR length: 192  using short derivedKey, normal salt, PBKDF2, with normal info 
+PASS Derived key of type name: AES-CTR length: 256  using short derivedKey, normal salt, PBKDF2, with normal info 
+PASS Derived key of type name: AES-GCM length: 128  using short derivedKey, normal salt, PBKDF2, with normal info 
+PASS Derived key of type name: AES-GCM length: 192  using short derivedKey, normal salt, PBKDF2, with normal info 
+PASS Derived key of type name: AES-GCM length: 256  using short derivedKey, normal salt, PBKDF2, with normal info 
+PASS Derived key of type name: AES-KW length: 128  using short derivedKey, normal salt, PBKDF2, with normal info 
+PASS Derived key of type name: AES-KW length: 192  using short derivedKey, normal salt, PBKDF2, with normal info 
+PASS Derived key of type name: AES-KW length: 256  using short derivedKey, normal salt, PBKDF2, with normal info 
+PASS Derived key of type name: HMAC hash: SHA-1 length: 256  using short derivedKey, normal salt, PBKDF2, with normal info 
+PASS Derived key of type name: HMAC hash: SHA-256 length: 256  using short derivedKey, normal salt, PBKDF2, with normal info 
+PASS Derived key of type name: HMAC hash: SHA-384 length: 256  using short derivedKey, normal salt, PBKDF2, with normal info 
+PASS Derived key of type name: HMAC hash: SHA-512 length: 256  using short derivedKey, normal salt, PBKDF2, with normal info 
+PASS short derivedKey, normal salt, PBKDF2, with empty info with non-digest algorithm PBKDF2 
+PASS Derived key of type name: AES-CBC length: 128  using short derivedKey, normal salt, PBKDF2, with empty info 
+PASS Derived key of type name: AES-CBC length: 192  using short derivedKey, normal salt, PBKDF2, with empty info 
+PASS Derived key of type name: AES-CBC length: 256  using short derivedKey, normal salt, PBKDF2, with empty info 
+PASS Derived key of type name: AES-CTR length: 128  using short derivedKey, normal salt, PBKDF2, with empty info 
+PASS Derived key of type name: AES-CTR length: 192  using short derivedKey, normal salt, PBKDF2, with empty info 
+PASS Derived key of type name: AES-CTR length: 256  using short derivedKey, normal salt, PBKDF2, with empty info 
+PASS Derived key of type name: AES-GCM length: 128  using short derivedKey, normal salt, PBKDF2, with empty info 
+PASS Derived key of type name: AES-GCM length: 192  using short derivedKey, normal salt, PBKDF2, with empty info 
+PASS Derived key of type name: AES-GCM length: 256  using short derivedKey, normal salt, PBKDF2, with empty info 
+PASS Derived key of type name: AES-KW length: 128  using short derivedKey, normal salt, PBKDF2, with empty info 
+PASS Derived key of type name: AES-KW length: 192  using short derivedKey, normal salt, PBKDF2, with empty info 
+PASS Derived key of type name: AES-KW length: 256  using short derivedKey, normal salt, PBKDF2, with empty info 
+PASS Derived key of type name: HMAC hash: SHA-1 length: 256  using short derivedKey, normal salt, PBKDF2, with empty info 
+PASS Derived key of type name: HMAC hash: SHA-256 length: 256  using short derivedKey, normal salt, PBKDF2, with empty info 
+PASS Derived key of type name: HMAC hash: SHA-384 length: 256  using short derivedKey, normal salt, PBKDF2, with empty info 
+PASS Derived key of type name: HMAC hash: SHA-512 length: 256  using short derivedKey, normal salt, PBKDF2, with empty info 
+FAIL short derivedKey, empty salt, SHA-384, with normal info assert_unreached: deriveBits failed with error NotSupportedError: The operation is not supported. Reached unreachable code
+FAIL short derivedKey, empty salt, SHA-384, with normal info with 0 length assert_equals: deriveBits with 0 length correctly threw OperationError: The operation is not supported. expected "OperationError" but got "NotSupportedError"
+FAIL Derived key of type name: AES-CBC length: 128  using short derivedKey, empty salt, SHA-384, with normal info assert_unreached: deriveKey failed with error NotSupportedError: The operation is not supported. Reached unreachable code
+PASS Derived key of type name: AES-CBC length: 128  using short derivedKey, empty salt, SHA-384, with normal info with bad hash name SHA384 
+FAIL Derived key of type name: AES-CBC length: 128  using short derivedKey, empty salt, SHA-384, with normal info with missing deriveKey usage assert_equals: deriveKey with missing deriveKey usage correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: AES-CBC length: 128  using short derivedKey, empty salt, SHA-384, with normal info with wrong (ECDH) key assert_equals: deriveKey with wrong (ECDH) key correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: AES-CBC length: 192  using short derivedKey, empty salt, SHA-384, with normal info assert_unreached: deriveKey failed with error NotSupportedError: The operation is not supported. Reached unreachable code
+PASS Derived key of type name: AES-CBC length: 192  using short derivedKey, empty salt, SHA-384, with normal info with bad hash name SHA384 
+FAIL Derived key of type name: AES-CBC length: 192  using short derivedKey, empty salt, SHA-384, with normal info with missing deriveKey usage assert_equals: deriveKey with missing deriveKey usage correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: AES-CBC length: 192  using short derivedKey, empty salt, SHA-384, with normal info with wrong (ECDH) key assert_equals: deriveKey with wrong (ECDH) key correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: AES-CBC length: 256  using short derivedKey, empty salt, SHA-384, with normal info assert_unreached: deriveKey failed with error NotSupportedError: The operation is not supported. Reached unreachable code
+PASS Derived key of type name: AES-CBC length: 256  using short derivedKey, empty salt, SHA-384, with normal info with bad hash name SHA384 
+FAIL Derived key of type name: AES-CBC length: 256  using short derivedKey, empty salt, SHA-384, with normal info with missing deriveKey usage assert_equals: deriveKey with missing deriveKey usage correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: AES-CBC length: 256  using short derivedKey, empty salt, SHA-384, with normal info with wrong (ECDH) key assert_equals: deriveKey with wrong (ECDH) key correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: AES-CTR length: 128  using short derivedKey, empty salt, SHA-384, with normal info assert_unreached: deriveKey failed with error NotSupportedError: The operation is not supported. Reached unreachable code
+PASS Derived key of type name: AES-CTR length: 128  using short derivedKey, empty salt, SHA-384, with normal info with bad hash name SHA384 
+FAIL Derived key of type name: AES-CTR length: 128  using short derivedKey, empty salt, SHA-384, with normal info with missing deriveKey usage assert_equals: deriveKey with missing deriveKey usage correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: AES-CTR length: 128  using short derivedKey, empty salt, SHA-384, with normal info with wrong (ECDH) key assert_equals: deriveKey with wrong (ECDH) key correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: AES-CTR length: 192  using short derivedKey, empty salt, SHA-384, with normal info assert_unreached: deriveKey failed with error NotSupportedError: The operation is not supported. Reached unreachable code
+PASS Derived key of type name: AES-CTR length: 192  using short derivedKey, empty salt, SHA-384, with normal info with bad hash name SHA384 
+FAIL Derived key of type name: AES-CTR length: 192  using short derivedKey, empty salt, SHA-384, with normal info with missing deriveKey usage assert_equals: deriveKey with missing deriveKey usage correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: AES-CTR length: 192  using short derivedKey, empty salt, SHA-384, with normal info with wrong (ECDH) key assert_equals: deriveKey with wrong (ECDH) key correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: AES-CTR length: 256  using short derivedKey, empty salt, SHA-384, with normal info assert_unreached: deriveKey failed with error NotSupportedError: The operation is not supported. Reached unreachable code
+PASS Derived key of type name: AES-CTR length: 256  using short derivedKey, empty salt, SHA-384, with normal info with bad hash name SHA384 
+FAIL Derived key of type name: AES-CTR length: 256  using short derivedKey, empty salt, SHA-384, with normal info with missing deriveKey usage assert_equals: deriveKey with missing deriveKey usage correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: AES-CTR length: 256  using short derivedKey, empty salt, SHA-384, with normal info with wrong (ECDH) key assert_equals: deriveKey with wrong (ECDH) key correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: AES-GCM length: 128  using short derivedKey, empty salt, SHA-384, with normal info assert_unreached: deriveKey failed with error NotSupportedError: The operation is not supported. Reached unreachable code
+PASS Derived key of type name: AES-GCM length: 128  using short derivedKey, empty salt, SHA-384, with normal info with bad hash name SHA384 
+FAIL Derived key of type name: AES-GCM length: 128  using short derivedKey, empty salt, SHA-384, with normal info with missing deriveKey usage assert_equals: deriveKey with missing deriveKey usage correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: AES-GCM length: 128  using short derivedKey, empty salt, SHA-384, with normal info with wrong (ECDH) key assert_equals: deriveKey with wrong (ECDH) key correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: AES-GCM length: 192  using short derivedKey, empty salt, SHA-384, with normal info assert_unreached: deriveKey failed with error NotSupportedError: The operation is not supported. Reached unreachable code
+PASS Derived key of type name: AES-GCM length: 192  using short derivedKey, empty salt, SHA-384, with normal info with bad hash name SHA384 
+FAIL Derived key of type name: AES-GCM length: 192  using short derivedKey, empty salt, SHA-384, with normal info with missing deriveKey usage assert_equals: deriveKey with missing deriveKey usage correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: AES-GCM length: 192  using short derivedKey, empty salt, SHA-384, with normal info with wrong (ECDH) key assert_equals: deriveKey with wrong (ECDH) key correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: AES-GCM length: 256  using short derivedKey, empty salt, SHA-384, with normal info assert_unreached: deriveKey failed with error NotSupportedError: The operation is not supported. Reached unreachable code
+PASS Derived key of type name: AES-GCM length: 256  using short derivedKey, empty salt, SHA-384, with normal info with bad hash name SHA384 
+FAIL Derived key of type name: AES-GCM length: 256  using short derivedKey, empty salt, SHA-384, with normal info with missing deriveKey usage assert_equals: deriveKey with missing deriveKey usage correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: AES-GCM length: 256  using short derivedKey, empty salt, SHA-384, with normal info with wrong (ECDH) key assert_equals: deriveKey with wrong (ECDH) key correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: AES-KW length: 128  using short derivedKey, empty salt, SHA-384, with normal info assert_unreached: deriveKey failed with error NotSupportedError: The operation is not supported. Reached unreachable code
+PASS Derived key of type name: AES-KW length: 128  using short derivedKey, empty salt, SHA-384, with normal info with bad hash name SHA384 
+FAIL Derived key of type name: AES-KW length: 128  using short derivedKey, empty salt, SHA-384, with normal info with missing deriveKey usage assert_equals: deriveKey with missing deriveKey usage correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: AES-KW length: 128  using short derivedKey, empty salt, SHA-384, with normal info with wrong (ECDH) key assert_equals: deriveKey with wrong (ECDH) key correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: AES-KW length: 192  using short derivedKey, empty salt, SHA-384, with normal info assert_unreached: deriveKey failed with error NotSupportedError: The operation is not supported. Reached unreachable code
+PASS Derived key of type name: AES-KW length: 192  using short derivedKey, empty salt, SHA-384, with normal info with bad hash name SHA384 
+FAIL Derived key of type name: AES-KW length: 192  using short derivedKey, empty salt, SHA-384, with normal info with missing deriveKey usage assert_equals: deriveKey with missing deriveKey usage correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: AES-KW length: 192  using short derivedKey, empty salt, SHA-384, with normal info with wrong (ECDH) key assert_equals: deriveKey with wrong (ECDH) key correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: AES-KW length: 256  using short derivedKey, empty salt, SHA-384, with normal info assert_unreached: deriveKey failed with error NotSupportedError: The operation is not supported. Reached unreachable code
+PASS Derived key of type name: AES-KW length: 256  using short derivedKey, empty salt, SHA-384, with normal info with bad hash name SHA384 
+FAIL Derived key of type name: AES-KW length: 256  using short derivedKey, empty salt, SHA-384, with normal info with missing deriveKey usage assert_equals: deriveKey with missing deriveKey usage correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: AES-KW length: 256  using short derivedKey, empty salt, SHA-384, with normal info with wrong (ECDH) key assert_equals: deriveKey with wrong (ECDH) key correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: HMAC hash: SHA-1 length: 256  using short derivedKey, empty salt, SHA-384, with normal info assert_unreached: deriveKey failed with error NotSupportedError: The operation is not supported. Reached unreachable code
+PASS Derived key of type name: HMAC hash: SHA-1 length: 256  using short derivedKey, empty salt, SHA-384, with normal info with bad hash name SHA384 
+FAIL Derived key of type name: HMAC hash: SHA-1 length: 256  using short derivedKey, empty salt, SHA-384, with normal info with missing deriveKey usage assert_equals: deriveKey with missing deriveKey usage correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: HMAC hash: SHA-1 length: 256  using short derivedKey, empty salt, SHA-384, with normal info with wrong (ECDH) key assert_equals: deriveKey with wrong (ECDH) key correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: HMAC hash: SHA-256 length: 256  using short derivedKey, empty salt, SHA-384, with normal info assert_unreached: deriveKey failed with error NotSupportedError: The operation is not supported. Reached unreachable code
+PASS Derived key of type name: HMAC hash: SHA-256 length: 256  using short derivedKey, empty salt, SHA-384, with normal info with bad hash name SHA384 
+FAIL Derived key of type name: HMAC hash: SHA-256 length: 256  using short derivedKey, empty salt, SHA-384, with normal info with missing deriveKey usage assert_equals: deriveKey with missing deriveKey usage correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: HMAC hash: SHA-256 length: 256  using short derivedKey, empty salt, SHA-384, with normal info with wrong (ECDH) key assert_equals: deriveKey with wrong (ECDH) key correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: HMAC hash: SHA-384 length: 256  using short derivedKey, empty salt, SHA-384, with normal info assert_unreached: deriveKey failed with error NotSupportedError: The operation is not supported. Reached unreachable code
+PASS Derived key of type name: HMAC hash: SHA-384 length: 256  using short derivedKey, empty salt, SHA-384, with normal info with bad hash name SHA384 
+FAIL Derived key of type name: HMAC hash: SHA-384 length: 256  using short derivedKey, empty salt, SHA-384, with normal info with missing deriveKey usage assert_equals: deriveKey with missing deriveKey usage correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: HMAC hash: SHA-384 length: 256  using short derivedKey, empty salt, SHA-384, with normal info with wrong (ECDH) key assert_equals: deriveKey with wrong (ECDH) key correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: HMAC hash: SHA-512 length: 256  using short derivedKey, empty salt, SHA-384, with normal info assert_unreached: deriveKey failed with error NotSupportedError: The operation is not supported. Reached unreachable code
+PASS Derived key of type name: HMAC hash: SHA-512 length: 256  using short derivedKey, empty salt, SHA-384, with normal info with bad hash name SHA384 
+FAIL Derived key of type name: HMAC hash: SHA-512 length: 256  using short derivedKey, empty salt, SHA-384, with normal info with missing deriveKey usage assert_equals: deriveKey with missing deriveKey usage correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: HMAC hash: SHA-512 length: 256  using short derivedKey, empty salt, SHA-384, with normal info with wrong (ECDH) key assert_equals: deriveKey with wrong (ECDH) key correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL short derivedKey, empty salt, SHA-384, with normal info with missing salt assert_equals: deriveBits missing salt correctly threw OperationError: The operation is not supported. expected "TypeError" but got "NotSupportedError"
+FAIL short derivedKey, empty salt, SHA-384, with normal info with missing info assert_equals: deriveBits missing info correctly threw OperationError: The operation is not supported. expected "TypeError" but got "NotSupportedError"
+FAIL short derivedKey, empty salt, SHA-384, with normal info with null length assert_equals: deriveBits with null length correctly threw OperationError: The operation is not supported. expected "TypeError" but got "NotSupportedError"
+FAIL short derivedKey, empty salt, SHA-384, with normal info with non-multiple of 8 length assert_equals: deriveBits with non-multiple of 8 length correctly threw OperationError: The operation is not supported. expected "OperationError" but got "NotSupportedError"
+PASS short derivedKey, empty salt, SHA-384, with normal info with bad hash name SHA384 
+FAIL short derivedKey, empty salt, SHA-384, with normal info with missing deriveBits usage assert_equals: deriveBits with missing deriveBits usage correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL short derivedKey, empty salt, SHA-384, with normal info with wrong (ECDH) key assert_equals: deriveBits with wrong (ECDH) key correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL short derivedKey, empty salt, SHA-384, with empty info assert_unreached: deriveBits failed with error NotSupportedError: The operation is not supported. Reached unreachable code
+FAIL short derivedKey, empty salt, SHA-384, with empty info with 0 length assert_equals: deriveBits with 0 length correctly threw OperationError: The operation is not supported. expected "OperationError" but got "NotSupportedError"
+FAIL Derived key of type name: AES-CBC length: 128  using short derivedKey, empty salt, SHA-384, with empty info assert_unreached: deriveKey failed with error NotSupportedError: The operation is not supported. Reached unreachable code
+PASS Derived key of type name: AES-CBC length: 128  using short derivedKey, empty salt, SHA-384, with empty info with bad hash name SHA384 
+FAIL Derived key of type name: AES-CBC length: 128  using short derivedKey, empty salt, SHA-384, with empty info with missing deriveKey usage assert_equals: deriveKey with missing deriveKey usage correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: AES-CBC length: 128  using short derivedKey, empty salt, SHA-384, with empty info with wrong (ECDH) key assert_equals: deriveKey with wrong (ECDH) key correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: AES-CBC length: 192  using short derivedKey, empty salt, SHA-384, with empty info assert_unreached: deriveKey failed with error NotSupportedError: The operation is not supported. Reached unreachable code
+PASS Derived key of type name: AES-CBC length: 192  using short derivedKey, empty salt, SHA-384, with empty info with bad hash name SHA384 
+FAIL Derived key of type name: AES-CBC length: 192  using short derivedKey, empty salt, SHA-384, with empty info with missing deriveKey usage assert_equals: deriveKey with missing deriveKey usage correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: AES-CBC length: 192  using short derivedKey, empty salt, SHA-384, with empty info with wrong (ECDH) key assert_equals: deriveKey with wrong (ECDH) key correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: AES-CBC length: 256  using short derivedKey, empty salt, SHA-384, with empty info assert_unreached: deriveKey failed with error NotSupportedError: The operation is not supported. Reached unreachable code
+PASS Derived key of type name: AES-CBC length: 256  using short derivedKey, empty salt, SHA-384, with empty info with bad hash name SHA384 
+FAIL Derived key of type name: AES-CBC length: 256  using short derivedKey, empty salt, SHA-384, with empty info with missing deriveKey usage assert_equals: deriveKey with missing deriveKey usage correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: AES-CBC length: 256  using short derivedKey, empty salt, SHA-384, with empty info with wrong (ECDH) key assert_equals: deriveKey with wrong (ECDH) key correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: AES-CTR length: 128  using short derivedKey, empty salt, SHA-384, with empty info assert_unreached: deriveKey failed with error NotSupportedError: The operation is not supported. Reached unreachable code
+PASS Derived key of type name: AES-CTR length: 128  using short derivedKey, empty salt, SHA-384, with empty info with bad hash name SHA384 
+FAIL Derived key of type name: AES-CTR length: 128  using short derivedKey, empty salt, SHA-384, with empty info with missing deriveKey usage assert_equals: deriveKey with missing deriveKey usage correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: AES-CTR length: 128  using short derivedKey, empty salt, SHA-384, with empty info with wrong (ECDH) key assert_equals: deriveKey with wrong (ECDH) key correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: AES-CTR length: 192  using short derivedKey, empty salt, SHA-384, with empty info assert_unreached: deriveKey failed with error NotSupportedError: The operation is not supported. Reached unreachable code
+PASS Derived key of type name: AES-CTR length: 192  using short derivedKey, empty salt, SHA-384, with empty info with bad hash name SHA384 
+FAIL Derived key of type name: AES-CTR length: 192  using short derivedKey, empty salt, SHA-384, with empty info with missing deriveKey usage assert_equals: deriveKey with missing deriveKey usage correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: AES-CTR length: 192  using short derivedKey, empty salt, SHA-384, with empty info with wrong (ECDH) key assert_equals: deriveKey with wrong (ECDH) key correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: AES-CTR length: 256  using short derivedKey, empty salt, SHA-384, with empty info assert_unreached: deriveKey failed with error NotSupportedError: The operation is not supported. Reached unreachable code
+PASS Derived key of type name: AES-CTR length: 256  using short derivedKey, empty salt, SHA-384, with empty info with bad hash name SHA384 
+FAIL Derived key of type name: AES-CTR length: 256  using short derivedKey, empty salt, SHA-384, with empty info with missing deriveKey usage assert_equals: deriveKey with missing deriveKey usage correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: AES-CTR length: 256  using short derivedKey, empty salt, SHA-384, with empty info with wrong (ECDH) key assert_equals: deriveKey with wrong (ECDH) key correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: AES-GCM length: 128  using short derivedKey, empty salt, SHA-384, with empty info assert_unreached: deriveKey failed with error NotSupportedError: The operation is not supported. Reached unreachable code
+PASS Derived key of type name: AES-GCM length: 128  using short derivedKey, empty salt, SHA-384, with empty info with bad hash name SHA384 
+FAIL Derived key of type name: AES-GCM length: 128  using short derivedKey, empty salt, SHA-384, with empty info with missing deriveKey usage assert_equals: deriveKey with missing deriveKey usage correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: AES-GCM length: 128  using short derivedKey, empty salt, SHA-384, with empty info with wrong (ECDH) key assert_equals: deriveKey with wrong (ECDH) key correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: AES-GCM length: 192  using short derivedKey, empty salt, SHA-384, with empty info assert_unreached: deriveKey failed with error NotSupportedError: The operation is not supported. Reached unreachable code
+PASS Derived key of type name: AES-GCM length: 192  using short derivedKey, empty salt, SHA-384, with empty info with bad hash name SHA384 
+FAIL Derived key of type name: AES-GCM length: 192  using short derivedKey, empty salt, SHA-384, with empty info with missing deriveKey usage assert_equals: deriveKey with missing deriveKey usage correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: AES-GCM length: 192  using short derivedKey, empty salt, SHA-384, with empty info with wrong (ECDH) key assert_equals: deriveKey with wrong (ECDH) key correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: AES-GCM length: 256  using short derivedKey, empty salt, SHA-384, with empty info assert_unreached: deriveKey failed with error NotSupportedError: The operation is not supported. Reached unreachable code
+PASS Derived key of type name: AES-GCM length: 256  using short derivedKey, empty salt, SHA-384, with empty info with bad hash name SHA384 
+FAIL Derived key of type name: AES-GCM length: 256  using short derivedKey, empty salt, SHA-384, with empty info with missing deriveKey usage assert_equals: deriveKey with missing deriveKey usage correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: AES-GCM length: 256  using short derivedKey, empty salt, SHA-384, with empty info with wrong (ECDH) key assert_equals: deriveKey with wrong (ECDH) key correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: AES-KW length: 128  using short derivedKey, empty salt, SHA-384, with empty info assert_unreached: deriveKey failed with error NotSupportedError: The operation is not supported. Reached unreachable code
+PASS Derived key of type name: AES-KW length: 128  using short derivedKey, empty salt, SHA-384, with empty info with bad hash name SHA384 
+FAIL Derived key of type name: AES-KW length: 128  using short derivedKey, empty salt, SHA-384, with empty info with missing deriveKey usage assert_equals: deriveKey with missing deriveKey usage correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: AES-KW length: 128  using short derivedKey, empty salt, SHA-384, with empty info with wrong (ECDH) key assert_equals: deriveKey with wrong (ECDH) key correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: AES-KW length: 192  using short derivedKey, empty salt, SHA-384, with empty info assert_unreached: deriveKey failed with error NotSupportedError: The operation is not supported. Reached unreachable code
+PASS Derived key of type name: AES-KW length: 192  using short derivedKey, empty salt, SHA-384, with empty info with bad hash name SHA384 
+FAIL Derived key of type name: AES-KW length: 192  using short derivedKey, empty salt, SHA-384, with empty info with missing deriveKey usage assert_equals: deriveKey with missing deriveKey usage correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: AES-KW length: 192  using short derivedKey, empty salt, SHA-384, with empty info with wrong (ECDH) key assert_equals: deriveKey with wrong (ECDH) key correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: AES-KW length: 256  using short derivedKey, empty salt, SHA-384, with empty info assert_unreached: deriveKey failed with error NotSupportedError: The operation is not supported. Reached unreachable code
+PASS Derived key of type name: AES-KW length: 256  using short derivedKey, empty salt, SHA-384, with empty info with bad hash name SHA384 
+FAIL Derived key of type name: AES-KW length: 256  using short derivedKey, empty salt, SHA-384, with empty info with missing deriveKey usage assert_equals: deriveKey with missing deriveKey usage correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: AES-KW length: 256  using short derivedKey, empty salt, SHA-384, with empty info with wrong (ECDH) key assert_equals: deriveKey with wrong (ECDH) key correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: HMAC hash: SHA-1 length: 256  using short derivedKey, empty salt, SHA-384, with empty info assert_unreached: deriveKey failed with error NotSupportedError: The operation is not supported. Reached unreachable code
+PASS Derived key of type name: HMAC hash: SHA-1 length: 256  using short derivedKey, empty salt, SHA-384, with empty info with bad hash name SHA384 
+FAIL Derived key of type name: HMAC hash: SHA-1 length: 256  using short derivedKey, empty salt, SHA-384, with empty info with missing deriveKey usage assert_equals: deriveKey with missing deriveKey usage correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: HMAC hash: SHA-1 length: 256  using short derivedKey, empty salt, SHA-384, with empty info with wrong (ECDH) key assert_equals: deriveKey with wrong (ECDH) key correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: HMAC hash: SHA-256 length: 256  using short derivedKey, empty salt, SHA-384, with empty info assert_unreached: deriveKey failed with error NotSupportedError: The operation is not supported. Reached unreachable code
+PASS Derived key of type name: HMAC hash: SHA-256 length: 256  using short derivedKey, empty salt, SHA-384, with empty info with bad hash name SHA384 
+FAIL Derived key of type name: HMAC hash: SHA-256 length: 256  using short derivedKey, empty salt, SHA-384, with empty info with missing deriveKey usage assert_equals: deriveKey with missing deriveKey usage correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: HMAC hash: SHA-256 length: 256  using short derivedKey, empty salt, SHA-384, with empty info with wrong (ECDH) key assert_equals: deriveKey with wrong (ECDH) key correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: HMAC hash: SHA-384 length: 256  using short derivedKey, empty salt, SHA-384, with empty info assert_unreached: deriveKey failed with error NotSupportedError: The operation is not supported. Reached unreachable code
+PASS Derived key of type name: HMAC hash: SHA-384 length: 256  using short derivedKey, empty salt, SHA-384, with empty info with bad hash name SHA384 
+FAIL Derived key of type name: HMAC hash: SHA-384 length: 256  using short derivedKey, empty salt, SHA-384, with empty info with missing deriveKey usage assert_equals: deriveKey with missing deriveKey usage correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: HMAC hash: SHA-384 length: 256  using short derivedKey, empty salt, SHA-384, with empty info with wrong (ECDH) key assert_equals: deriveKey with wrong (ECDH) key correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: HMAC hash: SHA-512 length: 256  using short derivedKey, empty salt, SHA-384, with empty info assert_unreached: deriveKey failed with error NotSupportedError: The operation is not supported. Reached unreachable code
+PASS Derived key of type name: HMAC hash: SHA-512 length: 256  using short derivedKey, empty salt, SHA-384, with empty info with bad hash name SHA384 
+FAIL Derived key of type name: HMAC hash: SHA-512 length: 256  using short derivedKey, empty salt, SHA-384, with empty info with missing deriveKey usage assert_equals: deriveKey with missing deriveKey usage correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: HMAC hash: SHA-512 length: 256  using short derivedKey, empty salt, SHA-384, with empty info with wrong (ECDH) key assert_equals: deriveKey with wrong (ECDH) key correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL short derivedKey, empty salt, SHA-384, with empty info with missing salt assert_equals: deriveBits missing salt correctly threw OperationError: The operation is not supported. expected "TypeError" but got "NotSupportedError"
+FAIL short derivedKey, empty salt, SHA-384, with empty info with missing info assert_equals: deriveBits missing info correctly threw OperationError: The operation is not supported. expected "TypeError" but got "NotSupportedError"
+FAIL short derivedKey, empty salt, SHA-384, with empty info with null length assert_equals: deriveBits with null length correctly threw OperationError: The operation is not supported. expected "TypeError" but got "NotSupportedError"
+FAIL short derivedKey, empty salt, SHA-384, with empty info with non-multiple of 8 length assert_equals: deriveBits with non-multiple of 8 length correctly threw OperationError: The operation is not supported. expected "OperationError" but got "NotSupportedError"
+PASS short derivedKey, empty salt, SHA-384, with empty info with bad hash name SHA384 
+FAIL short derivedKey, empty salt, SHA-384, with empty info with missing deriveBits usage assert_equals: deriveBits with missing deriveBits usage correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL short derivedKey, empty salt, SHA-384, with empty info with wrong (ECDH) key assert_equals: deriveBits with wrong (ECDH) key correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL short derivedKey, empty salt, SHA-512, with normal info assert_unreached: deriveBits failed with error NotSupportedError: The operation is not supported. Reached unreachable code
+FAIL short derivedKey, empty salt, SHA-512, with normal info with 0 length assert_equals: deriveBits with 0 length correctly threw OperationError: The operation is not supported. expected "OperationError" but got "NotSupportedError"
+FAIL Derived key of type name: AES-CBC length: 128  using short derivedKey, empty salt, SHA-512, with normal info assert_unreached: deriveKey failed with error NotSupportedError: The operation is not supported. Reached unreachable code
+PASS Derived key of type name: AES-CBC length: 128  using short derivedKey, empty salt, SHA-512, with normal info with bad hash name SHA512 
+FAIL Derived key of type name: AES-CBC length: 128  using short derivedKey, empty salt, SHA-512, with normal info with missing deriveKey usage assert_equals: deriveKey with missing deriveKey usage correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: AES-CBC length: 128  using short derivedKey, empty salt, SHA-512, with normal info with wrong (ECDH) key assert_equals: deriveKey with wrong (ECDH) key correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: AES-CBC length: 192  using short derivedKey, empty salt, SHA-512, with normal info assert_unreached: deriveKey failed with error NotSupportedError: The operation is not supported. Reached unreachable code
+PASS Derived key of type name: AES-CBC length: 192  using short derivedKey, empty salt, SHA-512, with normal info with bad hash name SHA512 
+FAIL Derived key of type name: AES-CBC length: 192  using short derivedKey, empty salt, SHA-512, with normal info with missing deriveKey usage assert_equals: deriveKey with missing deriveKey usage correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: AES-CBC length: 192  using short derivedKey, empty salt, SHA-512, with normal info with wrong (ECDH) key assert_equals: deriveKey with wrong (ECDH) key correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: AES-CBC length: 256  using short derivedKey, empty salt, SHA-512, with normal info assert_unreached: deriveKey failed with error NotSupportedError: The operation is not supported. Reached unreachable code
+PASS Derived key of type name: AES-CBC length: 256  using short derivedKey, empty salt, SHA-512, with normal info with bad hash name SHA512 
+FAIL Derived key of type name: AES-CBC length: 256  using short derivedKey, empty salt, SHA-512, with normal info with missing deriveKey usage assert_equals: deriveKey with missing deriveKey usage correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: AES-CBC length: 256  using short derivedKey, empty salt, SHA-512, with normal info with wrong (ECDH) key assert_equals: deriveKey with wrong (ECDH) key correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: AES-CTR length: 128  using short derivedKey, empty salt, SHA-512, with normal info assert_unreached: deriveKey failed with error NotSupportedError: The operation is not supported. Reached unreachable code
+PASS Derived key of type name: AES-CTR length: 128  using short derivedKey, empty salt, SHA-512, with normal info with bad hash name SHA512 
+FAIL Derived key of type name: AES-CTR length: 128  using short derivedKey, empty salt, SHA-512, with normal info with missing deriveKey usage assert_equals: deriveKey with missing deriveKey usage correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: AES-CTR length: 128  using short derivedKey, empty salt, SHA-512, with normal info with wrong (ECDH) key assert_equals: deriveKey with wrong (ECDH) key correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: AES-CTR length: 192  using short derivedKey, empty salt, SHA-512, with normal info assert_unreached: deriveKey failed with error NotSupportedError: The operation is not supported. Reached unreachable code
+PASS Derived key of type name: AES-CTR length: 192  using short derivedKey, empty salt, SHA-512, with normal info with bad hash name SHA512 
+FAIL Derived key of type name: AES-CTR length: 192  using short derivedKey, empty salt, SHA-512, with normal info with missing deriveKey usage assert_equals: deriveKey with missing deriveKey usage correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: AES-CTR length: 192  using short derivedKey, empty salt, SHA-512, with normal info with wrong (ECDH) key assert_equals: deriveKey with wrong (ECDH) key correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: AES-CTR length: 256  using short derivedKey, empty salt, SHA-512, with normal info assert_unreached: deriveKey failed with error NotSupportedError: The operation is not supported. Reached unreachable code
+PASS Derived key of type name: AES-CTR length: 256  using short derivedKey, empty salt, SHA-512, with normal info with bad hash name SHA512 
+FAIL Derived key of type name: AES-CTR length: 256  using short derivedKey, empty salt, SHA-512, with normal info with missing deriveKey usage assert_equals: deriveKey with missing deriveKey usage correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: AES-CTR length: 256  using short derivedKey, empty salt, SHA-512, with normal info with wrong (ECDH) key assert_equals: deriveKey with wrong (ECDH) key correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: AES-GCM length: 128  using short derivedKey, empty salt, SHA-512, with normal info assert_unreached: deriveKey failed with error NotSupportedError: The operation is not supported. Reached unreachable code
+PASS Derived key of type name: AES-GCM length: 128  using short derivedKey, empty salt, SHA-512, with normal info with bad hash name SHA512 
+FAIL Derived key of type name: AES-GCM length: 128  using short derivedKey, empty salt, SHA-512, with normal info with missing deriveKey usage assert_equals: deriveKey with missing deriveKey usage correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: AES-GCM length: 128  using short derivedKey, empty salt, SHA-512, with normal info with wrong (ECDH) key assert_equals: deriveKey with wrong (ECDH) key correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: AES-GCM length: 192  using short derivedKey, empty salt, SHA-512, with normal info assert_unreached: deriveKey failed with error NotSupportedError: The operation is not supported. Reached unreachable code
+PASS Derived key of type name: AES-GCM length: 192  using short derivedKey, empty salt, SHA-512, with normal info with bad hash name SHA512 
+FAIL Derived key of type name: AES-GCM length: 192  using short derivedKey, empty salt, SHA-512, with normal info with missing deriveKey usage assert_equals: deriveKey with missing deriveKey usage correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: AES-GCM length: 192  using short derivedKey, empty salt, SHA-512, with normal info with wrong (ECDH) key assert_equals: deriveKey with wrong (ECDH) key correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: AES-GCM length: 256  using short derivedKey, empty salt, SHA-512, with normal info assert_unreached: deriveKey failed with error NotSupportedError: The operation is not supported. Reached unreachable code
+PASS Derived key of type name: AES-GCM length: 256  using short derivedKey, empty salt, SHA-512, with normal info with bad hash name SHA512 
+FAIL Derived key of type name: AES-GCM length: 256  using short derivedKey, empty salt, SHA-512, with normal info with missing deriveKey usage assert_equals: deriveKey with missing deriveKey usage correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: AES-GCM length: 256  using short derivedKey, empty salt, SHA-512, with normal info with wrong (ECDH) key assert_equals: deriveKey with wrong (ECDH) key correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: AES-KW length: 128  using short derivedKey, empty salt, SHA-512, with normal info assert_unreached: deriveKey failed with error NotSupportedError: The operation is not supported. Reached unreachable code
+PASS Derived key of type name: AES-KW length: 128  using short derivedKey, empty salt, SHA-512, with normal info with bad hash name SHA512 
+FAIL Derived key of type name: AES-KW length: 128  using short derivedKey, empty salt, SHA-512, with normal info with missing deriveKey usage assert_equals: deriveKey with missing deriveKey usage correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: AES-KW length: 128  using short derivedKey, empty salt, SHA-512, with normal info with wrong (ECDH) key assert_equals: deriveKey with wrong (ECDH) key correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: AES-KW length: 192  using short derivedKey, empty salt, SHA-512, with normal info assert_unreached: deriveKey failed with error NotSupportedError: The operation is not supported. Reached unreachable code
+PASS Derived key of type name: AES-KW length: 192  using short derivedKey, empty salt, SHA-512, with normal info with bad hash name SHA512 
+FAIL Derived key of type name: AES-KW length: 192  using short derivedKey, empty salt, SHA-512, with normal info with missing deriveKey usage assert_equals: deriveKey with missing deriveKey usage correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: AES-KW length: 192  using short derivedKey, empty salt, SHA-512, with normal info with wrong (ECDH) key assert_equals: deriveKey with wrong (ECDH) key correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: AES-KW length: 256  using short derivedKey, empty salt, SHA-512, with normal info assert_unreached: deriveKey failed with error NotSupportedError: The operation is not supported. Reached unreachable code
+PASS Derived key of type name: AES-KW length: 256  using short derivedKey, empty salt, SHA-512, with normal info with bad hash name SHA512 
+FAIL Derived key of type name: AES-KW length: 256  using short derivedKey, empty salt, SHA-512, with normal info with missing deriveKey usage assert_equals: deriveKey with missing deriveKey usage correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: AES-KW length: 256  using short derivedKey, empty salt, SHA-512, with normal info with wrong (ECDH) key assert_equals: deriveKey with wrong (ECDH) key correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: HMAC hash: SHA-1 length: 256  using short derivedKey, empty salt, SHA-512, with normal info assert_unreached: deriveKey failed with error NotSupportedError: The operation is not supported. Reached unreachable code
+PASS Derived key of type name: HMAC hash: SHA-1 length: 256  using short derivedKey, empty salt, SHA-512, with normal info with bad hash name SHA512 
+FAIL Derived key of type name: HMAC hash: SHA-1 length: 256  using short derivedKey, empty salt, SHA-512, with normal info with missing deriveKey usage assert_equals: deriveKey with missing deriveKey usage correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: HMAC hash: SHA-1 length: 256  using short derivedKey, empty salt, SHA-512, with normal info with wrong (ECDH) key assert_equals: deriveKey with wrong (ECDH) key correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: HMAC hash: SHA-256 length: 256  using short derivedKey, empty salt, SHA-512, with normal info assert_unreached: deriveKey failed with error NotSupportedError: The operation is not supported. Reached unreachable code
+PASS Derived key of type name: HMAC hash: SHA-256 length: 256  using short derivedKey, empty salt, SHA-512, with normal info with bad hash name SHA512 
+FAIL Derived key of type name: HMAC hash: SHA-256 length: 256  using short derivedKey, empty salt, SHA-512, with normal info with missing deriveKey usage assert_equals: deriveKey with missing deriveKey usage correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: HMAC hash: SHA-256 length: 256  using short derivedKey, empty salt, SHA-512, with normal info with wrong (ECDH) key assert_equals: deriveKey with wrong (ECDH) key correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: HMAC hash: SHA-384 length: 256  using short derivedKey, empty salt, SHA-512, with normal info assert_unreached: deriveKey failed with error NotSupportedError: The operation is not supported. Reached unreachable code
+PASS Derived key of type name: HMAC hash: SHA-384 length: 256  using short derivedKey, empty salt, SHA-512, with normal info with bad hash name SHA512 
+FAIL Derived key of type name: HMAC hash: SHA-384 length: 256  using short derivedKey, empty salt, SHA-512, with normal info with missing deriveKey usage assert_equals: deriveKey with missing deriveKey usage correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: HMAC hash: SHA-384 length: 256  using short derivedKey, empty salt, SHA-512, with normal info with wrong (ECDH) key assert_equals: deriveKey with wrong (ECDH) key correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: HMAC hash: SHA-512 length: 256  using short derivedKey, empty salt, SHA-512, with normal info assert_unreached: deriveKey failed with error NotSupportedError: The operation is not supported. Reached unreachable code
+PASS Derived key of type name: HMAC hash: SHA-512 length: 256  using short derivedKey, empty salt, SHA-512, with normal info with bad hash name SHA512 
+FAIL Derived key of type name: HMAC hash: SHA-512 length: 256  using short derivedKey, empty salt, SHA-512, with normal info with missing deriveKey usage assert_equals: deriveKey with missing deriveKey usage correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: HMAC hash: SHA-512 length: 256  using short derivedKey, empty salt, SHA-512, with normal info with wrong (ECDH) key assert_equals: deriveKey with wrong (ECDH) key correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL short derivedKey, empty salt, SHA-512, with normal info with missing salt assert_equals: deriveBits missing salt correctly threw OperationError: The operation is not supported. expected "TypeError" but got "NotSupportedError"
+FAIL short derivedKey, empty salt, SHA-512, with normal info with missing info assert_equals: deriveBits missing info correctly threw OperationError: The operation is not supported. expected "TypeError" but got "NotSupportedError"
+FAIL short derivedKey, empty salt, SHA-512, with normal info with null length assert_equals: deriveBits with null length correctly threw OperationError: The operation is not supported. expected "TypeError" but got "NotSupportedError"
+FAIL short derivedKey, empty salt, SHA-512, with normal info with non-multiple of 8 length assert_equals: deriveBits with non-multiple of 8 length correctly threw OperationError: The operation is not supported. expected "OperationError" but got "NotSupportedError"
+PASS short derivedKey, empty salt, SHA-512, with normal info with bad hash name SHA512 
+FAIL short derivedKey, empty salt, SHA-512, with normal info with missing deriveBits usage assert_equals: deriveBits with missing deriveBits usage correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL short derivedKey, empty salt, SHA-512, with normal info with wrong (ECDH) key assert_equals: deriveBits with wrong (ECDH) key correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL short derivedKey, empty salt, SHA-512, with empty info assert_unreached: deriveBits failed with error NotSupportedError: The operation is not supported. Reached unreachable code
+FAIL short derivedKey, empty salt, SHA-512, with empty info with 0 length assert_equals: deriveBits with 0 length correctly threw OperationError: The operation is not supported. expected "OperationError" but got "NotSupportedError"
+FAIL Derived key of type name: AES-CBC length: 128  using short derivedKey, empty salt, SHA-512, with empty info assert_unreached: deriveKey failed with error NotSupportedError: The operation is not supported. Reached unreachable code
+PASS Derived key of type name: AES-CBC length: 128  using short derivedKey, empty salt, SHA-512, with empty info with bad hash name SHA512 
+FAIL Derived key of type name: AES-CBC length: 128  using short derivedKey, empty salt, SHA-512, with empty info with missing deriveKey usage assert_equals: deriveKey with missing deriveKey usage correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: AES-CBC length: 128  using short derivedKey, empty salt, SHA-512, with empty info with wrong (ECDH) key assert_equals: deriveKey with wrong (ECDH) key correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: AES-CBC length: 192  using short derivedKey, empty salt, SHA-512, with empty info assert_unreached: deriveKey failed with error NotSupportedError: The operation is not supported. Reached unreachable code
+PASS Derived key of type name: AES-CBC length: 192  using short derivedKey, empty salt, SHA-512, with empty info with bad hash name SHA512 
+FAIL Derived key of type name: AES-CBC length: 192  using short derivedKey, empty salt, SHA-512, with empty info with missing deriveKey usage assert_equals: deriveKey with missing deriveKey usage correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: AES-CBC length: 192  using short derivedKey, empty salt, SHA-512, with empty info with wrong (ECDH) key assert_equals: deriveKey with wrong (ECDH) key correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: AES-CBC length: 256  using short derivedKey, empty salt, SHA-512, with empty info assert_unreached: deriveKey failed with error NotSupportedError: The operation is not supported. Reached unreachable code
+PASS Derived key of type name: AES-CBC length: 256  using short derivedKey, empty salt, SHA-512, with empty info with bad hash name SHA512 
+FAIL Derived key of type name: AES-CBC length: 256  using short derivedKey, empty salt, SHA-512, with empty info with missing deriveKey usage assert_equals: deriveKey with missing deriveKey usage correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: AES-CBC length: 256  using short derivedKey, empty salt, SHA-512, with empty info with wrong (ECDH) key assert_equals: deriveKey with wrong (ECDH) key correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: AES-CTR length: 128  using short derivedKey, empty salt, SHA-512, with empty info assert_unreached: deriveKey failed with error NotSupportedError: The operation is not supported. Reached unreachable code
+PASS Derived key of type name: AES-CTR length: 128  using short derivedKey, empty salt, SHA-512, with empty info with bad hash name SHA512 
+FAIL Derived key of type name: AES-CTR length: 128  using short derivedKey, empty salt, SHA-512, with empty info with missing deriveKey usage assert_equals: deriveKey with missing deriveKey usage correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: AES-CTR length: 128  using short derivedKey, empty salt, SHA-512, with empty info with wrong (ECDH) key assert_equals: deriveKey with wrong (ECDH) key correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: AES-CTR length: 192  using short derivedKey, empty salt, SHA-512, with empty info assert_unreached: deriveKey failed with error NotSupportedError: The operation is not supported. Reached unreachable code
+PASS Derived key of type name: AES-CTR length: 192  using short derivedKey, empty salt, SHA-512, with empty info with bad hash name SHA512 
+FAIL Derived key of type name: AES-CTR length: 192  using short derivedKey, empty salt, SHA-512, with empty info with missing deriveKey usage assert_equals: deriveKey with missing deriveKey usage correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: AES-CTR length: 192  using short derivedKey, empty salt, SHA-512, with empty info with wrong (ECDH) key assert_equals: deriveKey with wrong (ECDH) key correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: AES-CTR length: 256  using short derivedKey, empty salt, SHA-512, with empty info assert_unreached: deriveKey failed with error NotSupportedError: The operation is not supported. Reached unreachable code
+PASS Derived key of type name: AES-CTR length: 256  using short derivedKey, empty salt, SHA-512, with empty info with bad hash name SHA512 
+FAIL Derived key of type name: AES-CTR length: 256  using short derivedKey, empty salt, SHA-512, with empty info with missing deriveKey usage assert_equals: deriveKey with missing deriveKey usage correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: AES-CTR length: 256  using short derivedKey, empty salt, SHA-512, with empty info with wrong (ECDH) key assert_equals: deriveKey with wrong (ECDH) key correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: AES-GCM length: 128  using short derivedKey, empty salt, SHA-512, with empty info assert_unreached: deriveKey failed with error NotSupportedError: The operation is not supported. Reached unreachable code
+PASS Derived key of type name: AES-GCM length: 128  using short derivedKey, empty salt, SHA-512, with empty info with bad hash name SHA512 
+FAIL Derived key of type name: AES-GCM length: 128  using short derivedKey, empty salt, SHA-512, with empty info with missing deriveKey usage assert_equals: deriveKey with missing deriveKey usage correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: AES-GCM length: 128  using short derivedKey, empty salt, SHA-512, with empty info with wrong (ECDH) key assert_equals: deriveKey with wrong (ECDH) key correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: AES-GCM length: 192  using short derivedKey, empty salt, SHA-512, with empty info assert_unreached: deriveKey failed with error NotSupportedError: The operation is not supported. Reached unreachable code
+PASS Derived key of type name: AES-GCM length: 192  using short derivedKey, empty salt, SHA-512, with empty info with bad hash name SHA512 
+FAIL Derived key of type name: AES-GCM length: 192  using short derivedKey, empty salt, SHA-512, with empty info with missing deriveKey usage assert_equals: deriveKey with missing deriveKey usage correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: AES-GCM length: 192  using short derivedKey, empty salt, SHA-512, with empty info with wrong (ECDH) key assert_equals: deriveKey with wrong (ECDH) key correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: AES-GCM length: 256  using short derivedKey, empty salt, SHA-512, with empty info assert_unreached: deriveKey failed with error NotSupportedError: The operation is not supported. Reached unreachable code
+PASS Derived key of type name: AES-GCM length: 256  using short derivedKey, empty salt, SHA-512, with empty info with bad hash name SHA512 
+FAIL Derived key of type name: AES-GCM length: 256  using short derivedKey, empty salt, SHA-512, with empty info with missing deriveKey usage assert_equals: deriveKey with missing deriveKey usage correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: AES-GCM length: 256  using short derivedKey, empty salt, SHA-512, with empty info with wrong (ECDH) key assert_equals: deriveKey with wrong (ECDH) key correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: AES-KW length: 128  using short derivedKey, empty salt, SHA-512, with empty info assert_unreached: deriveKey failed with error NotSupportedError: The operation is not supported. Reached unreachable code
+PASS Derived key of type name: AES-KW length: 128  using short derivedKey, empty salt, SHA-512, with empty info with bad hash name SHA512 
+FAIL Derived key of type name: AES-KW length: 128  using short derivedKey, empty salt, SHA-512, with empty info with missing deriveKey usage assert_equals: deriveKey with missing deriveKey usage correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: AES-KW length: 128  using short derivedKey, empty salt, SHA-512, with empty info with wrong (ECDH) key assert_equals: deriveKey with wrong (ECDH) key correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: AES-KW length: 192  using short derivedKey, empty salt, SHA-512, with empty info assert_unreached: deriveKey failed with error NotSupportedError: The operation is not supported. Reached unreachable code
+PASS Derived key of type name: AES-KW length: 192  using short derivedKey, empty salt, SHA-512, with empty info with bad hash name SHA512 
+FAIL Derived key of type name: AES-KW length: 192  using short derivedKey, empty salt, SHA-512, with empty info with missing deriveKey usage assert_equals: deriveKey with missing deriveKey usage correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: AES-KW length: 192  using short derivedKey, empty salt, SHA-512, with empty info with wrong (ECDH) key assert_equals: deriveKey with wrong (ECDH) key correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: AES-KW length: 256  using short derivedKey, empty salt, SHA-512, with empty info assert_unreached: deriveKey failed with error NotSupportedError: The operation is not supported. Reached unreachable code
+PASS Derived key of type name: AES-KW length: 256  using short derivedKey, empty salt, SHA-512, with empty info with bad hash name SHA512 
+FAIL Derived key of type name: AES-KW length: 256  using short derivedKey, empty salt, SHA-512, with empty info with missing deriveKey usage assert_equals: deriveKey with missing deriveKey usage correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: AES-KW length: 256  using short derivedKey, empty salt, SHA-512, with empty info with wrong (ECDH) key assert_equals: deriveKey with wrong (ECDH) key correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: HMAC hash: SHA-1 length: 256  using short derivedKey, empty salt, SHA-512, with empty info assert_unreached: deriveKey failed with error NotSupportedError: The operation is not supported. Reached unreachable code
+PASS Derived key of type name: HMAC hash: SHA-1 length: 256  using short derivedKey, empty salt, SHA-512, with empty info with bad hash name SHA512 
+FAIL Derived key of type name: HMAC hash: SHA-1 length: 256  using short derivedKey, empty salt, SHA-512, with empty info with missing deriveKey usage assert_equals: deriveKey with missing deriveKey usage correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: HMAC hash: SHA-1 length: 256  using short derivedKey, empty salt, SHA-512, with empty info with wrong (ECDH) key assert_equals: deriveKey with wrong (ECDH) key correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: HMAC hash: SHA-256 length: 256  using short derivedKey, empty salt, SHA-512, with empty info assert_unreached: deriveKey failed with error NotSupportedError: The operation is not supported. Reached unreachable code
+PASS Derived key of type name: HMAC hash: SHA-256 length: 256  using short derivedKey, empty salt, SHA-512, with empty info with bad hash name SHA512 
+FAIL Derived key of type name: HMAC hash: SHA-256 length: 256  using short derivedKey, empty salt, SHA-512, with empty info with missing deriveKey usage assert_equals: deriveKey with missing deriveKey usage correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: HMAC hash: SHA-256 length: 256  using short derivedKey, empty salt, SHA-512, with empty info with wrong (ECDH) key assert_equals: deriveKey with wrong (ECDH) key correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: HMAC hash: SHA-384 length: 256  using short derivedKey, empty salt, SHA-512, with empty info assert_unreached: deriveKey failed with error NotSupportedError: The operation is not supported. Reached unreachable code
+PASS Derived key of type name: HMAC hash: SHA-384 length: 256  using short derivedKey, empty salt, SHA-512, with empty info with bad hash name SHA512 
+FAIL Derived key of type name: HMAC hash: SHA-384 length: 256  using short derivedKey, empty salt, SHA-512, with empty info with missing deriveKey usage assert_equals: deriveKey with missing deriveKey usage correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: HMAC hash: SHA-384 length: 256  using short derivedKey, empty salt, SHA-512, with empty info with wrong (ECDH) key assert_equals: deriveKey with wrong (ECDH) key correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: HMAC hash: SHA-512 length: 256  using short derivedKey, empty salt, SHA-512, with empty info assert_unreached: deriveKey failed with error NotSupportedError: The operation is not supported. Reached unreachable code
+PASS Derived key of type name: HMAC hash: SHA-512 length: 256  using short derivedKey, empty salt, SHA-512, with empty info with bad hash name SHA512 
+FAIL Derived key of type name: HMAC hash: SHA-512 length: 256  using short derivedKey, empty salt, SHA-512, with empty info with missing deriveKey usage assert_equals: deriveKey with missing deriveKey usage correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: HMAC hash: SHA-512 length: 256  using short derivedKey, empty salt, SHA-512, with empty info with wrong (ECDH) key assert_equals: deriveKey with wrong (ECDH) key correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL short derivedKey, empty salt, SHA-512, with empty info with missing salt assert_equals: deriveBits missing salt correctly threw OperationError: The operation is not supported. expected "TypeError" but got "NotSupportedError"
+FAIL short derivedKey, empty salt, SHA-512, with empty info with missing info assert_equals: deriveBits missing info correctly threw OperationError: The operation is not supported. expected "TypeError" but got "NotSupportedError"
+FAIL short derivedKey, empty salt, SHA-512, with empty info with null length assert_equals: deriveBits with null length correctly threw OperationError: The operation is not supported. expected "TypeError" but got "NotSupportedError"
+FAIL short derivedKey, empty salt, SHA-512, with empty info with non-multiple of 8 length assert_equals: deriveBits with non-multiple of 8 length correctly threw OperationError: The operation is not supported. expected "OperationError" but got "NotSupportedError"
+PASS short derivedKey, empty salt, SHA-512, with empty info with bad hash name SHA512 
+FAIL short derivedKey, empty salt, SHA-512, with empty info with missing deriveBits usage assert_equals: deriveBits with missing deriveBits usage correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL short derivedKey, empty salt, SHA-512, with empty info with wrong (ECDH) key assert_equals: deriveBits with wrong (ECDH) key correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL short derivedKey, empty salt, SHA-1, with normal info assert_unreached: deriveBits failed with error NotSupportedError: The operation is not supported. Reached unreachable code
+FAIL short derivedKey, empty salt, SHA-1, with normal info with 0 length assert_equals: deriveBits with 0 length correctly threw OperationError: The operation is not supported. expected "OperationError" but got "NotSupportedError"
+FAIL Derived key of type name: AES-CBC length: 128  using short derivedKey, empty salt, SHA-1, with normal info assert_unreached: deriveKey failed with error NotSupportedError: The operation is not supported. Reached unreachable code
+PASS Derived key of type name: AES-CBC length: 128  using short derivedKey, empty salt, SHA-1, with normal info with bad hash name SHA1 
+FAIL Derived key of type name: AES-CBC length: 128  using short derivedKey, empty salt, SHA-1, with normal info with missing deriveKey usage assert_equals: deriveKey with missing deriveKey usage correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: AES-CBC length: 128  using short derivedKey, empty salt, SHA-1, with normal info with wrong (ECDH) key assert_equals: deriveKey with wrong (ECDH) key correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: AES-CBC length: 192  using short derivedKey, empty salt, SHA-1, with normal info assert_unreached: deriveKey failed with error NotSupportedError: The operation is not supported. Reached unreachable code
+PASS Derived key of type name: AES-CBC length: 192  using short derivedKey, empty salt, SHA-1, with normal info with bad hash name SHA1 
+FAIL Derived key of type name: AES-CBC length: 192  using short derivedKey, empty salt, SHA-1, with normal info with missing deriveKey usage assert_equals: deriveKey with missing deriveKey usage correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: AES-CBC length: 192  using short derivedKey, empty salt, SHA-1, with normal info with wrong (ECDH) key assert_equals: deriveKey with wrong (ECDH) key correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: AES-CBC length: 256  using short derivedKey, empty salt, SHA-1, with normal info assert_unreached: deriveKey failed with error NotSupportedError: The operation is not supported. Reached unreachable code
+PASS Derived key of type name: AES-CBC length: 256  using short derivedKey, empty salt, SHA-1, with normal info with bad hash name SHA1 
+FAIL Derived key of type name: AES-CBC length: 256  using short derivedKey, empty salt, SHA-1, with normal info with missing deriveKey usage assert_equals: deriveKey with missing deriveKey usage correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: AES-CBC length: 256  using short derivedKey, empty salt, SHA-1, with normal info with wrong (ECDH) key assert_equals: deriveKey with wrong (ECDH) key correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: AES-CTR length: 128  using short derivedKey, empty salt, SHA-1, with normal info assert_unreached: deriveKey failed with error NotSupportedError: The operation is not supported. Reached unreachable code
+PASS Derived key of type name: AES-CTR length: 128  using short derivedKey, empty salt, SHA-1, with normal info with bad hash name SHA1 
+FAIL Derived key of type name: AES-CTR length: 128  using short derivedKey, empty salt, SHA-1, with normal info with missing deriveKey usage assert_equals: deriveKey with missing deriveKey usage correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: AES-CTR length: 128  using short derivedKey, empty salt, SHA-1, with normal info with wrong (ECDH) key assert_equals: deriveKey with wrong (ECDH) key correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: AES-CTR length: 192  using short derivedKey, empty salt, SHA-1, with normal info assert_unreached: deriveKey failed with error NotSupportedError: The operation is not supported. Reached unreachable code
+PASS Derived key of type name: AES-CTR length: 192  using short derivedKey, empty salt, SHA-1, with normal info with bad hash name SHA1 
+FAIL Derived key of type name: AES-CTR length: 192  using short derivedKey, empty salt, SHA-1, with normal info with missing deriveKey usage assert_equals: deriveKey with missing deriveKey usage correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: AES-CTR length: 192  using short derivedKey, empty salt, SHA-1, with normal info with wrong (ECDH) key assert_equals: deriveKey with wrong (ECDH) key correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: AES-CTR length: 256  using short derivedKey, empty salt, SHA-1, with normal info assert_unreached: deriveKey failed with error NotSupportedError: The operation is not supported. Reached unreachable code
+PASS Derived key of type name: AES-CTR length: 256  using short derivedKey, empty salt, SHA-1, with normal info with bad hash name SHA1 
+FAIL Derived key of type name: AES-CTR length: 256  using short derivedKey, empty salt, SHA-1, with normal info with missing deriveKey usage assert_equals: deriveKey with missing deriveKey usage correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: AES-CTR length: 256  using short derivedKey, empty salt, SHA-1, with normal info with wrong (ECDH) key assert_equals: deriveKey with wrong (ECDH) key correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: AES-GCM length: 128  using short derivedKey, empty salt, SHA-1, with normal info assert_unreached: deriveKey failed with error NotSupportedError: The operation is not supported. Reached unreachable code
+PASS Derived key of type name: AES-GCM length: 128  using short derivedKey, empty salt, SHA-1, with normal info with bad hash name SHA1 
+FAIL Derived key of type name: AES-GCM length: 128  using short derivedKey, empty salt, SHA-1, with normal info with missing deriveKey usage assert_equals: deriveKey with missing deriveKey usage correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: AES-GCM length: 128  using short derivedKey, empty salt, SHA-1, with normal info with wrong (ECDH) key assert_equals: deriveKey with wrong (ECDH) key correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: AES-GCM length: 192  using short derivedKey, empty salt, SHA-1, with normal info assert_unreached: deriveKey failed with error NotSupportedError: The operation is not supported. Reached unreachable code
+PASS Derived key of type name: AES-GCM length: 192  using short derivedKey, empty salt, SHA-1, with normal info with bad hash name SHA1 
+FAIL Derived key of type name: AES-GCM length: 192  using short derivedKey, empty salt, SHA-1, with normal info with missing deriveKey usage assert_equals: deriveKey with missing deriveKey usage correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: AES-GCM length: 192  using short derivedKey, empty salt, SHA-1, with normal info with wrong (ECDH) key assert_equals: deriveKey with wrong (ECDH) key correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: AES-GCM length: 256  using short derivedKey, empty salt, SHA-1, with normal info assert_unreached: deriveKey failed with error NotSupportedError: The operation is not supported. Reached unreachable code
+PASS Derived key of type name: AES-GCM length: 256  using short derivedKey, empty salt, SHA-1, with normal info with bad hash name SHA1 
+FAIL Derived key of type name: AES-GCM length: 256  using short derivedKey, empty salt, SHA-1, with normal info with missing deriveKey usage assert_equals: deriveKey with missing deriveKey usage correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: AES-GCM length: 256  using short derivedKey, empty salt, SHA-1, with normal info with wrong (ECDH) key assert_equals: deriveKey with wrong (ECDH) key correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: AES-KW length: 128  using short derivedKey, empty salt, SHA-1, with normal info assert_unreached: deriveKey failed with error NotSupportedError: The operation is not supported. Reached unreachable code
+PASS Derived key of type name: AES-KW length: 128  using short derivedKey, empty salt, SHA-1, with normal info with bad hash name SHA1 
+FAIL Derived key of type name: AES-KW length: 128  using short derivedKey, empty salt, SHA-1, with normal info with missing deriveKey usage assert_equals: deriveKey with missing deriveKey usage correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: AES-KW length: 128  using short derivedKey, empty salt, SHA-1, with normal info with wrong (ECDH) key assert_equals: deriveKey with wrong (ECDH) key correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: AES-KW length: 192  using short derivedKey, empty salt, SHA-1, with normal info assert_unreached: deriveKey failed with error NotSupportedError: The operation is not supported. Reached unreachable code
+PASS Derived key of type name: AES-KW length: 192  using short derivedKey, empty salt, SHA-1, with normal info with bad hash name SHA1 
+FAIL Derived key of type name: AES-KW length: 192  using short derivedKey, empty salt, SHA-1, with normal info with missing deriveKey usage assert_equals: deriveKey with missing deriveKey usage correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: AES-KW length: 192  using short derivedKey, empty salt, SHA-1, with normal info with wrong (ECDH) key assert_equals: deriveKey with wrong (ECDH) key correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: AES-KW length: 256  using short derivedKey, empty salt, SHA-1, with normal info assert_unreached: deriveKey failed with error NotSupportedError: The operation is not supported. Reached unreachable code
+PASS Derived key of type name: AES-KW length: 256  using short derivedKey, empty salt, SHA-1, with normal info with bad hash name SHA1 
+FAIL Derived key of type name: AES-KW length: 256  using short derivedKey, empty salt, SHA-1, with normal info with missing deriveKey usage assert_equals: deriveKey with missing deriveKey usage correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: AES-KW length: 256  using short derivedKey, empty salt, SHA-1, with normal info with wrong (ECDH) key assert_equals: deriveKey with wrong (ECDH) key correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: HMAC hash: SHA-1 length: 256  using short derivedKey, empty salt, SHA-1, with normal info assert_unreached: deriveKey failed with error NotSupportedError: The operation is not supported. Reached unreachable code
+PASS Derived key of type name: HMAC hash: SHA-1 length: 256  using short derivedKey, empty salt, SHA-1, with normal info with bad hash name SHA1 
+FAIL Derived key of type name: HMAC hash: SHA-1 length: 256  using short derivedKey, empty salt, SHA-1, with normal info with missing deriveKey usage assert_equals: deriveKey with missing deriveKey usage correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: HMAC hash: SHA-1 length: 256  using short derivedKey, empty salt, SHA-1, with normal info with wrong (ECDH) key assert_equals: deriveKey with wrong (ECDH) key correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: HMAC hash: SHA-256 length: 256  using short derivedKey, empty salt, SHA-1, with normal info assert_unreached: deriveKey failed with error NotSupportedError: The operation is not supported. Reached unreachable code
+PASS Derived key of type name: HMAC hash: SHA-256 length: 256  using short derivedKey, empty salt, SHA-1, with normal info with bad hash name SHA1 
+FAIL Derived key of type name: HMAC hash: SHA-256 length: 256  using short derivedKey, empty salt, SHA-1, with normal info with missing deriveKey usage assert_equals: deriveKey with missing deriveKey usage correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: HMAC hash: SHA-256 length: 256  using short derivedKey, empty salt, SHA-1, with normal info with wrong (ECDH) key assert_equals: deriveKey with wrong (ECDH) key correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: HMAC hash: SHA-384 length: 256  using short derivedKey, empty salt, SHA-1, with normal info assert_unreached: deriveKey failed with error NotSupportedError: The operation is not supported. Reached unreachable code
+PASS Derived key of type name: HMAC hash: SHA-384 length: 256  using short derivedKey, empty salt, SHA-1, with normal info with bad hash name SHA1 
+FAIL Derived key of type name: HMAC hash: SHA-384 length: 256  using short derivedKey, empty salt, SHA-1, with normal info with missing deriveKey usage assert_equals: deriveKey with missing deriveKey usage correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: HMAC hash: SHA-384 length: 256  using short derivedKey, empty salt, SHA-1, with normal info with wrong (ECDH) key assert_equals: deriveKey with wrong (ECDH) key correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: HMAC hash: SHA-512 length: 256  using short derivedKey, empty salt, SHA-1, with normal info assert_unreached: deriveKey failed with error NotSupportedError: The operation is not supported. Reached unreachable code
+PASS Derived key of type name: HMAC hash: SHA-512 length: 256  using short derivedKey, empty salt, SHA-1, with normal info with bad hash name SHA1 
+FAIL Derived key of type name: HMAC hash: SHA-512 length: 256  using short derivedKey, empty salt, SHA-1, with normal info with missing deriveKey usage assert_equals: deriveKey with missing deriveKey usage correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: HMAC hash: SHA-512 length: 256  using short derivedKey, empty salt, SHA-1, with normal info with wrong (ECDH) key assert_equals: deriveKey with wrong (ECDH) key correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL short derivedKey, empty salt, SHA-1, with normal info with missing salt assert_equals: deriveBits missing salt correctly threw OperationError: The operation is not supported. expected "TypeError" but got "NotSupportedError"
+FAIL short derivedKey, empty salt, SHA-1, with normal info with missing info assert_equals: deriveBits missing info correctly threw OperationError: The operation is not supported. expected "TypeError" but got "NotSupportedError"
+FAIL short derivedKey, empty salt, SHA-1, with normal info with null length assert_equals: deriveBits with null length correctly threw OperationError: The operation is not supported. expected "TypeError" but got "NotSupportedError"
+FAIL short derivedKey, empty salt, SHA-1, with normal info with non-multiple of 8 length assert_equals: deriveBits with non-multiple of 8 length correctly threw OperationError: The operation is not supported. expected "OperationError" but got "NotSupportedError"
+PASS short derivedKey, empty salt, SHA-1, with normal info with bad hash name SHA1 
+FAIL short derivedKey, empty salt, SHA-1, with normal info with missing deriveBits usage assert_equals: deriveBits with missing deriveBits usage correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL short derivedKey, empty salt, SHA-1, with normal info with wrong (ECDH) key assert_equals: deriveBits with wrong (ECDH) key correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL short derivedKey, empty salt, SHA-1, with empty info assert_unreached: deriveBits failed with error NotSupportedError: The operation is not supported. Reached unreachable code
+FAIL short derivedKey, empty salt, SHA-1, with empty info with 0 length assert_equals: deriveBits with 0 length correctly threw OperationError: The operation is not supported. expected "OperationError" but got "NotSupportedError"
+FAIL Derived key of type name: AES-CBC length: 128  using short derivedKey, empty salt, SHA-1, with empty info assert_unreached: deriveKey failed with error NotSupportedError: The operation is not supported. Reached unreachable code
+PASS Derived key of type name: AES-CBC length: 128  using short derivedKey, empty salt, SHA-1, with empty info with bad hash name SHA1 
+FAIL Derived key of type name: AES-CBC length: 128  using short derivedKey, empty salt, SHA-1, with empty info with missing deriveKey usage assert_equals: deriveKey with missing deriveKey usage correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: AES-CBC length: 128  using short derivedKey, empty salt, SHA-1, with empty info with wrong (ECDH) key assert_equals: deriveKey with wrong (ECDH) key correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: AES-CBC length: 192  using short derivedKey, empty salt, SHA-1, with empty info assert_unreached: deriveKey failed with error NotSupportedError: The operation is not supported. Reached unreachable code
+PASS Derived key of type name: AES-CBC length: 192  using short derivedKey, empty salt, SHA-1, with empty info with bad hash name SHA1 
+FAIL Derived key of type name: AES-CBC length: 192  using short derivedKey, empty salt, SHA-1, with empty info with missing deriveKey usage assert_equals: deriveKey with missing deriveKey usage correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: AES-CBC length: 192  using short derivedKey, empty salt, SHA-1, with empty info with wrong (ECDH) key assert_equals: deriveKey with wrong (ECDH) key correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: AES-CBC length: 256  using short derivedKey, empty salt, SHA-1, with empty info assert_unreached: deriveKey failed with error NotSupportedError: The operation is not supported. Reached unreachable code
+PASS Derived key of type name: AES-CBC length: 256  using short derivedKey, empty salt, SHA-1, with empty info with bad hash name SHA1 
+FAIL Derived key of type name: AES-CBC length: 256  using short derivedKey, empty salt, SHA-1, with empty info with missing deriveKey usage assert_equals: deriveKey with missing deriveKey usage correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: AES-CBC length: 256  using short derivedKey, empty salt, SHA-1, with empty info with wrong (ECDH) key assert_equals: deriveKey with wrong (ECDH) key correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: AES-CTR length: 128  using short derivedKey, empty salt, SHA-1, with empty info assert_unreached: deriveKey failed with error NotSupportedError: The operation is not supported. Reached unreachable code
+PASS Derived key of type name: AES-CTR length: 128  using short derivedKey, empty salt, SHA-1, with empty info with bad hash name SHA1 
+FAIL Derived key of type name: AES-CTR length: 128  using short derivedKey, empty salt, SHA-1, with empty info with missing deriveKey usage assert_equals: deriveKey with missing deriveKey usage correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: AES-CTR length: 128  using short derivedKey, empty salt, SHA-1, with empty info with wrong (ECDH) key assert_equals: deriveKey with wrong (ECDH) key correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: AES-CTR length: 192  using short derivedKey, empty salt, SHA-1, with empty info assert_unreached: deriveKey failed with error NotSupportedError: The operation is not supported. Reached unreachable code
+PASS Derived key of type name: AES-CTR length: 192  using short derivedKey, empty salt, SHA-1, with empty info with bad hash name SHA1 
+FAIL Derived key of type name: AES-CTR length: 192  using short derivedKey, empty salt, SHA-1, with empty info with missing deriveKey usage assert_equals: deriveKey with missing deriveKey usage correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: AES-CTR length: 192  using short derivedKey, empty salt, SHA-1, with empty info with wrong (ECDH) key assert_equals: deriveKey with wrong (ECDH) key correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: AES-CTR length: 256  using short derivedKey, empty salt, SHA-1, with empty info assert_unreached: deriveKey failed with error NotSupportedError: The operation is not supported. Reached unreachable code
+PASS Derived key of type name: AES-CTR length: 256  using short derivedKey, empty salt, SHA-1, with empty info with bad hash name SHA1 
+FAIL Derived key of type name: AES-CTR length: 256  using short derivedKey, empty salt, SHA-1, with empty info with missing deriveKey usage assert_equals: deriveKey with missing deriveKey usage correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: AES-CTR length: 256  using short derivedKey, empty salt, SHA-1, with empty info with wrong (ECDH) key assert_equals: deriveKey with wrong (ECDH) key correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: AES-GCM length: 128  using short derivedKey, empty salt, SHA-1, with empty info assert_unreached: deriveKey failed with error NotSupportedError: The operation is not supported. Reached unreachable code
+PASS Derived key of type name: AES-GCM length: 128  using short derivedKey, empty salt, SHA-1, with empty info with bad hash name SHA1 
+FAIL Derived key of type name: AES-GCM length: 128  using short derivedKey, empty salt, SHA-1, with empty info with missing deriveKey usage assert_equals: deriveKey with missing deriveKey usage correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: AES-GCM length: 128  using short derivedKey, empty salt, SHA-1, with empty info with wrong (ECDH) key assert_equals: deriveKey with wrong (ECDH) key correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: AES-GCM length: 192  using short derivedKey, empty salt, SHA-1, with empty info assert_unreached: deriveKey failed with error NotSupportedError: The operation is not supported. Reached unreachable code
+PASS Derived key of type name: AES-GCM length: 192  using short derivedKey, empty salt, SHA-1, with empty info with bad hash name SHA1 
+FAIL Derived key of type name: AES-GCM length: 192  using short derivedKey, empty salt, SHA-1, with empty info with missing deriveKey usage assert_equals: deriveKey with missing deriveKey usage correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: AES-GCM length: 192  using short derivedKey, empty salt, SHA-1, with empty info with wrong (ECDH) key assert_equals: deriveKey with wrong (ECDH) key correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: AES-GCM length: 256  using short derivedKey, empty salt, SHA-1, with empty info assert_unreached: deriveKey failed with error NotSupportedError: The operation is not supported. Reached unreachable code
+PASS Derived key of type name: AES-GCM length: 256  using short derivedKey, empty salt, SHA-1, with empty info with bad hash name SHA1 
+FAIL Derived key of type name: AES-GCM length: 256  using short derivedKey, empty salt, SHA-1, with empty info with missing deriveKey usage assert_equals: deriveKey with missing deriveKey usage correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: AES-GCM length: 256  using short derivedKey, empty salt, SHA-1, with empty info with wrong (ECDH) key assert_equals: deriveKey with wrong (ECDH) key correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: AES-KW length: 128  using short derivedKey, empty salt, SHA-1, with empty info assert_unreached: deriveKey failed with error NotSupportedError: The operation is not supported. Reached unreachable code
+PASS Derived key of type name: AES-KW length: 128  using short derivedKey, empty salt, SHA-1, with empty info with bad hash name SHA1 
+FAIL Derived key of type name: AES-KW length: 128  using short derivedKey, empty salt, SHA-1, with empty info with missing deriveKey usage assert_equals: deriveKey with missing deriveKey usage correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: AES-KW length: 128  using short derivedKey, empty salt, SHA-1, with empty info with wrong (ECDH) key assert_equals: deriveKey with wrong (ECDH) key correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: AES-KW length: 192  using short derivedKey, empty salt, SHA-1, with empty info assert_unreached: deriveKey failed with error NotSupportedError: The operation is not supported. Reached unreachable code
+PASS Derived key of type name: AES-KW length: 192  using short derivedKey, empty salt, SHA-1, with empty info with bad hash name SHA1 
+FAIL Derived key of type name: AES-KW length: 192  using short derivedKey, empty salt, SHA-1, with empty info with missing deriveKey usage assert_equals: deriveKey with missing deriveKey usage correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: AES-KW length: 192  using short derivedKey, empty salt, SHA-1, with empty info with wrong (ECDH) key assert_equals: deriveKey with wrong (ECDH) key correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: AES-KW length: 256  using short derivedKey, empty salt, SHA-1, with empty info assert_unreached: deriveKey failed with error NotSupportedError: The operation is not supported. Reached unreachable code
+PASS Derived key of type name: AES-KW length: 256  using short derivedKey, empty salt, SHA-1, with empty info with bad hash name SHA1 
+FAIL Derived key of type name: AES-KW length: 256  using short derivedKey, empty salt, SHA-1, with empty info with missing deriveKey usage assert_equals: deriveKey with missing deriveKey usage correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: AES-KW length: 256  using short derivedKey, empty salt, SHA-1, with empty info with wrong (ECDH) key assert_equals: deriveKey with wrong (ECDH) key correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: HMAC hash: SHA-1 length: 256  using short derivedKey, empty salt, SHA-1, with empty info assert_unreached: deriveKey failed with error NotSupportedError: The operation is not supported. Reached unreachable code
+PASS Derived key of type name: HMAC hash: SHA-1 length: 256  using short derivedKey, empty salt, SHA-1, with empty info with bad hash name SHA1 
+FAIL Derived key of type name: HMAC hash: SHA-1 length: 256  using short derivedKey, empty salt, SHA-1, with empty info with missing deriveKey usage assert_equals: deriveKey with missing deriveKey usage correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: HMAC hash: SHA-1 length: 256  using short derivedKey, empty salt, SHA-1, with empty info with wrong (ECDH) key assert_equals: deriveKey with wrong (ECDH) key correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: HMAC hash: SHA-256 length: 256  using short derivedKey, empty salt, SHA-1, with empty info assert_unreached: deriveKey failed with error NotSupportedError: The operation is not supported. Reached unreachable code
+PASS Derived key of type name: HMAC hash: SHA-256 length: 256  using short derivedKey, empty salt, SHA-1, with empty info with bad hash name SHA1 
+FAIL Derived key of type name: HMAC hash: SHA-256 length: 256  using short derivedKey, empty salt, SHA-1, with empty info with missing deriveKey usage assert_equals: deriveKey with missing deriveKey usage correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: HMAC hash: SHA-256 length: 256  using short derivedKey, empty salt, SHA-1, with empty info with wrong (ECDH) key assert_equals: deriveKey with wrong (ECDH) key correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: HMAC hash: SHA-384 length: 256  using short derivedKey, empty salt, SHA-1, with empty info assert_unreached: deriveKey failed with error NotSupportedError: The operation is not supported. Reached unreachable code
+PASS Derived key of type name: HMAC hash: SHA-384 length: 256  using short derivedKey, empty salt, SHA-1, with empty info with bad hash name SHA1 
+FAIL Derived key of type name: HMAC hash: SHA-384 length: 256  using short derivedKey, empty salt, SHA-1, with empty info with missing deriveKey usage assert_equals: deriveKey with missing deriveKey usage correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: HMAC hash: SHA-384 length: 256  using short derivedKey, empty salt, SHA-1, with empty info with wrong (ECDH) key assert_equals: deriveKey with wrong (ECDH) key correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: HMAC hash: SHA-512 length: 256  using short derivedKey, empty salt, SHA-1, with empty info assert_unreached: deriveKey failed with error NotSupportedError: The operation is not supported. Reached unreachable code
+PASS Derived key of type name: HMAC hash: SHA-512 length: 256  using short derivedKey, empty salt, SHA-1, with empty info with bad hash name SHA1 
+FAIL Derived key of type name: HMAC hash: SHA-512 length: 256  using short derivedKey, empty salt, SHA-1, with empty info with missing deriveKey usage assert_equals: deriveKey with missing deriveKey usage correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: HMAC hash: SHA-512 length: 256  using short derivedKey, empty salt, SHA-1, with empty info with wrong (ECDH) key assert_equals: deriveKey with wrong (ECDH) key correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL short derivedKey, empty salt, SHA-1, with empty info with missing salt assert_equals: deriveBits missing salt correctly threw OperationError: The operation is not supported. expected "TypeError" but got "NotSupportedError"
+FAIL short derivedKey, empty salt, SHA-1, with empty info with missing info assert_equals: deriveBits missing info correctly threw OperationError: The operation is not supported. expected "TypeError" but got "NotSupportedError"
+FAIL short derivedKey, empty salt, SHA-1, with empty info with null length assert_equals: deriveBits with null length correctly threw OperationError: The operation is not supported. expected "TypeError" but got "NotSupportedError"
+FAIL short derivedKey, empty salt, SHA-1, with empty info with non-multiple of 8 length assert_equals: deriveBits with non-multiple of 8 length correctly threw OperationError: The operation is not supported. expected "OperationError" but got "NotSupportedError"
+PASS short derivedKey, empty salt, SHA-1, with empty info with bad hash name SHA1 
+FAIL short derivedKey, empty salt, SHA-1, with empty info with missing deriveBits usage assert_equals: deriveBits with missing deriveBits usage correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL short derivedKey, empty salt, SHA-1, with empty info with wrong (ECDH) key assert_equals: deriveBits with wrong (ECDH) key correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL short derivedKey, empty salt, SHA-256, with normal info assert_unreached: deriveBits failed with error NotSupportedError: The operation is not supported. Reached unreachable code
+FAIL short derivedKey, empty salt, SHA-256, with normal info with 0 length assert_equals: deriveBits with 0 length correctly threw OperationError: The operation is not supported. expected "OperationError" but got "NotSupportedError"
+FAIL Derived key of type name: AES-CBC length: 128  using short derivedKey, empty salt, SHA-256, with normal info assert_unreached: deriveKey failed with error NotSupportedError: The operation is not supported. Reached unreachable code
+PASS Derived key of type name: AES-CBC length: 128  using short derivedKey, empty salt, SHA-256, with normal info with bad hash name SHA256 
+FAIL Derived key of type name: AES-CBC length: 128  using short derivedKey, empty salt, SHA-256, with normal info with missing deriveKey usage assert_equals: deriveKey with missing deriveKey usage correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: AES-CBC length: 128  using short derivedKey, empty salt, SHA-256, with normal info with wrong (ECDH) key assert_equals: deriveKey with wrong (ECDH) key correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: AES-CBC length: 192  using short derivedKey, empty salt, SHA-256, with normal info assert_unreached: deriveKey failed with error NotSupportedError: The operation is not supported. Reached unreachable code
+PASS Derived key of type name: AES-CBC length: 192  using short derivedKey, empty salt, SHA-256, with normal info with bad hash name SHA256 
+FAIL Derived key of type name: AES-CBC length: 192  using short derivedKey, empty salt, SHA-256, with normal info with missing deriveKey usage assert_equals: deriveKey with missing deriveKey usage correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: AES-CBC length: 192  using short derivedKey, empty salt, SHA-256, with normal info with wrong (ECDH) key assert_equals: deriveKey with wrong (ECDH) key correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: AES-CBC length: 256  using short derivedKey, empty salt, SHA-256, with normal info assert_unreached: deriveKey failed with error NotSupportedError: The operation is not supported. Reached unreachable code
+PASS Derived key of type name: AES-CBC length: 256  using short derivedKey, empty salt, SHA-256, with normal info with bad hash name SHA256 
+FAIL Derived key of type name: AES-CBC length: 256  using short derivedKey, empty salt, SHA-256, with normal info with missing deriveKey usage assert_equals: deriveKey with missing deriveKey usage correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: AES-CBC length: 256  using short derivedKey, empty salt, SHA-256, with normal info with wrong (ECDH) key assert_equals: deriveKey with wrong (ECDH) key correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: AES-CTR length: 128  using short derivedKey, empty salt, SHA-256, with normal info assert_unreached: deriveKey failed with error NotSupportedError: The operation is not supported. Reached unreachable code
+PASS Derived key of type name: AES-CTR length: 128  using short derivedKey, empty salt, SHA-256, with normal info with bad hash name SHA256 
+FAIL Derived key of type name: AES-CTR length: 128  using short derivedKey, empty salt, SHA-256, with normal info with missing deriveKey usage assert_equals: deriveKey with missing deriveKey usage correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: AES-CTR length: 128  using short derivedKey, empty salt, SHA-256, with normal info with wrong (ECDH) key assert_equals: deriveKey with wrong (ECDH) key correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: AES-CTR length: 192  using short derivedKey, empty salt, SHA-256, with normal info assert_unreached: deriveKey failed with error NotSupportedError: The operation is not supported. Reached unreachable code
+PASS Derived key of type name: AES-CTR length: 192  using short derivedKey, empty salt, SHA-256, with normal info with bad hash name SHA256 
+FAIL Derived key of type name: AES-CTR length: 192  using short derivedKey, empty salt, SHA-256, with normal info with missing deriveKey usage assert_equals: deriveKey with missing deriveKey usage correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: AES-CTR length: 192  using short derivedKey, empty salt, SHA-256, with normal info with wrong (ECDH) key assert_equals: deriveKey with wrong (ECDH) key correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: AES-CTR length: 256  using short derivedKey, empty salt, SHA-256, with normal info assert_unreached: deriveKey failed with error NotSupportedError: The operation is not supported. Reached unreachable code
+PASS Derived key of type name: AES-CTR length: 256  using short derivedKey, empty salt, SHA-256, with normal info with bad hash name SHA256 
+FAIL Derived key of type name: AES-CTR length: 256  using short derivedKey, empty salt, SHA-256, with normal info with missing deriveKey usage assert_equals: deriveKey with missing deriveKey usage correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: AES-CTR length: 256  using short derivedKey, empty salt, SHA-256, with normal info with wrong (ECDH) key assert_equals: deriveKey with wrong (ECDH) key correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: AES-GCM length: 128  using short derivedKey, empty salt, SHA-256, with normal info assert_unreached: deriveKey failed with error NotSupportedError: The operation is not supported. Reached unreachable code
+PASS Derived key of type name: AES-GCM length: 128  using short derivedKey, empty salt, SHA-256, with normal info with bad hash name SHA256 
+FAIL Derived key of type name: AES-GCM length: 128  using short derivedKey, empty salt, SHA-256, with normal info with missing deriveKey usage assert_equals: deriveKey with missing deriveKey usage correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: AES-GCM length: 128  using short derivedKey, empty salt, SHA-256, with normal info with wrong (ECDH) key assert_equals: deriveKey with wrong (ECDH) key correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: AES-GCM length: 192  using short derivedKey, empty salt, SHA-256, with normal info assert_unreached: deriveKey failed with error NotSupportedError: The operation is not supported. Reached unreachable code
+PASS Derived key of type name: AES-GCM length: 192  using short derivedKey, empty salt, SHA-256, with normal info with bad hash name SHA256 
+FAIL Derived key of type name: AES-GCM length: 192  using short derivedKey, empty salt, SHA-256, with normal info with missing deriveKey usage assert_equals: deriveKey with missing deriveKey usage correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: AES-GCM length: 192  using short derivedKey, empty salt, SHA-256, with normal info with wrong (ECDH) key assert_equals: deriveKey with wrong (ECDH) key correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: AES-GCM length: 256  using short derivedKey, empty salt, SHA-256, with normal info assert_unreached: deriveKey failed with error NotSupportedError: The operation is not supported. Reached unreachable code
+PASS Derived key of type name: AES-GCM length: 256  using short derivedKey, empty salt, SHA-256, with normal info with bad hash name SHA256 
+FAIL Derived key of type name: AES-GCM length: 256  using short derivedKey, empty salt, SHA-256, with normal info with missing deriveKey usage assert_equals: deriveKey with missing deriveKey usage correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: AES-GCM length: 256  using short derivedKey, empty salt, SHA-256, with normal info with wrong (ECDH) key assert_equals: deriveKey with wrong (ECDH) key correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: AES-KW length: 128  using short derivedKey, empty salt, SHA-256, with normal info assert_unreached: deriveKey failed with error NotSupportedError: The operation is not supported. Reached unreachable code
+PASS Derived key of type name: AES-KW length: 128  using short derivedKey, empty salt, SHA-256, with normal info with bad hash name SHA256 
+FAIL Derived key of type name: AES-KW length: 128  using short derivedKey, empty salt, SHA-256, with normal info with missing deriveKey usage assert_equals: deriveKey with missing deriveKey usage correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: AES-KW length: 128  using short derivedKey, empty salt, SHA-256, with normal info with wrong (ECDH) key assert_equals: deriveKey with wrong (ECDH) key correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: AES-KW length: 192  using short derivedKey, empty salt, SHA-256, with normal info assert_unreached: deriveKey failed with error NotSupportedError: The operation is not supported. Reached unreachable code
+PASS Derived key of type name: AES-KW length: 192  using short derivedKey, empty salt, SHA-256, with normal info with bad hash name SHA256 
+FAIL Derived key of type name: AES-KW length: 192  using short derivedKey, empty salt, SHA-256, with normal info with missing deriveKey usage assert_equals: deriveKey with missing deriveKey usage correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: AES-KW length: 192  using short derivedKey, empty salt, SHA-256, with normal info with wrong (ECDH) key assert_equals: deriveKey with wrong (ECDH) key correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: AES-KW length: 256  using short derivedKey, empty salt, SHA-256, with normal info assert_unreached: deriveKey failed with error NotSupportedError: The operation is not supported. Reached unreachable code
+PASS Derived key of type name: AES-KW length: 256  using short derivedKey, empty salt, SHA-256, with normal info with bad hash name SHA256 
+FAIL Derived key of type name: AES-KW length: 256  using short derivedKey, empty salt, SHA-256, with normal info with missing deriveKey usage assert_equals: deriveKey with missing deriveKey usage correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: AES-KW length: 256  using short derivedKey, empty salt, SHA-256, with normal info with wrong (ECDH) key assert_equals: deriveKey with wrong (ECDH) key correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: HMAC hash: SHA-1 length: 256  using short derivedKey, empty salt, SHA-256, with normal info assert_unreached: deriveKey failed with error NotSupportedError: The operation is not supported. Reached unreachable code
+PASS Derived key of type name: HMAC hash: SHA-1 length: 256  using short derivedKey, empty salt, SHA-256, with normal info with bad hash name SHA256 
+FAIL Derived key of type name: HMAC hash: SHA-1 length: 256  using short derivedKey, empty salt, SHA-256, with normal info with missing deriveKey usage assert_equals: deriveKey with missing deriveKey usage correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: HMAC hash: SHA-1 length: 256  using short derivedKey, empty salt, SHA-256, with normal info with wrong (ECDH) key assert_equals: deriveKey with wrong (ECDH) key correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: HMAC hash: SHA-256 length: 256  using short derivedKey, empty salt, SHA-256, with normal info assert_unreached: deriveKey failed with error NotSupportedError: The operation is not supported. Reached unreachable code
+PASS Derived key of type name: HMAC hash: SHA-256 length: 256  using short derivedKey, empty salt, SHA-256, with normal info with bad hash name SHA256 
+FAIL Derived key of type name: HMAC hash: SHA-256 length: 256  using short derivedKey, empty salt, SHA-256, with normal info with missing deriveKey usage assert_equals: deriveKey with missing deriveKey usage correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: HMAC hash: SHA-256 length: 256  using short derivedKey, empty salt, SHA-256, with normal info with wrong (ECDH) key assert_equals: deriveKey with wrong (ECDH) key correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: HMAC hash: SHA-384 length: 256  using short derivedKey, empty salt, SHA-256, with normal info assert_unreached: deriveKey failed with error NotSupportedError: The operation is not supported. Reached unreachable code
+PASS Derived key of type name: HMAC hash: SHA-384 length: 256  using short derivedKey, empty salt, SHA-256, with normal info with bad hash name SHA256 
+FAIL Derived key of type name: HMAC hash: SHA-384 length: 256  using short derivedKey, empty salt, SHA-256, with normal info with missing deriveKey usage assert_equals: deriveKey with missing deriveKey usage correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: HMAC hash: SHA-384 length: 256  using short derivedKey, empty salt, SHA-256, with normal info with wrong (ECDH) key assert_equals: deriveKey with wrong (ECDH) key correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: HMAC hash: SHA-512 length: 256  using short derivedKey, empty salt, SHA-256, with normal info assert_unreached: deriveKey failed with error NotSupportedError: The operation is not supported. Reached unreachable code
+PASS Derived key of type name: HMAC hash: SHA-512 length: 256  using short derivedKey, empty salt, SHA-256, with normal info with bad hash name SHA256 
+FAIL Derived key of type name: HMAC hash: SHA-512 length: 256  using short derivedKey, empty salt, SHA-256, with normal info with missing deriveKey usage assert_equals: deriveKey with missing deriveKey usage correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: HMAC hash: SHA-512 length: 256  using short derivedKey, empty salt, SHA-256, with normal info with wrong (ECDH) key assert_equals: deriveKey with wrong (ECDH) key correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL short derivedKey, empty salt, SHA-256, with normal info with missing salt assert_equals: deriveBits missing salt correctly threw OperationError: The operation is not supported. expected "TypeError" but got "NotSupportedError"
+FAIL short derivedKey, empty salt, SHA-256, with normal info with missing info assert_equals: deriveBits missing info correctly threw OperationError: The operation is not supported. expected "TypeError" but got "NotSupportedError"
+FAIL short derivedKey, empty salt, SHA-256, with normal info with null length assert_equals: deriveBits with null length correctly threw OperationError: The operation is not supported. expected "TypeError" but got "NotSupportedError"
+FAIL short derivedKey, empty salt, SHA-256, with normal info with non-multiple of 8 length assert_equals: deriveBits with non-multiple of 8 length correctly threw OperationError: The operation is not supported. expected "OperationError" but got "NotSupportedError"
+PASS short derivedKey, empty salt, SHA-256, with normal info with bad hash name SHA256 
+FAIL short derivedKey, empty salt, SHA-256, with normal info with missing deriveBits usage assert_equals: deriveBits with missing deriveBits usage correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL short derivedKey, empty salt, SHA-256, with normal info with wrong (ECDH) key assert_equals: deriveBits with wrong (ECDH) key correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL short derivedKey, empty salt, SHA-256, with empty info assert_unreached: deriveBits failed with error NotSupportedError: The operation is not supported. Reached unreachable code
+FAIL short derivedKey, empty salt, SHA-256, with empty info with 0 length assert_equals: deriveBits with 0 length correctly threw OperationError: The operation is not supported. expected "OperationError" but got "NotSupportedError"
+FAIL Derived key of type name: AES-CBC length: 128  using short derivedKey, empty salt, SHA-256, with empty info assert_unreached: deriveKey failed with error NotSupportedError: The operation is not supported. Reached unreachable code
+PASS Derived key of type name: AES-CBC length: 128  using short derivedKey, empty salt, SHA-256, with empty info with bad hash name SHA256 
+FAIL Derived key of type name: AES-CBC length: 128  using short derivedKey, empty salt, SHA-256, with empty info with missing deriveKey usage assert_equals: deriveKey with missing deriveKey usage correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: AES-CBC length: 128  using short derivedKey, empty salt, SHA-256, with empty info with wrong (ECDH) key assert_equals: deriveKey with wrong (ECDH) key correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: AES-CBC length: 192  using short derivedKey, empty salt, SHA-256, with empty info assert_unreached: deriveKey failed with error NotSupportedError: The operation is not supported. Reached unreachable code
+PASS Derived key of type name: AES-CBC length: 192  using short derivedKey, empty salt, SHA-256, with empty info with bad hash name SHA256 
+FAIL Derived key of type name: AES-CBC length: 192  using short derivedKey, empty salt, SHA-256, with empty info with missing deriveKey usage assert_equals: deriveKey with missing deriveKey usage correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: AES-CBC length: 192  using short derivedKey, empty salt, SHA-256, with empty info with wrong (ECDH) key assert_equals: deriveKey with wrong (ECDH) key correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: AES-CBC length: 256  using short derivedKey, empty salt, SHA-256, with empty info assert_unreached: deriveKey failed with error NotSupportedError: The operation is not supported. Reached unreachable code
+PASS Derived key of type name: AES-CBC length: 256  using short derivedKey, empty salt, SHA-256, with empty info with bad hash name SHA256 
+FAIL Derived key of type name: AES-CBC length: 256  using short derivedKey, empty salt, SHA-256, with empty info with missing deriveKey usage assert_equals: deriveKey with missing deriveKey usage correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: AES-CBC length: 256  using short derivedKey, empty salt, SHA-256, with empty info with wrong (ECDH) key assert_equals: deriveKey with wrong (ECDH) key correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: AES-CTR length: 128  using short derivedKey, empty salt, SHA-256, with empty info assert_unreached: deriveKey failed with error NotSupportedError: The operation is not supported. Reached unreachable code
+PASS Derived key of type name: AES-CTR length: 128  using short derivedKey, empty salt, SHA-256, with empty info with bad hash name SHA256 
+FAIL Derived key of type name: AES-CTR length: 128  using short derivedKey, empty salt, SHA-256, with empty info with missing deriveKey usage assert_equals: deriveKey with missing deriveKey usage correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: AES-CTR length: 128  using short derivedKey, empty salt, SHA-256, with empty info with wrong (ECDH) key assert_equals: deriveKey with wrong (ECDH) key correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: AES-CTR length: 192  using short derivedKey, empty salt, SHA-256, with empty info assert_unreached: deriveKey failed with error NotSupportedError: The operation is not supported. Reached unreachable code
+PASS Derived key of type name: AES-CTR length: 192  using short derivedKey, empty salt, SHA-256, with empty info with bad hash name SHA256 
+FAIL Derived key of type name: AES-CTR length: 192  using short derivedKey, empty salt, SHA-256, with empty info with missing deriveKey usage assert_equals: deriveKey with missing deriveKey usage correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: AES-CTR length: 192  using short derivedKey, empty salt, SHA-256, with empty info with wrong (ECDH) key assert_equals: deriveKey with wrong (ECDH) key correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: AES-CTR length: 256  using short derivedKey, empty salt, SHA-256, with empty info assert_unreached: deriveKey failed with error NotSupportedError: The operation is not supported. Reached unreachable code
+PASS Derived key of type name: AES-CTR length: 256  using short derivedKey, empty salt, SHA-256, with empty info with bad hash name SHA256 
+FAIL Derived key of type name: AES-CTR length: 256  using short derivedKey, empty salt, SHA-256, with empty info with missing deriveKey usage assert_equals: deriveKey with missing deriveKey usage correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: AES-CTR length: 256  using short derivedKey, empty salt, SHA-256, with empty info with wrong (ECDH) key assert_equals: deriveKey with wrong (ECDH) key correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: AES-GCM length: 128  using short derivedKey, empty salt, SHA-256, with empty info assert_unreached: deriveKey failed with error NotSupportedError: The operation is not supported. Reached unreachable code
+PASS Derived key of type name: AES-GCM length: 128  using short derivedKey, empty salt, SHA-256, with empty info with bad hash name SHA256 
+FAIL Derived key of type name: AES-GCM length: 128  using short derivedKey, empty salt, SHA-256, with empty info with missing deriveKey usage assert_equals: deriveKey with missing deriveKey usage correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: AES-GCM length: 128  using short derivedKey, empty salt, SHA-256, with empty info with wrong (ECDH) key assert_equals: deriveKey with wrong (ECDH) key correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: AES-GCM length: 192  using short derivedKey, empty salt, SHA-256, with empty info assert_unreached: deriveKey failed with error NotSupportedError: The operation is not supported. Reached unreachable code
+PASS Derived key of type name: AES-GCM length: 192  using short derivedKey, empty salt, SHA-256, with empty info with bad hash name SHA256 
+FAIL Derived key of type name: AES-GCM length: 192  using short derivedKey, empty salt, SHA-256, with empty info with missing deriveKey usage assert_equals: deriveKey with missing deriveKey usage correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: AES-GCM length: 192  using short derivedKey, empty salt, SHA-256, with empty info with wrong (ECDH) key assert_equals: deriveKey with wrong (ECDH) key correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: AES-GCM length: 256  using short derivedKey, empty salt, SHA-256, with empty info assert_unreached: deriveKey failed with error NotSupportedError: The operation is not supported. Reached unreachable code
+PASS Derived key of type name: AES-GCM length: 256  using short derivedKey, empty salt, SHA-256, with empty info with bad hash name SHA256 
+FAIL Derived key of type name: AES-GCM length: 256  using short derivedKey, empty salt, SHA-256, with empty info with missing deriveKey usage assert_equals: deriveKey with missing deriveKey usage correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: AES-GCM length: 256  using short derivedKey, empty salt, SHA-256, with empty info with wrong (ECDH) key assert_equals: deriveKey with wrong (ECDH) key correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: AES-KW length: 128  using short derivedKey, empty salt, SHA-256, with empty info assert_unreached: deriveKey failed with error NotSupportedError: The operation is not supported. Reached unreachable code
+PASS Derived key of type name: AES-KW length: 128  using short derivedKey, empty salt, SHA-256, with empty info with bad hash name SHA256 
+FAIL Derived key of type name: AES-KW length: 128  using short derivedKey, empty salt, SHA-256, with empty info with missing deriveKey usage assert_equals: deriveKey with missing deriveKey usage correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: AES-KW length: 128  using short derivedKey, empty salt, SHA-256, with empty info with wrong (ECDH) key assert_equals: deriveKey with wrong (ECDH) key correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: AES-KW length: 192  using short derivedKey, empty salt, SHA-256, with empty info assert_unreached: deriveKey failed with error NotSupportedError: The operation is not supported. Reached unreachable code
+PASS Derived key of type name: AES-KW length: 192  using short derivedKey, empty salt, SHA-256, with empty info with bad hash name SHA256 
+FAIL Derived key of type name: AES-KW length: 192  using short derivedKey, empty salt, SHA-256, with empty info with missing deriveKey usage assert_equals: deriveKey with missing deriveKey usage correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: AES-KW length: 192  using short derivedKey, empty salt, SHA-256, with empty info with wrong (ECDH) key assert_equals: deriveKey with wrong (ECDH) key correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: AES-KW length: 256  using short derivedKey, empty salt, SHA-256, with empty info assert_unreached: deriveKey failed with error NotSupportedError: The operation is not supported. Reached unreachable code
+PASS Derived key of type name: AES-KW length: 256  using short derivedKey, empty salt, SHA-256, with empty info with bad hash name SHA256 
+FAIL Derived key of type name: AES-KW length: 256  using short derivedKey, empty salt, SHA-256, with empty info with missing deriveKey usage assert_equals: deriveKey with missing deriveKey usage correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: AES-KW length: 256  using short derivedKey, empty salt, SHA-256, with empty info with wrong (ECDH) key assert_equals: deriveKey with wrong (ECDH) key correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: HMAC hash: SHA-1 length: 256  using short derivedKey, empty salt, SHA-256, with empty info assert_unreached: deriveKey failed with error NotSupportedError: The operation is not supported. Reached unreachable code
+PASS Derived key of type name: HMAC hash: SHA-1 length: 256  using short derivedKey, empty salt, SHA-256, with empty info with bad hash name SHA256 
+FAIL Derived key of type name: HMAC hash: SHA-1 length: 256  using short derivedKey, empty salt, SHA-256, with empty info with missing deriveKey usage assert_equals: deriveKey with missing deriveKey usage correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: HMAC hash: SHA-1 length: 256  using short derivedKey, empty salt, SHA-256, with empty info with wrong (ECDH) key assert_equals: deriveKey with wrong (ECDH) key correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: HMAC hash: SHA-256 length: 256  using short derivedKey, empty salt, SHA-256, with empty info assert_unreached: deriveKey failed with error NotSupportedError: The operation is not supported. Reached unreachable code
+PASS Derived key of type name: HMAC hash: SHA-256 length: 256  using short derivedKey, empty salt, SHA-256, with empty info with bad hash name SHA256 
+FAIL Derived key of type name: HMAC hash: SHA-256 length: 256  using short derivedKey, empty salt, SHA-256, with empty info with missing deriveKey usage assert_equals: deriveKey with missing deriveKey usage correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: HMAC hash: SHA-256 length: 256  using short derivedKey, empty salt, SHA-256, with empty info with wrong (ECDH) key assert_equals: deriveKey with wrong (ECDH) key correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: HMAC hash: SHA-384 length: 256  using short derivedKey, empty salt, SHA-256, with empty info assert_unreached: deriveKey failed with error NotSupportedError: The operation is not supported. Reached unreachable code
+PASS Derived key of type name: HMAC hash: SHA-384 length: 256  using short derivedKey, empty salt, SHA-256, with empty info with bad hash name SHA256 
+FAIL Derived key of type name: HMAC hash: SHA-384 length: 256  using short derivedKey, empty salt, SHA-256, with empty info with missing deriveKey usage assert_equals: deriveKey with missing deriveKey usage correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: HMAC hash: SHA-384 length: 256  using short derivedKey, empty salt, SHA-256, with empty info with wrong (ECDH) key assert_equals: deriveKey with wrong (ECDH) key correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: HMAC hash: SHA-512 length: 256  using short derivedKey, empty salt, SHA-256, with empty info assert_unreached: deriveKey failed with error NotSupportedError: The operation is not supported. Reached unreachable code
+PASS Derived key of type name: HMAC hash: SHA-512 length: 256  using short derivedKey, empty salt, SHA-256, with empty info with bad hash name SHA256 
+FAIL Derived key of type name: HMAC hash: SHA-512 length: 256  using short derivedKey, empty salt, SHA-256, with empty info with missing deriveKey usage assert_equals: deriveKey with missing deriveKey usage correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL Derived key of type name: HMAC hash: SHA-512 length: 256  using short derivedKey, empty salt, SHA-256, with empty info with wrong (ECDH) key assert_equals: deriveKey with wrong (ECDH) key correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL short derivedKey, empty salt, SHA-256, with empty info with missing salt assert_equals: deriveBits missing salt correctly threw OperationError: The operation is not supported. expected "TypeError" but got "NotSupportedError"
+FAIL short derivedKey, empty salt, SHA-256, with empty info with missing info assert_equals: deriveBits missing info correctly threw OperationError: The operation is not supported. expected "TypeError" but got "NotSupportedError"
+FAIL short derivedKey, empty salt, SHA-256, with empty info with null length assert_equals: deriveBits with null length correctly threw OperationError: The operation is not supported. expected "TypeError" but got "NotSupportedError"
+FAIL short derivedKey, empty salt, SHA-256, with empty info with non-multiple of 8 length assert_equals: deriveBits with non-multiple of 8 length correctly threw OperationError: The operation is not supported. expected "OperationError" but got "NotSupportedError"
+PASS short derivedKey, empty salt, SHA-256, with empty info with bad hash name SHA256 
+FAIL short derivedKey, empty salt, SHA-256, with empty info with missing deriveBits usage assert_equals: deriveBits with missing deriveBits usage correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+FAIL short derivedKey, empty salt, SHA-256, with empty info with wrong (ECDH) key assert_equals: deriveBits with wrong (ECDH) key correctly threw InvalidAccessError: The operation is not supported. expected "InvalidAccessError" but got "NotSupportedError"
+PASS short derivedKey, empty salt, PBKDF2, with normal info with non-digest algorithm PBKDF2 
+PASS Derived key of type name: AES-CBC length: 128  using short derivedKey, empty salt, PBKDF2, with normal info 
+PASS Derived key of type name: AES-CBC length: 192  using short derivedKey, empty salt, PBKDF2, with normal info 
+PASS Derived key of type name: AES-CBC length: 256  using short derivedKey, empty salt, PBKDF2, with normal info 
+PASS Derived key of type name: AES-CTR length: 128  using short derivedKey, empty salt, PBKDF2, with normal info 
+PASS Derived key of type name: AES-CTR length: 192  using short derivedKey, empty salt, PBKDF2, with normal info 
+PASS Derived key of type name: AES-CTR length: 256  using short derivedKey, empty salt, PBKDF2, with normal info 
+PASS Derived key of type name: AES-GCM length: 128  using short derivedKey, empty salt, PBKDF2, with normal info 
+PASS Derived key of type name: AES-GCM length: 192  using short derivedKey, empty salt,