DOMException should not have its own toString()
authorcdumez@apple.com <cdumez@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Wed, 19 Jul 2017 20:24:15 +0000 (20:24 +0000)
committercdumez@apple.com <cdumez@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Wed, 19 Jul 2017 20:24:15 +0000 (20:24 +0000)
https://bugs.webkit.org/show_bug.cgi?id=174630

Reviewed by Sam Weinig.

LayoutTests/imported/w3c:

Rebaseline existing tests now that more checks are passing.

* web-platform-tests/WebIDL/ecmascript-binding/es-exceptions/DOMException-custom-bindings.any-expected.txt:
* web-platform-tests/WebIDL/ecmascript-binding/es-exceptions/DOMException-custom-bindings.any.worker-expected.txt:

Source/WebCore:

DOMException should not have its own toString() and should use the one from Error.prototype.toString()
instead:
- https://heycam.github.io/webidl/#idl-DOMException

No new tests, rebaselined existing tests.

* dom/DOMCoreException.idl:

LayoutTests:

Rebaseline existing tests as the exception string is now slightly different.

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

537 files changed:
LayoutTests/ChangeLog
LayoutTests/crypto/crypto-random-values-limits-expected.txt
LayoutTests/crypto/crypto-random-values-types-expected.txt
LayoutTests/crypto/subtle/aes-cbc-cfb-decrypt-malformed-parameters-expected.txt
LayoutTests/crypto/subtle/aes-cbc-cfb-encrypt-malformed-parameters-expected.txt
LayoutTests/crypto/subtle/aes-ctr-encrypt-malformed-parameters-expected.txt
LayoutTests/crypto/subtle/aes-export-key-malformed-parameters-expected.txt
LayoutTests/crypto/subtle/aes-gcm-decrypt-malformed-parameters-expected.txt
LayoutTests/crypto/subtle/aes-gcm-encrypt-malformed-parameters-expected.txt
LayoutTests/crypto/subtle/aes-generate-key-malformed-parameters-expected.txt
LayoutTests/crypto/subtle/aes-import-key-malformed-parameters-expected.txt
LayoutTests/crypto/subtle/aes-kw-wrap-key-malformed-parameters-expected.txt
LayoutTests/crypto/subtle/decrypt-malformed-parameters-expected.txt
LayoutTests/crypto/subtle/derive-bits-malformed-parameters-expected.txt
LayoutTests/crypto/subtle/derive-key-malformed-parameters-expected.txt
LayoutTests/crypto/subtle/ec-export-key-malformed-parameters-expected.txt
LayoutTests/crypto/subtle/ec-generate-key-malformed-parameters-expected.txt
LayoutTests/crypto/subtle/ec-import-key-malformed-parameters-expected.txt
LayoutTests/crypto/subtle/ecdh-derive-bits-length-limits-expected.txt
LayoutTests/crypto/subtle/ecdh-derive-bits-malformed-parametrs-expected.txt
LayoutTests/crypto/subtle/encrypt-malformed-parameters-expected.txt
LayoutTests/crypto/subtle/export-key-malformed-parameters-expected.txt
LayoutTests/crypto/subtle/generate-key-malformed-parameters-expected.txt
LayoutTests/crypto/subtle/hkdf-derive-bits-length-limits-expected.txt
LayoutTests/crypto/subtle/hkdf-derive-bits-malformed-parametrs-expected.txt
LayoutTests/crypto/subtle/hkdf-import-key-malformed-parameters-expected.txt
LayoutTests/crypto/subtle/hmac-export-key-malformed-parameters-expected.txt
LayoutTests/crypto/subtle/hmac-generate-key-malformed-parameters-expected.txt
LayoutTests/crypto/subtle/hmac-import-key-malformed-parameters-expected.txt
LayoutTests/crypto/subtle/import-key-malformed-parameters-expected.txt
LayoutTests/crypto/subtle/pbkdf2-derive-bits-malformed-parametrs-expected.txt
LayoutTests/crypto/subtle/pbkdf2-import-key-malformed-parameters-expected.txt
LayoutTests/crypto/subtle/rsa-export-key-malformed-parameters-expected.txt
LayoutTests/crypto/subtle/rsa-generate-key-malformed-parameters-expected.txt
LayoutTests/crypto/subtle/rsa-import-key-malformed-parameters-expected.txt
LayoutTests/crypto/subtle/rsa-oaep-decrypt-malformed-parameters-expected.txt
LayoutTests/crypto/subtle/rsa-pss-import-key-sign-large-salt-expected.txt
LayoutTests/crypto/subtle/sign-malformed-parameters-expected.txt
LayoutTests/crypto/subtle/unwrap-key-malformed-parameters-expected.txt
LayoutTests/crypto/subtle/verify-malformed-parameters-expected.txt
LayoutTests/crypto/subtle/wrap-key-malformed-parameters-expected.txt
LayoutTests/crypto/webkitSubtle/aes-cbc-wrong-key-class-expected.txt
LayoutTests/crypto/webkitSubtle/aes-kw-key-manipulation-expected.txt
LayoutTests/crypto/webkitSubtle/argument-conversion-expected.txt
LayoutTests/crypto/webkitSubtle/disallowed-in-worker-expected.txt
LayoutTests/crypto/webkitSubtle/hmac-check-algorithm-expected.txt
LayoutTests/crypto/webkitSubtle/hmac-generate-key-expected.txt
LayoutTests/crypto/webkitSubtle/resources/disallowed-in-worker.js
LayoutTests/crypto/webkitSubtle/rsa-oaep-key-manipulation-expected.txt
LayoutTests/crypto/webkitSubtle/sha-1-expected.txt
LayoutTests/crypto/webkitSubtle/unwrapKey-check-usage-expected.txt
LayoutTests/crypto/webkitSubtle/wrapKey-check-usage-expected.txt
LayoutTests/crypto/workers/crypto-random-values-limits-worker-expected.txt
LayoutTests/crypto/workers/crypto-random-values-types-worker-expected.txt
LayoutTests/crypto/workers/subtle/aes-generate-export-key-raw-expected.txt
LayoutTests/crypto/workers/subtle/aes-generate-key-expected.txt
LayoutTests/crypto/workers/subtle/aes-import-jwk-key-expected.txt
LayoutTests/crypto/workers/subtle/aes-import-raw-key-expected.txt
LayoutTests/crypto/workers/subtle/aes-kw-import-key-wrap-key-expected.txt
LayoutTests/crypto/workers/subtle/hmac-generate-export-key-raw-expected.txt
LayoutTests/crypto/workers/subtle/hmac-generate-key-expected.txt
LayoutTests/crypto/workers/subtle/hmac-import-jwk-key-expected.txt
LayoutTests/crypto/workers/subtle/hmac-import-raw-key-expected.txt
LayoutTests/crypto/workers/subtle/rsa-generate-export-key-jwk-expected.txt
LayoutTests/crypto/workers/subtle/rsa-generate-key-expected.txt
LayoutTests/crypto/workers/subtle/rsa-import-jwk-public-key-expected.txt
LayoutTests/crypto/workers/subtle/rsa-import-spki-key-expected.txt
LayoutTests/css3/supports-cssom-expected.txt
LayoutTests/editing/selection/extend-expected.txt
LayoutTests/fast/canvas/canvas-createImageData-expected.txt
LayoutTests/fast/canvas/canvas-createImageData.html
LayoutTests/fast/canvas/canvas-ellipse-negative-radius-expected.txt
LayoutTests/fast/canvas/canvas-getImageData-invalid-expected.txt
LayoutTests/fast/canvas/canvas-getImageData-invalid.html
LayoutTests/fast/canvas/canvas-gradient-addStop-error-expected.txt
LayoutTests/fast/canvas/canvas-imageData-expected.txt
LayoutTests/fast/canvas/canvas-overloads-drawImage-expected.txt
LayoutTests/fast/canvas/canvas-overloads-drawImage.html
LayoutTests/fast/canvas/canvas-pattern-behaviour-expected.txt
LayoutTests/fast/canvas/gradient-addColorStop-with-invalid-color-expected.txt
LayoutTests/fast/canvas/gradient-addColorStop-with-invalid-color.html
LayoutTests/fast/css/CSSPrimitiveValue-exceptions-expected.txt
LayoutTests/fast/css/css3-nth-tokens-script-expected.txt
LayoutTests/fast/css/css3-nth-tokens-script.html
LayoutTests/fast/css/getFloatValueForUnit-expected.txt
LayoutTests/fast/css/getFloatValueForUnit.html
LayoutTests/fast/css/insert-rule-overflow-rule-data-expected.txt
LayoutTests/fast/css/parsing-css-attribute-case-insensitive-value-3-expected.txt
LayoutTests/fast/css/parsing-css-attribute-case-insensitive-value-3.html
LayoutTests/fast/css/parsing-css-descendant-combinator-doubled-child-syntax-expected.txt
LayoutTests/fast/css/parsing-css-descendant-combinator-doubled-child-syntax.html
LayoutTests/fast/css/parsing-css-matches-5-expected.txt
LayoutTests/fast/css/parsing-css-matches-5.html
LayoutTests/fast/css/parsing-css-matches-6-expected.txt
LayoutTests/fast/css/parsing-css-matches-6.html
LayoutTests/fast/css/parsing-css-matches-7-expected.txt
LayoutTests/fast/css/parsing-css-matches-7.html
LayoutTests/fast/css/parsing-css-matches-8-expected.txt
LayoutTests/fast/css/parsing-css-matches-8.html
LayoutTests/fast/css/parsing-css-not-5-expected.txt
LayoutTests/fast/css/parsing-css-not-5.html
LayoutTests/fast/css/parsing-css-not-6-expected.txt
LayoutTests/fast/css/parsing-css-not-6.html
LayoutTests/fast/css/parsing-css-not-7-expected.txt
LayoutTests/fast/css/parsing-css-not-7.html
LayoutTests/fast/css/parsing-css-not-8-expected.txt
LayoutTests/fast/css/parsing-css-not-8.html
LayoutTests/fast/css/parsing-css-not-9-expected.txt
LayoutTests/fast/css/parsing-css-not-9.html
LayoutTests/fast/css/parsing-css-nth-child-of-3-expected.txt
LayoutTests/fast/css/parsing-css-nth-child-of-3.html
LayoutTests/fast/css/parsing-css-nth-child-of-4-expected.txt
LayoutTests/fast/css/parsing-css-nth-child-of-4.html
LayoutTests/fast/css/parsing-css-nth-last-child-of-3-expected.txt
LayoutTests/fast/css/parsing-css-nth-last-child-of-3.html
LayoutTests/fast/css/parsing-css-nth-last-child-of-4-expected.txt
LayoutTests/fast/css/parsing-css-nth-last-child-of-4.html
LayoutTests/fast/css/resources/CSSPrimitiveValue-exceptions.js
LayoutTests/fast/dom/Attr/cannot-have-children-expected.txt
LayoutTests/fast/dom/Attr/only-attach-attr-once-expected.txt
LayoutTests/fast/dom/Attr/only-attach-attr-once.html
LayoutTests/fast/dom/DOMException/prototype-object-expected.txt
LayoutTests/fast/dom/DOMException/prototype-object.html
LayoutTests/fast/dom/Document/createElement-invalid-names-expected.txt
LayoutTests/fast/dom/Document/createElement-invalid-names.html
LayoutTests/fast/dom/Document/invalid-domain-change-throws-exception-expected.txt
LayoutTests/fast/dom/Document/invalid-domain-change-throws-exception.html
LayoutTests/fast/dom/Document/replace-child-expected.txt
LayoutTests/fast/dom/Element/class-list-toggle-expected.txt
LayoutTests/fast/dom/Element/class-list-toggle.html
LayoutTests/fast/dom/HTMLElement/insertAdjacentHTML-errors-expected.txt
LayoutTests/fast/dom/HTMLElement/insertAdjacentHTML-errors.html
LayoutTests/fast/dom/HTMLElement/set-invalid-value-expected.txt
LayoutTests/fast/dom/HTMLElement/set-invalid-value.html
LayoutTests/fast/dom/HTMLInputElement/input-size-attribute-expected.txt
LayoutTests/fast/dom/HTMLInputElement/input-size-attribute.html
LayoutTests/fast/dom/HTMLSelectElement/options-collection-add-expected.txt
LayoutTests/fast/dom/HTMLSelectElement/select-add-optgroup-expected.txt
LayoutTests/fast/dom/HTMLTableElement/nullable-attributes-expected.txt
LayoutTests/fast/dom/HTMLTableElement/nullable-attributes.html
LayoutTests/fast/dom/HTMLTemplateElement/cycles-expected.txt
LayoutTests/fast/dom/Node/initial-values-expected.txt
LayoutTests/fast/dom/Node/replaceChild-notFoundError-expected.txt
LayoutTests/fast/dom/ParentNode-append-expected.txt
LayoutTests/fast/dom/ParentNode-prepend-expected.txt
LayoutTests/fast/dom/Range/31684-expected.txt
LayoutTests/fast/dom/Range/31684.html
LayoutTests/fast/dom/Range/clone-contents-document-type-expected.txt
LayoutTests/fast/dom/Range/clone-contents-document-type.html
LayoutTests/fast/dom/Range/compareBoundaryPoints-1.html
LayoutTests/fast/dom/Range/compareBoundaryPoints-compareHow-exception-expected.txt
LayoutTests/fast/dom/Range/compareBoundaryPoints-compareHow-exception.html
LayoutTests/fast/dom/Range/extract-contents-document-type-expected.txt
LayoutTests/fast/dom/Range/extract-contents-document-type.html
LayoutTests/fast/dom/Range/range-comparePoint-detached-nodes-expected.txt
LayoutTests/fast/dom/Range/range-comparePoint-detached-nodes.html
LayoutTests/fast/dom/Range/range-exceptions-expected.txt
LayoutTests/fast/dom/Range/range-exceptions.html
LayoutTests/fast/dom/Range/range-intersectsNode-expected.txt
LayoutTests/fast/dom/Range/surroundContents-1-expected.txt
LayoutTests/fast/dom/Selection/collapseToX-empty-selection-expected.txt
LayoutTests/fast/dom/Selection/collapseToX-empty-selection.html
LayoutTests/fast/dom/SelectorAPI/dumpNodeList-almost-strict-expected.txt
LayoutTests/fast/dom/SelectorAPI/dumpNodeList-expected.txt
LayoutTests/fast/dom/SelectorAPI/not-supported-namespace-in-selector-expected.txt
LayoutTests/fast/dom/Text/splitText-expected.txt
LayoutTests/fast/dom/Text/splitText.html
LayoutTests/fast/dom/Window/anonymous-slot-with-changes-expected.txt
LayoutTests/fast/dom/Window/atob-btoa-expected.txt
LayoutTests/fast/dom/Window/custom-constructors-expected.txt
LayoutTests/fast/dom/Window/dispatchEvent-expected.txt
LayoutTests/fast/dom/Window/invalid-protocol-expected.txt
LayoutTests/fast/dom/Window/window-postmessage-clone-expected.txt
LayoutTests/fast/dom/computed-style-set-property-expected.txt
LayoutTests/fast/dom/createElementNS-namespace-errors-expected.txt
LayoutTests/fast/dom/createElementNS-namespace-errors.html
LayoutTests/fast/dom/css-mediarule-functions-expected.txt
LayoutTests/fast/dom/dataset-expected.txt
LayoutTests/fast/dom/dataset-xhtml-expected.txt
LayoutTests/fast/dom/dataset-xhtml.xhtml
LayoutTests/fast/dom/dataset.html
LayoutTests/fast/dom/document-set-body-null-expected.txt
LayoutTests/fast/dom/document-set-body-null.html
LayoutTests/fast/dom/element-attribute-js-null-expected.txt
LayoutTests/fast/dom/outerText-no-element-expected.txt
LayoutTests/fast/dom/processing-instruction-appendChild-exceptions-expected.txt
LayoutTests/fast/dom/processing-instruction-appendChild-exceptions.xhtml
LayoutTests/fast/dom/rel-list-expected.txt
LayoutTests/fast/dom/setAttributeNS-namespace-errors-expected.txt
LayoutTests/fast/dom/setAttributeNS-namespace-errors.html
LayoutTests/fast/dom/setPrimitiveValue-exceptions-expected.txt
LayoutTests/fast/dynamic/insertAdjacentElement-expected.txt
LayoutTests/fast/dynamic/insertAdjacentHTML-expected.txt
LayoutTests/fast/dynamic/insertAdjacentText-expected.txt
LayoutTests/fast/dynamic/outerHTML-no-element-expected.txt
LayoutTests/fast/events/dispatch-event-being-dispatched-expected.txt
LayoutTests/fast/events/dispatch-event-being-dispatched.html
LayoutTests/fast/events/message-port-clone-expected.txt
LayoutTests/fast/events/message-port-multi-expected.txt
LayoutTests/fast/events/mutation-during-append-child-expected.txt
LayoutTests/fast/events/mutation-during-append-child.html
LayoutTests/fast/events/mutation-during-insert-before-expected.txt
LayoutTests/fast/events/mutation-during-insert-before.html
LayoutTests/fast/events/mutation-during-replace-child-2-expected.txt
LayoutTests/fast/events/mutation-during-replace-child-2.html
LayoutTests/fast/events/mutation-during-replace-child-expected.txt
LayoutTests/fast/events/mutation-during-replace-child.html
LayoutTests/fast/eventsource/eventsource-constructor-expected.txt
LayoutTests/fast/forms/color/color-setrangetext-expected.txt
LayoutTests/fast/forms/date/date-setrangetext-expected.txt
LayoutTests/fast/forms/date/date-stepup-stepdown-expected.txt
LayoutTests/fast/forms/date/date-stepup-stepdown.html
LayoutTests/fast/forms/date/input-valueasnumber-date-expected.txt
LayoutTests/fast/forms/date/input-valueasnumber-date.html
LayoutTests/fast/forms/datetimelocal/datetimelocal-setrangetext-expected.txt
LayoutTests/fast/forms/datetimelocal/datetimelocal-stepup-stepdown-expected.txt
LayoutTests/fast/forms/datetimelocal/datetimelocal-stepup-stepdown.html
LayoutTests/fast/forms/datetimelocal/input-valueasnumber-datetimelocal-expected.txt
LayoutTests/fast/forms/datetimelocal/input-valueasnumber-datetimelocal.html
LayoutTests/fast/forms/file/file-setrangetext-expected.txt
LayoutTests/fast/forms/file/input-file-value-expected.txt
LayoutTests/fast/forms/file/input-file-value-using-open-panel-expected.txt
LayoutTests/fast/forms/hidden/hidden-setrangetext-expected.txt
LayoutTests/fast/forms/image/image-setrangetext-expected.txt
LayoutTests/fast/forms/input-maxlength-expected.txt
LayoutTests/fast/forms/input-maxlength.html
LayoutTests/fast/forms/input-stepup-stepdown-expected.txt
LayoutTests/fast/forms/input-stepup-stepdown.html
LayoutTests/fast/forms/input-valueasnumber-unsupported-expected.txt
LayoutTests/fast/forms/input-valueasnumber-unsupported.html
LayoutTests/fast/forms/month/input-valueasdate-expected.txt
LayoutTests/fast/forms/month/input-valueasdate.html
LayoutTests/fast/forms/month/input-valueasnumber-month-expected.txt
LayoutTests/fast/forms/month/input-valueasnumber-month.html
LayoutTests/fast/forms/month/month-setrangetext-expected.txt
LayoutTests/fast/forms/month/month-stepup-stepdown-expected.txt
LayoutTests/fast/forms/month/month-stepup-stepdown.html
LayoutTests/fast/forms/number/number-setrangetext-expected.txt
LayoutTests/fast/forms/number/number-size-expected.txt
LayoutTests/fast/forms/number/number-size.html
LayoutTests/fast/forms/number/number-stepup-stepdown-expected.txt
LayoutTests/fast/forms/number/number-stepup-stepdown.html
LayoutTests/fast/forms/number/number-valueasnumber-expected.txt
LayoutTests/fast/forms/number/number-valueasnumber.html
LayoutTests/fast/forms/range/input-valueasnumber-range-expected.txt
LayoutTests/fast/forms/range/input-valueasnumber-range.html
LayoutTests/fast/forms/range/range-setrangetext-expected.txt
LayoutTests/fast/forms/range/range-stepup-stepdown-expected.txt
LayoutTests/fast/forms/range/range-stepup-stepdown.html
LayoutTests/fast/forms/search/search-setrangetext-expected.txt
LayoutTests/fast/forms/setrangetext-expected.txt
LayoutTests/fast/forms/textarea-maxlength-expected.txt
LayoutTests/fast/forms/textarea-maxlength.html
LayoutTests/fast/forms/textarea/textarea-setrangetext-expected.txt
LayoutTests/fast/forms/time/time-setrangetext-expected.txt
LayoutTests/fast/forms/time/time-stepup-stepdown-expected.txt
LayoutTests/fast/forms/time/time-stepup-stepdown.html
LayoutTests/fast/forms/time/time-valueasnumber-expected.txt
LayoutTests/fast/forms/time/time-valueasnumber.html
LayoutTests/fast/forms/week/input-valueasnumber-week-expected.txt
LayoutTests/fast/forms/week/input-valueasnumber-week.html
LayoutTests/fast/forms/week/week-setrangetext-expected.txt
LayoutTests/fast/forms/week/week-stepup-stepdown-expected.txt
LayoutTests/fast/forms/week/week-stepup-stepdown.html
LayoutTests/fast/frames/adopt-iframe-into-itself-expected.txt
LayoutTests/fast/frames/adopt-object-into-itself-expected.txt
LayoutTests/fast/frames/resources/sandboxed-iframe-storage-disallowed.html
LayoutTests/fast/frames/sandboxed-iframe-storage-expected.txt
LayoutTests/fast/html/marquee-element-expected.txt
LayoutTests/fast/innerHTML/innerHTML-changing-document-properties-expected.txt
LayoutTests/fast/loader/stateobjects/pushstate-frequency-expected.txt
LayoutTests/fast/loader/stateobjects/pushstate-frequency-iframe-expected.txt
LayoutTests/fast/loader/stateobjects/replacestate-frequency-expected.txt
LayoutTests/fast/loader/stateobjects/replacestate-frequency-iframe-expected.txt
LayoutTests/fast/media/mq-js-media-except-01-expected.html
LayoutTests/fast/mediastream/RTCPeerConnection-add-removeTrack-expected.txt
LayoutTests/fast/mediastream/RTCPeerConnection-addIceCandidate-expected.txt
LayoutTests/fast/mediastream/RTCPeerConnection-setRemoteDescription-offer-expected.txt
LayoutTests/fast/selectors/closest-general-expected.txt
LayoutTests/fast/selectors/invalid-functional-pseudo-class-expected.txt
LayoutTests/fast/selectors/lang-empty-expected.txt
LayoutTests/fast/selectors/lang-extended-filtering-expected.txt
LayoutTests/fast/selectors/lang-extended-filtering-with-string-arguments-expected.txt
LayoutTests/fast/selectors/lang-invalid-expected.txt
LayoutTests/fast/selectors/lang-multiple-expected.txt
LayoutTests/fast/selectors/querySelector-pseudo-element-inside-functional-pseudo-class-not-expected.txt
LayoutTests/fast/text/font-face-empty-string-expected.txt
LayoutTests/fast/text/font-face-javascript-expected.txt
LayoutTests/fast/text/font-face-set-javascript-expected.txt
LayoutTests/fast/text/font-selection-font-loading-api-parse-expected.txt
LayoutTests/fast/text/variations/font-loading-api-parse-ranges-expected.txt
LayoutTests/fast/workers/atob-btoa-expected.txt
LayoutTests/fast/workers/worker-constructor-expected.txt
LayoutTests/fast/workers/worker-context-multi-port-expected.txt
LayoutTests/fast/workers/worker-multi-port-expected.txt
LayoutTests/fast/xmlhttprequest/xmlhttprequest-responseXML-xml-text-responsetype-expected.txt
LayoutTests/fast/xmlhttprequest/xmlhttprequest-responsetype-arraybuffer-expected.txt
LayoutTests/fast/xmlhttprequest/xmlhttprequest-responsetype-before-open-sync-request-expected.txt
LayoutTests/fast/xmlhttprequest/xmlhttprequest-responsetype-document-expected.txt
LayoutTests/fast/xmlhttprequest/xmlhttprequest-responsetype-set-at-headers-received-expected.txt
LayoutTests/fast/xmlhttprequest/xmlhttprequest-responsetype-sync-request-expected.txt
LayoutTests/fast/xmlhttprequest/xmlhttprequest-responsetype-text-expected.txt
LayoutTests/fast/xpath/attr-namespace-expected.txt
LayoutTests/fast/xpath/detached-subtree-invalidate-iterator-expected.txt
LayoutTests/fast/xpath/py-dom-xpath/nodetests-expected.txt
LayoutTests/http/tests/dom/document-attributes-null-handling-expected.txt
LayoutTests/http/tests/dom/window-open-about-webkit-org-and-access-document-expected.txt
LayoutTests/http/tests/history/cross-origin-replace-history-object-child-expected.txt
LayoutTests/http/tests/history/cross-origin-replace-history-object-expected.txt
LayoutTests/http/tests/loading/state-object-security-exception-expected.txt
LayoutTests/http/tests/local/fileapi/send-sliced-dragged-file-expected.txt
LayoutTests/http/tests/plugins/cross-frame-object-access-expected.txt
LayoutTests/http/tests/security/XFrameOptions/x-frame-options-deny-expected.txt
LayoutTests/http/tests/security/XFrameOptions/x-frame-options-ignore-deny-meta-tag-parent-same-origin-deny-expected.txt
LayoutTests/http/tests/security/XFrameOptions/x-frame-options-multiple-headers-sameorigin-deny-expected.txt
LayoutTests/http/tests/security/XFrameOptions/x-frame-options-parent-same-origin-deny-expected.txt
LayoutTests/http/tests/security/canvas-remote-read-data-url-image-redirect-expected.txt
LayoutTests/http/tests/security/canvas-remote-read-remote-image-blocked-no-crossorigin-expected.txt
LayoutTests/http/tests/security/canvas-remote-read-remote-image-expected.txt
LayoutTests/http/tests/security/canvas-remote-read-remote-image-redirect-expected.txt
LayoutTests/http/tests/security/canvas-remote-read-remote-video-blocked-no-crossorigin-expected.txt
LayoutTests/http/tests/security/canvas-remote-read-remote-video-localhost-expected.txt
LayoutTests/http/tests/security/canvas-remote-read-remote-video-redirect-expected.txt
LayoutTests/http/tests/security/contentSecurityPolicy/1.1/child-src/worker-blocked-expected.txt
LayoutTests/http/tests/security/contentSecurityPolicy/connect-src-xmlhttprequest-blocked-expected.txt
LayoutTests/http/tests/security/contentSecurityPolicy/connect-src-xmlhttprequest-blocked.html
LayoutTests/http/tests/security/contentSecurityPolicy/sandbox-allow-scripts-in-http-header-expected.txt
LayoutTests/http/tests/security/contentSecurityPolicy/worker-blob-inherits-csp-importScripts-block-aborts-all-subsequent-imports-expected.txt
LayoutTests/http/tests/security/contentSecurityPolicy/worker-blob-inherits-csp-importScripts-redirect-cross-origin-blocked-expected.txt
LayoutTests/http/tests/security/contentSecurityPolicy/worker-csp-blocks-xhr-redirect-cross-origin-expected.txt
LayoutTests/http/tests/security/contentSecurityPolicy/worker-csp-importScripts-redirect-cross-origin-blocked-expected.txt
LayoutTests/http/tests/security/contentSecurityPolicy/worker-importscripts-blocked-expected.txt
LayoutTests/http/tests/security/contentSecurityPolicy/worker-importscripts-blocked.html
LayoutTests/http/tests/security/cross-frame-access-call-expected.txt
LayoutTests/http/tests/security/cross-frame-access-callback-explicit-domain-DENY-expected.txt
LayoutTests/http/tests/security/cross-frame-access-child-explicit-domain-expected.txt
LayoutTests/http/tests/security/cross-frame-access-custom-expected.txt
LayoutTests/http/tests/security/cross-frame-access-delete-expected.txt
LayoutTests/http/tests/security/cross-frame-access-first-time-expected.txt
LayoutTests/http/tests/security/cross-frame-access-get-custom-property-cached-expected.txt
LayoutTests/http/tests/security/cross-frame-access-get-expected.txt
LayoutTests/http/tests/security/cross-frame-access-getOwnPropertyDescriptor-expected.txt
LayoutTests/http/tests/security/cross-frame-access-history-get-expected.txt
LayoutTests/http/tests/security/cross-frame-access-history-get-override-expected.txt
LayoutTests/http/tests/security/cross-frame-access-history-prototype-expected.txt
LayoutTests/http/tests/security/cross-frame-access-location-get-expected.txt
LayoutTests/http/tests/security/cross-frame-access-location-get-override-expected.txt
LayoutTests/http/tests/security/cross-frame-access-location-put-expected.txt
LayoutTests/http/tests/security/cross-frame-access-name-getter-expected.txt
LayoutTests/http/tests/security/cross-frame-access-object-getPrototypeOf-expected.txt
LayoutTests/http/tests/security/cross-frame-access-object-prototype-expected.txt
LayoutTests/http/tests/security/cross-frame-access-parent-explicit-domain-expected.txt
LayoutTests/http/tests/security/cross-frame-access-port-expected.txt
LayoutTests/http/tests/security/cross-frame-access-protocol-expected.txt
LayoutTests/http/tests/security/cross-frame-access-protocol-explicit-domain-expected.txt
LayoutTests/http/tests/security/cross-frame-access-put-expected.txt
LayoutTests/http/tests/security/cross-frame-access-selection-expected.txt
LayoutTests/http/tests/security/cross-origin-reified-window-property-access-expected.txt
LayoutTests/http/tests/security/cross-origin-window-property-access-expected.txt
LayoutTests/http/tests/security/dataURL/xss-DENIED-from-data-url-in-foreign-domain-subframe-expected.txt
LayoutTests/http/tests/security/dataURL/xss-DENIED-from-data-url-in-foreign-domain-window-open-expected.txt
LayoutTests/http/tests/security/dataURL/xss-DENIED-from-data-url-sub-frame-2-level-expected.txt
LayoutTests/http/tests/security/dataURL/xss-DENIED-from-data-url-sub-frame-expected.txt
LayoutTests/http/tests/security/dataURL/xss-DENIED-from-data-url-sub-frame-to-data-url-sub-frame-expected.txt
LayoutTests/http/tests/security/dataURL/xss-DENIED-from-data-url-to-data-url-expected.txt
LayoutTests/http/tests/security/dataURL/xss-DENIED-from-javascript-url-window-open-expected.txt
LayoutTests/http/tests/security/dataURL/xss-DENIED-to-data-url-from-data-url-expected.txt
LayoutTests/http/tests/security/dataURL/xss-DENIED-to-data-url-in-foreign-domain-subframe-expected.txt
LayoutTests/http/tests/security/dataURL/xss-DENIED-to-data-url-in-foreign-domain-subframe-location-change-expected.txt
LayoutTests/http/tests/security/dataURL/xss-DENIED-to-data-url-in-foreign-domain-window-open-expected.txt
LayoutTests/http/tests/security/dataURL/xss-DENIED-to-data-url-sub-frame-2-level-expected.txt
LayoutTests/http/tests/security/dataURL/xss-DENIED-to-data-url-sub-frame-expected.txt
LayoutTests/http/tests/security/dataURL/xss-DENIED-to-data-url-sub-frame-uppercase-expected.txt
LayoutTests/http/tests/security/dataURL/xss-DENIED-to-data-url-window-open-expected.txt
LayoutTests/http/tests/security/document-all-expected.txt
LayoutTests/http/tests/security/frameNavigation/inactive-function-in-popup-navigate-child-expected.txt
LayoutTests/http/tests/security/history-username-password-expected.txt
LayoutTests/http/tests/security/javascriptURL/xss-DENIED-from-javascript-url-in-foreign-domain-subframe-expected.txt
LayoutTests/http/tests/security/javascriptURL/xss-DENIED-from-javascript-url-in-foreign-domain-window-open-expected.txt
LayoutTests/http/tests/security/javascriptURL/xss-DENIED-to-javascript-url-in-foreign-domain-subframe-expected.txt
LayoutTests/http/tests/security/javascriptURL/xss-DENIED-to-javascript-url-in-foreign-domain-window-open-expected.txt
LayoutTests/http/tests/security/location-cross-origin-expected.txt
LayoutTests/http/tests/security/postMessage/invalid-origin-throws-exception-expected.txt
LayoutTests/http/tests/security/postMessage/target-origin-expected.txt
LayoutTests/http/tests/security/resources/canvas-video-crossorigin.js
LayoutTests/http/tests/security/sandboxed-iframe-origin-add-expected.txt
LayoutTests/http/tests/security/sandboxed-iframe-origin-remove-expected.txt
LayoutTests/http/tests/security/setDomainRelaxationForbiddenForURLScheme-expected.txt
LayoutTests/http/tests/security/symbols-cross-origin-expected.txt
LayoutTests/http/tests/security/webgl-remote-read-remote-image-blocked-no-crossorigin-expected.txt
LayoutTests/http/tests/security/window-defineProperty-crossOrigin-expected.txt
LayoutTests/http/tests/security/xss-DENIED-defineProperty-expected.txt
LayoutTests/http/tests/security/xss-DENIED-htmlelelment-with-iframe-proto-expected.txt
LayoutTests/http/tests/security/xss-DENIED-invalid-domain-change-expected.txt
LayoutTests/http/tests/security/xss-DENIED-method-with-iframe-proto-expected.txt
LayoutTests/http/tests/security/xss-DENIED-named-window-property-from-cross-origin-inactive-document-expected.txt
LayoutTests/http/tests/security/xss-DENIED-named-window-property-from-cross-origin-inactive-document.html
LayoutTests/http/tests/security/xss-DENIED-synchronous-form-expected.txt
LayoutTests/http/tests/security/xss-DENIED-xsl-document-securityOrigin-expected.txt
LayoutTests/http/tests/security/xssAuditor/block-does-not-leak-location-expected.txt
LayoutTests/http/tests/security/xssAuditor/full-block-script-tag-cross-domain-expected.txt
LayoutTests/http/tests/ssl/media-stream/get-user-media-different-host-expected.txt
LayoutTests/http/tests/ssl/media-stream/get-user-media-nested-expected.txt
LayoutTests/http/tests/websocket/tests/hybi/bad-sub-protocol-control-chars-expected.txt
LayoutTests/http/tests/websocket/tests/hybi/bad-sub-protocol-empty-expected.txt
LayoutTests/http/tests/websocket/tests/hybi/bad-sub-protocol-non-ascii-expected.txt
LayoutTests/http/tests/websocket/tests/hybi/binary-type-expected.txt
LayoutTests/http/tests/websocket/tests/hybi/binary-type.html
LayoutTests/http/tests/websocket/tests/hybi/invalid-subprotocol-characters-expected.txt
LayoutTests/http/tests/websocket/tests/hybi/invalid-subprotocol-characters.html
LayoutTests/http/tests/websocket/tests/hybi/invalid-subprotocols-expected.txt
LayoutTests/http/tests/websocket/tests/hybi/invalid-subprotocols.html
LayoutTests/http/tests/websocket/tests/hybi/url-parsing-expected.txt
LayoutTests/http/tests/websocket/tests/hybi/websocket-constructor-protocols-expected.txt
LayoutTests/http/tests/workers/worker-importScripts-expected.txt
LayoutTests/http/tests/workers/worker-redirect-expected.txt
LayoutTests/http/tests/xmlhttprequest/XMLHttpRequestException-expected.txt
LayoutTests/http/tests/xmlhttprequest/XMLHttpRequestException.html
LayoutTests/http/tests/xmlhttprequest/access-control-and-redirects-expected.txt
LayoutTests/http/tests/xmlhttprequest/access-control-preflight-not-successful-expected.txt
LayoutTests/http/tests/xmlhttprequest/cross-origin-no-authorization-expected.txt
LayoutTests/http/tests/xmlhttprequest/exceptions-expected.txt
LayoutTests/http/tests/xmlhttprequest/inject-header-expected.txt
LayoutTests/http/tests/xmlhttprequest/origin-exact-matching-expected.txt
LayoutTests/http/tests/xmlhttprequest/origin-whitelisting-https-expected.txt
LayoutTests/http/tests/xmlhttprequest/origin-whitelisting-ip-addresses-with-subdomains-expected.txt
LayoutTests/http/tests/xmlhttprequest/origin-whitelisting-removal-expected.txt
LayoutTests/http/tests/xmlhttprequest/xmlhttprequest-open-empty-method-expected.txt
LayoutTests/http/tests/xmlhttprequest/xmlhttprequest-overridemimetype-invalidstaterror-expected.txt
LayoutTests/http/tests/xmlhttprequest/xmlhttprequest-setrequestheader-no-name-expected.txt
LayoutTests/http/tests/xmlhttprequest/xmlhttprequest-sync-no-progress-events-expected.txt
LayoutTests/http/tests/xmlhttprequest/xmlhttprequest-unsafe-redirect-expected.txt
LayoutTests/imported/w3c/ChangeLog
LayoutTests/imported/w3c/web-platform-tests/IndexedDB/idbdatabase-createObjectStore-exception-order-expected.txt
LayoutTests/imported/w3c/web-platform-tests/IndexedDB/idbindex-query-exception-order-expected.txt
LayoutTests/imported/w3c/web-platform-tests/IndexedDB/idbobjectstore-delete-exception-order-expected.txt
LayoutTests/imported/w3c/web-platform-tests/IndexedDB/idbobjectstore-query-exception-order-expected.txt
LayoutTests/imported/w3c/web-platform-tests/IndexedDB/key-conversion-exceptions-expected.txt
LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/successes_ECDH.worker-expected.txt
LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/successes_ECDSA.worker-expected.txt
LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/successes_RSA-PSS.worker-expected.txt
LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/test_successes_ECDH.https-expected.txt
LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/test_successes_ECDSA.https-expected.txt
LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/test_successes_RSA-PSS.https-expected.txt
LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/import_export/ec_importKey.worker-expected.txt
LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/import_export/rsa_importKey.worker-expected.txt
LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/import_export/test_ec_importKey.https-expected.txt
LayoutTests/imported/w3c/web-platform-tests/WebIDL/ecmascript-binding/es-exceptions/DOMException-custom-bindings.any-expected.txt
LayoutTests/imported/w3c/web-platform-tests/WebIDL/ecmascript-binding/es-exceptions/DOMException-custom-bindings.any.worker-expected.txt
LayoutTests/imported/w3c/web-platform-tests/XMLHttpRequest/send-network-error-sync-events.sub-expected.txt
LayoutTests/imported/w3c/web-platform-tests/XMLHttpRequest/xmlhttprequest-timeout-worker-synconworker-expected.txt
LayoutTests/imported/w3c/web-platform-tests/cors/allow-headers-expected.txt
LayoutTests/imported/w3c/web-platform-tests/cors/origin-expected.txt
LayoutTests/imported/w3c/web-platform-tests/cssom/interfaces-expected.txt
LayoutTests/imported/w3c/web-platform-tests/html/semantics/embedded-content/the-canvas-element/imagedata-expected.txt
LayoutTests/imported/w3c/web-platform-tests/webrtc/RTCPeerConnection-addIceCandidate-expected.txt
LayoutTests/inspector/debugger/command-line-api-exception-expected.txt
LayoutTests/inspector/model/remote-object-expected.txt
LayoutTests/js/dom/dfg-custom-getter-throw-expected.txt
LayoutTests/js/dom/reflect-set-onto-dom-expected.txt
LayoutTests/js/dom/script-tests/dfg-custom-getter-throw-inlined.js
LayoutTests/js/dom/script-tests/dfg-custom-getter-throw.js
LayoutTests/loader/stateobjects/pushstate-size-expected.txt
LayoutTests/loader/stateobjects/pushstate-size-iframe-expected.txt
LayoutTests/loader/stateobjects/replacestate-size-expected.txt
LayoutTests/loader/stateobjects/replacestate-size-iframe-expected.txt
LayoutTests/media/track/regions-webvtt/vtt-region-constructor-expected.txt
LayoutTests/media/track/regions-webvtt/vtt-region-list-expected.txt
LayoutTests/performance-api/performance-mark-name-expected.txt
LayoutTests/performance-api/performance-measure-name-expected.txt
LayoutTests/platform/ios-11/crypto/subtle/rsa-generate-key-malformed-parameters-expected.txt
LayoutTests/platform/ios-11/crypto/subtle/rsa-import-key-malformed-parameters-expected.txt
LayoutTests/platform/ios-11/fast/text/font-selection-font-loading-api-parse-expected.txt
LayoutTests/platform/ios-wk2/imported/w3c/web-platform-tests/WebCryptoAPI/import_export/test_rsa_importKey.https-expected.txt
LayoutTests/platform/mac-highsierra/crypto/subtle/rsa-generate-key-malformed-parameters-expected.txt
LayoutTests/platform/mac-highsierra/crypto/subtle/rsa-import-key-malformed-parameters-expected.txt
LayoutTests/platform/mac-highsierra/fast/text/font-selection-font-loading-api-parse-expected.txt
LayoutTests/platform/mac-wk1/imported/w3c/web-platform-tests/XMLHttpRequest/send-network-error-sync-events.sub-expected.txt
LayoutTests/security/contentSecurityPolicy/worker-inherits-blocks-xhr-expected.txt
LayoutTests/storage/indexeddb/modern/createobjectstore-failures-expected.txt
LayoutTests/storage/indexeddb/modern/createobjectstore-failures-private-expected.txt
LayoutTests/storage/indexeddb/modern/double-abort-expected.txt
LayoutTests/storage/indexeddb/modern/double-abort-private-expected.txt
LayoutTests/storage/indexeddb/modern/idbdatabase-deleteobjectstore-failures-expected.txt
LayoutTests/storage/indexeddb/modern/idbdatabase-deleteobjectstore-failures-private-expected.txt
LayoutTests/storage/indexeddb/modern/idbdatabase-transaction-failures-expected.txt
LayoutTests/storage/indexeddb/modern/idbdatabase-transaction-failures-private-expected.txt
LayoutTests/storage/indexeddb/modern/index-rename-1-expected.txt
LayoutTests/storage/indexeddb/modern/index-rename-1-private-expected.txt
LayoutTests/storage/indexeddb/modern/objectstore-rename-1-expected.txt
LayoutTests/storage/indexeddb/modern/objectstore-rename-1-private-expected.txt
LayoutTests/storage/websql/open-database-set-empty-version-expected.txt
LayoutTests/storage/websql/private-browsing-open-disabled-expected.txt
LayoutTests/svg/animations/animate-gradient-transform-expected.txt
LayoutTests/svg/as-image/svg-canvas-pattern-with-link-tainted-expected.txt
LayoutTests/svg/as-image/svg-canvas-svg-with-feimage-with-link-tainted-expected.txt
LayoutTests/svg/as-image/svg-canvas-svg-with-image-with-link-tainted-expected.txt
LayoutTests/svg/as-image/svg-canvas-xhtml-tainted-expected.txt
LayoutTests/svg/custom/acid3-test-77-expected.txt
LayoutTests/svg/custom/getSubStringLength-expected.txt
LayoutTests/svg/custom/selectSubString-expected.txt
LayoutTests/svg/dom/SVGAngle-expected.txt
LayoutTests/svg/dom/SVGLength-expected.txt
LayoutTests/svg/dom/SVGLength-px-expected.txt
LayoutTests/svg/dom/SVGLengthList-appendItem-expected.txt
LayoutTests/svg/dom/SVGLengthList-basics-expected.txt
LayoutTests/svg/dom/SVGLengthList-getItem-expected.txt
LayoutTests/svg/dom/SVGLengthList-initialize-expected.txt
LayoutTests/svg/dom/SVGLengthList-insertItemBefore-expected.txt
LayoutTests/svg/dom/SVGLengthList-removeItem-expected.txt
LayoutTests/svg/dom/SVGLengthList-replaceItem-expected.txt
LayoutTests/svg/dom/SVGNumberList-basics-expected.txt
LayoutTests/svg/dom/SVGPathSegList-clear-and-initialize-expected.txt
LayoutTests/svg/dom/SVGPointList-basics-expected.txt
LayoutTests/svg/dom/SVGPreserveAspectRatio-expected.txt
LayoutTests/svg/dom/SVGStringList-basics-expected.txt
LayoutTests/svg/dom/SVGTransformList-basics-expected.txt
LayoutTests/svg/dom/SVGViewSpec-defaults-expected.txt
LayoutTests/svg/dom/altGlyph-dom-expected.txt
LayoutTests/svg/dom/svglist-exception-on-out-bounds-error-expected.txt
LayoutTests/svg/dom/valueAsString-null-expected.txt
LayoutTests/transforms/cssmatrix-2d-interface-expected.txt
LayoutTests/transforms/cssmatrix-3d-interface-expected.txt
LayoutTests/webaudio/analyser-exception-expected.txt
LayoutTests/webaudio/analyser-exception.html
LayoutTests/webaudio/audiobuffer-crash-expected.txt
LayoutTests/webaudio/audiobuffersource-channels-expected.txt
LayoutTests/webaudio/audiobuffersource-exception-expected.txt
LayoutTests/webaudio/audiobuffersource-exception.html
LayoutTests/webaudio/convolver-channels-expected.txt
LayoutTests/webaudio/convolver-channels.html
LayoutTests/webaudio/convolver-setBuffer-different-samplerate-expected.txt
LayoutTests/webaudio/convolver-setBuffer-different-samplerate.html
LayoutTests/webaudio/delaynode-maxdelaylimit-expected.txt
LayoutTests/webaudio/offlineaudiocontext-constructor-expected.txt
Source/WebCore/ChangeLog
Source/WebCore/dom/DOMCoreException.idl

index 9486f3e..79e3a78 100644 (file)
@@ -1,3 +1,12 @@
+2017-07-19  Chris Dumez  <cdumez@apple.com>
+
+        DOMException should not have its own toString()
+        https://bugs.webkit.org/show_bug.cgi?id=174630
+
+        Reviewed by Sam Weinig.
+
+        Rebaseline existing tests as the exception string is now slightly different.
+
 2017-07-19  Antoine Quint  <graouts@apple.com>
 
         [iOS] REGRESSION: Scrubbing media using built-in controls does not pause media
index 95fb9c4..767051c 100644 (file)
@@ -6,7 +6,7 @@ On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE
 PASS 'crypto' in window is true
 PASS 'getRandomValues' in window.crypto is true
 PASS crypto.getRandomValues(almostTooLargeArray) did not throw exception.
-PASS crypto.getRandomValues(tooLargeArray) threw exception QuotaExceededError (DOM Exception 22): The quota has been exceeded..
+PASS crypto.getRandomValues(tooLargeArray) threw exception QuotaExceededError: The quota has been exceeded..
 PASS successfullyParsed is true
 
 TEST COMPLETE
index f18f7aa..03068f0 100644 (file)
@@ -40,12 +40,12 @@ PASS random is an instance of Int32Array
 PASS view = new Int32Array(3) is defined.
 PASS random = crypto.getRandomValues(view) is defined.
 PASS random is view
-PASS crypto.getRandomValues(new Float32Array(3)) threw exception TypeMismatchError (DOM Exception 17): The type of an object was incompatible with the expected type of the parameter associated to the object..
-PASS crypto.getRandomValues(new Float64Array(3)) threw exception TypeMismatchError (DOM Exception 17): The type of an object was incompatible with the expected type of the parameter associated to the object..
+PASS crypto.getRandomValues(new Float32Array(3)) threw exception TypeMismatchError: The type of an object was incompatible with the expected type of the parameter associated to the object..
+PASS crypto.getRandomValues(new Float64Array(3)) threw exception TypeMismatchError: The type of an object was incompatible with the expected type of the parameter associated to the object..
 PASS buffer = new Uint8Array(32) is defined.
 PASS buffer.buffer is defined.
 PASS view = new DataView(buffer.buffer) is defined.
-PASS crypto.getRandomValues(view) threw exception TypeMismatchError (DOM Exception 17): The type of an object was incompatible with the expected type of the parameter associated to the object..
+PASS crypto.getRandomValues(view) threw exception TypeMismatchError: The type of an object was incompatible with the expected type of the parameter associated to the object..
 PASS successfullyParsed is true
 
 TEST COMPLETE
index d548318..7ff90b2 100644 (file)
@@ -3,12 +3,12 @@ Test decrypting using AES-CBC/AES-CFB with malformed parameters
 On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
 
 
-PASS crypto.subtle.decrypt({name: "aes-cbc", iv: asciiToUint8Array("")}, key, cipherText) rejected promise  with OperationError (DOM Exception 34): The operation failed for an operation-specific reason.
-PASS crypto.subtle.decrypt({name: "aes-cbc", iv: asciiToUint8Array("j")}, key, cipherText) rejected promise  with OperationError (DOM Exception 34): The operation failed for an operation-specific reason.
-PASS crypto.subtle.decrypt({name: "aes-cbc", iv: asciiToUint8Array("jnOw99oOZFLIEPMrd")}, key, cipherText) rejected promise  with OperationError (DOM Exception 34): The operation failed for an operation-specific reason.
-PASS crypto.subtle.decrypt({name: "aes-cfb-8", iv: asciiToUint8Array("")}, key, cipherText) rejected promise  with OperationError (DOM Exception 34): The operation failed for an operation-specific reason.
-PASS crypto.subtle.decrypt({name: "aes-cfb-8", iv: asciiToUint8Array("j")}, key, cipherText) rejected promise  with OperationError (DOM Exception 34): The operation failed for an operation-specific reason.
-PASS crypto.subtle.decrypt({name: "aes-cfb-8", iv: asciiToUint8Array("jnOw99oOZFLIEPMrd")}, key, cipherText) rejected promise  with OperationError (DOM Exception 34): The operation failed for an operation-specific reason.
+PASS crypto.subtle.decrypt({name: "aes-cbc", iv: asciiToUint8Array("")}, key, cipherText) rejected promise  with OperationError: The operation failed for an operation-specific reason.
+PASS crypto.subtle.decrypt({name: "aes-cbc", iv: asciiToUint8Array("j")}, key, cipherText) rejected promise  with OperationError: The operation failed for an operation-specific reason.
+PASS crypto.subtle.decrypt({name: "aes-cbc", iv: asciiToUint8Array("jnOw99oOZFLIEPMrd")}, key, cipherText) rejected promise  with OperationError: The operation failed for an operation-specific reason.
+PASS crypto.subtle.decrypt({name: "aes-cfb-8", iv: asciiToUint8Array("")}, key, cipherText) rejected promise  with OperationError: The operation failed for an operation-specific reason.
+PASS crypto.subtle.decrypt({name: "aes-cfb-8", iv: asciiToUint8Array("j")}, key, cipherText) rejected promise  with OperationError: The operation failed for an operation-specific reason.
+PASS crypto.subtle.decrypt({name: "aes-cfb-8", iv: asciiToUint8Array("jnOw99oOZFLIEPMrd")}, key, cipherText) rejected promise  with OperationError: The operation failed for an operation-specific reason.
 PASS successfullyParsed is true
 
 TEST COMPLETE
index 5653b63..dd6ee39 100644 (file)
@@ -12,14 +12,14 @@ PASS crypto.subtle.encrypt({name: "aes-cbc", iv: undefined}, key, plainText) rej
 PASS crypto.subtle.encrypt({name: "aes-cbc", iv: Symbol()}, key, plainText) rejected promise  with TypeError: Type error.
 PASS crypto.subtle.encrypt({name: "aes-cbc", iv: { }}, key, plainText) rejected promise  with TypeError: Type error.
 PASS crypto.subtle.encrypt({name: "aes-cbc", iv: "foo"}, key, plainText) rejected promise  with TypeError: Type error.
-PASS crypto.subtle.encrypt({name: "aes-cbc", iv: asciiToUint8Array("")}, key, plainText) rejected promise  with OperationError (DOM Exception 34): The operation failed for an operation-specific reason.
-PASS crypto.subtle.encrypt({name: "aes-cbc", iv: asciiToUint8Array("j")}, key, plainText) rejected promise  with OperationError (DOM Exception 34): The operation failed for an operation-specific reason.
-PASS crypto.subtle.encrypt({name: "aes-cbc", iv: asciiToUint8Array("jnOw99oOZFLIEPMrd")}, key, plainText) rejected promise  with OperationError (DOM Exception 34): The operation failed for an operation-specific reason.
+PASS crypto.subtle.encrypt({name: "aes-cbc", iv: asciiToUint8Array("")}, key, plainText) rejected promise  with OperationError: The operation failed for an operation-specific reason.
+PASS crypto.subtle.encrypt({name: "aes-cbc", iv: asciiToUint8Array("j")}, key, plainText) rejected promise  with OperationError: The operation failed for an operation-specific reason.
+PASS crypto.subtle.encrypt({name: "aes-cbc", iv: asciiToUint8Array("jnOw99oOZFLIEPMrd")}, key, plainText) rejected promise  with OperationError: The operation failed for an operation-specific reason.
 PASS crypto.subtle.encrypt("aes-cfb-8", key, plainText) rejected promise  with TypeError: Member AesCbcCfbParams.iv is required and must be an instance of (ArrayBufferView or ArrayBuffer).
 PASS crypto.subtle.encrypt({name: "aes-cfb-8"}, key, plainText) rejected promise  with TypeError: Member AesCbcCfbParams.iv is required and must be an instance of (ArrayBufferView or ArrayBuffer).
-PASS crypto.subtle.encrypt({name: "aes-cfb-8", iv: asciiToUint8Array("")}, key, plainText) rejected promise  with OperationError (DOM Exception 34): The operation failed for an operation-specific reason.
-PASS crypto.subtle.encrypt({name: "aes-cfb-8", iv: asciiToUint8Array("j")}, key, plainText) rejected promise  with OperationError (DOM Exception 34): The operation failed for an operation-specific reason.
-PASS crypto.subtle.encrypt({name: "aes-cfb-8", iv: asciiToUint8Array("jnOw99oOZFLIEPMrd")}, key, plainText) rejected promise  with OperationError (DOM Exception 34): The operation failed for an operation-specific reason.
+PASS crypto.subtle.encrypt({name: "aes-cfb-8", iv: asciiToUint8Array("")}, key, plainText) rejected promise  with OperationError: The operation failed for an operation-specific reason.
+PASS crypto.subtle.encrypt({name: "aes-cfb-8", iv: asciiToUint8Array("j")}, key, plainText) rejected promise  with OperationError: The operation failed for an operation-specific reason.
+PASS crypto.subtle.encrypt({name: "aes-cfb-8", iv: asciiToUint8Array("jnOw99oOZFLIEPMrd")}, key, plainText) rejected promise  with OperationError: The operation failed for an operation-specific reason.
 PASS successfullyParsed is true
 
 TEST COMPLETE
index 9441ec6..3c88fb8 100644 (file)
@@ -4,9 +4,9 @@ On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE
 
 
 PASS crypto.subtle.encrypt({name: "aes-ctr", counter: asciiToUint8Array("jnOw99oOZFLIEPMr"), length: -1}, key, plainText) rejected promise  with TypeError: Value -1 is outside the range [0, 255].
-PASS crypto.subtle.encrypt({name: "aes-ctr", counter: asciiToUint8Array("jnOw99oOZFLIEPMr"), length: 0}, key, plainText) rejected promise  with OperationError (DOM Exception 34): The operation failed for an operation-specific reason.
-PASS crypto.subtle.encrypt({name: "aes-ctr", counter: asciiToUint8Array("jnOw99oOZFLIEPMr"), length: 129}, key, plainText) rejected promise  with OperationError (DOM Exception 34): The operation failed for an operation-specific reason.
-PASS crypto.subtle.encrypt({name: "aes-ctr", counter: asciiToUint8Array("jnOw99oOZFLIEPMr"), length: 1}, key, plainText) rejected promise  with OperationError (DOM Exception 34): The operation failed for an operation-specific reason.
+PASS crypto.subtle.encrypt({name: "aes-ctr", counter: asciiToUint8Array("jnOw99oOZFLIEPMr"), length: 0}, key, plainText) rejected promise  with OperationError: The operation failed for an operation-specific reason.
+PASS crypto.subtle.encrypt({name: "aes-ctr", counter: asciiToUint8Array("jnOw99oOZFLIEPMr"), length: 129}, key, plainText) rejected promise  with OperationError: The operation failed for an operation-specific reason.
+PASS crypto.subtle.encrypt({name: "aes-ctr", counter: asciiToUint8Array("jnOw99oOZFLIEPMr"), length: 1}, key, plainText) rejected promise  with OperationError: The operation failed for an operation-specific reason.
 PASS successfullyParsed is true
 
 TEST COMPLETE
index 24d15f6..2a0a10c 100644 (file)
@@ -3,14 +3,14 @@ Test exporting an AES key with malformed parameters
 On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
 
 
-PASS crypto.subtle.exportKey("spki", key) rejected promise  with NotSupportedError (DOM Exception 9): The algorithm is not supported.
-PASS crypto.subtle.exportKey("pkcs8", key) rejected promise  with NotSupportedError (DOM Exception 9): The algorithm is not supported.
-PASS crypto.subtle.exportKey("spki", key) rejected promise  with NotSupportedError (DOM Exception 9): The algorithm is not supported.
-PASS crypto.subtle.exportKey("pkcs8", key) rejected promise  with NotSupportedError (DOM Exception 9): The algorithm is not supported.
-PASS crypto.subtle.exportKey("spki", key) rejected promise  with NotSupportedError (DOM Exception 9): The algorithm is not supported.
-PASS crypto.subtle.exportKey("pkcs8", key) rejected promise  with NotSupportedError (DOM Exception 9): The algorithm is not supported.
-PASS crypto.subtle.exportKey("spki", key) rejected promise  with NotSupportedError (DOM Exception 9): The algorithm is not supported.
-PASS crypto.subtle.exportKey("pkcs8", key) rejected promise  with NotSupportedError (DOM Exception 9): The algorithm is not supported.
+PASS crypto.subtle.exportKey("spki", key) rejected promise  with NotSupportedError: The algorithm is not supported.
+PASS crypto.subtle.exportKey("pkcs8", key) rejected promise  with NotSupportedError: The algorithm is not supported.
+PASS crypto.subtle.exportKey("spki", key) rejected promise  with NotSupportedError: The algorithm is not supported.
+PASS crypto.subtle.exportKey("pkcs8", key) rejected promise  with NotSupportedError: The algorithm is not supported.
+PASS crypto.subtle.exportKey("spki", key) rejected promise  with NotSupportedError: The algorithm is not supported.
+PASS crypto.subtle.exportKey("pkcs8", key) rejected promise  with NotSupportedError: The algorithm is not supported.
+PASS crypto.subtle.exportKey("spki", key) rejected promise  with NotSupportedError: The algorithm is not supported.
+PASS crypto.subtle.exportKey("pkcs8", key) rejected promise  with NotSupportedError: The algorithm is not supported.
 PASS successfullyParsed is true
 
 TEST COMPLETE
index 64411ff..70a512f 100644 (file)
@@ -3,8 +3,8 @@ Test decrypting using AES-GCM with malformed parameters
 On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
 
 
-PASS crypto.subtle.decrypt({name: "aes-gcm", iv: asciiToUint8Array("jnOw99oOZFLIEPMrd")}, key, smallCipherText) rejected promise  with OperationError (DOM Exception 34): The operation failed for an operation-specific reason.
-PASS crypto.subtle.decrypt({name: "aes-gcm", iv: asciiToUint8Array("jnOw99oOZFLIEPMrd")}, key, corruptedCipherText) rejected promise  with OperationError (DOM Exception 34): The operation failed for an operation-specific reason.
+PASS crypto.subtle.decrypt({name: "aes-gcm", iv: asciiToUint8Array("jnOw99oOZFLIEPMrd")}, key, smallCipherText) rejected promise  with OperationError: The operation failed for an operation-specific reason.
+PASS crypto.subtle.decrypt({name: "aes-gcm", iv: asciiToUint8Array("jnOw99oOZFLIEPMrd")}, key, corruptedCipherText) rejected promise  with OperationError: The operation failed for an operation-specific reason.
 PASS successfullyParsed is true
 
 TEST COMPLETE
index 9f54c5c..d21d7c7 100644 (file)
@@ -3,10 +3,10 @@ Test encrypting using AES-GCM with malformed parameters
 On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
 
 
-PASS crypto.subtle.encrypt({name: "aes-gcm", iv: asciiToUint8Array("jnOw99oOZFLIEPMrd"), tagLength: 0}, key, plainText) rejected promise  with OperationError (DOM Exception 34): The operation failed for an operation-specific reason.
+PASS crypto.subtle.encrypt({name: "aes-gcm", iv: asciiToUint8Array("jnOw99oOZFLIEPMrd"), tagLength: 0}, key, plainText) rejected promise  with OperationError: The operation failed for an operation-specific reason.
 PASS crypto.subtle.encrypt({name: "aes-gcm", iv: asciiToUint8Array("jnOw99oOZFLIEPMrd"), tagLength: -1}, key, plainText) rejected promise  with TypeError: Value -1 is outside the range [0, 255].
-PASS crypto.subtle.encrypt({name: "aes-gcm", iv: asciiToUint8Array("jnOw99oOZFLIEPMrd"), tagLength: 129}, key, plainText) rejected promise  with OperationError (DOM Exception 34): The operation failed for an operation-specific reason.
-PASS crypto.subtle.encrypt({name: "aes-gcm", iv: asciiToUint8Array("jnOw99oOZFLIEPMrd"), tagLength: 70}, key, plainText) rejected promise  with OperationError (DOM Exception 34): The operation failed for an operation-specific reason.
+PASS crypto.subtle.encrypt({name: "aes-gcm", iv: asciiToUint8Array("jnOw99oOZFLIEPMrd"), tagLength: 129}, key, plainText) rejected promise  with OperationError: The operation failed for an operation-specific reason.
+PASS crypto.subtle.encrypt({name: "aes-gcm", iv: asciiToUint8Array("jnOw99oOZFLIEPMrd"), tagLength: 70}, key, plainText) rejected promise  with OperationError: The operation failed for an operation-specific reason.
 PASS successfullyParsed is true
 
 TEST COMPLETE
index 8dcab20..3343d81 100644 (file)
@@ -5,36 +5,36 @@ On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE
 
 PASS crypto.subtle.generateKey("aes-cbc", extractable, ["encrypt", "decrypt"]) rejected promise  with TypeError: Member AesKeyParams.length is required and must be an instance of unsigned short.
 PASS crypto.subtle.generateKey({name: "aes-cbc"}, extractable, ["encrypt", "decrypt"]) rejected promise  with TypeError: Member AesKeyParams.length is required and must be an instance of unsigned short.
-PASS crypto.subtle.generateKey({name: "aes-cbc", length: true}, extractable, ["encrypt", "decrypt"]) rejected promise  with OperationError (DOM Exception 34): The operation failed for an operation-specific reason.
-PASS crypto.subtle.generateKey({name: "aes-cbc", length: null}, extractable, ["encrypt", "decrypt"]) rejected promise  with OperationError (DOM Exception 34): The operation failed for an operation-specific reason.
+PASS crypto.subtle.generateKey({name: "aes-cbc", length: true}, extractable, ["encrypt", "decrypt"]) rejected promise  with OperationError: The operation failed for an operation-specific reason.
+PASS crypto.subtle.generateKey({name: "aes-cbc", length: null}, extractable, ["encrypt", "decrypt"]) rejected promise  with OperationError: The operation failed for an operation-specific reason.
 PASS crypto.subtle.generateKey({name: "aes-cbc", length: undefined}, extractable, ["encrypt", "decrypt"]) rejected promise  with TypeError: Member AesKeyParams.length is required and must be an instance of unsigned short.
 PASS crypto.subtle.generateKey({name: "aes-cbc", length: Symbol()}, extractable, ["encrypt", "decrypt"]) rejected promise  with TypeError: Cannot convert a symbol to a number.
 PASS crypto.subtle.generateKey({name: "aes-cbc", length: { }}, extractable, ["encrypt", "decrypt"]) rejected promise  with TypeError: Value NaN is outside the range [0, 65535].
 PASS crypto.subtle.generateKey({name: "aes-cbc", length: "foo"}, extractable, ["encrypt", "decrypt"]) rejected promise  with TypeError: Value NaN is outside the range [0, 65535].
-PASS crypto.subtle.generateKey({name: "aes-cbc", length: 128}, extractable, ["sign"]) rejected promise  with SyntaxError (DOM Exception 12): A required parameter was missing or out-of-range.
-PASS crypto.subtle.generateKey({name: "aes-cbc", length: 128}, extractable, ["verify"]) rejected promise  with SyntaxError (DOM Exception 12): A required parameter was missing or out-of-range.
-PASS crypto.subtle.generateKey({name: "aes-cbc", length: 128}, extractable, ["deriveKey"]) rejected promise  with SyntaxError (DOM Exception 12): A required parameter was missing or out-of-range.
-PASS crypto.subtle.generateKey({name: "aes-cbc", length: 128}, extractable, ["deriveBits"]) rejected promise  with SyntaxError (DOM Exception 12): A required parameter was missing or out-of-range.
-PASS crypto.subtle.generateKey({name: "aes-kw", length: 128}, extractable, ["encrypt"]) rejected promise  with SyntaxError (DOM Exception 12): A required parameter was missing or out-of-range.
-PASS crypto.subtle.generateKey({name: "aes-kw", length: 128}, extractable, ["decrypt"]) rejected promise  with SyntaxError (DOM Exception 12): A required parameter was missing or out-of-range.
-PASS crypto.subtle.generateKey({name: "aes-kw", length: 128}, extractable, ["sign"]) rejected promise  with SyntaxError (DOM Exception 12): A required parameter was missing or out-of-range.
-PASS crypto.subtle.generateKey({name: "aes-kw", length: 128}, extractable, ["verify"]) rejected promise  with SyntaxError (DOM Exception 12): A required parameter was missing or out-of-range.
-PASS crypto.subtle.generateKey({name: "aes-kw", length: 128}, extractable, ["deriveKey"]) rejected promise  with SyntaxError (DOM Exception 12): A required parameter was missing or out-of-range.
-PASS crypto.subtle.generateKey({name: "aes-kw", length: 128}, extractable, ["deriveBits"]) rejected promise  with SyntaxError (DOM Exception 12): A required parameter was missing or out-of-range.
-PASS crypto.subtle.generateKey({name: "aes-cfb-8", length: 128}, extractable, ["sign"]) rejected promise  with SyntaxError (DOM Exception 12): A required parameter was missing or out-of-range.
-PASS crypto.subtle.generateKey({name: "aes-cfb-8", length: 128}, extractable, ["verify"]) rejected promise  with SyntaxError (DOM Exception 12): A required parameter was missing or out-of-range.
-PASS crypto.subtle.generateKey({name: "aes-cfb-8", length: 128}, extractable, ["deriveKey"]) rejected promise  with SyntaxError (DOM Exception 12): A required parameter was missing or out-of-range.
-PASS crypto.subtle.generateKey({name: "aes-cfb-8", length: 128}, extractable, ["deriveBits"]) rejected promise  with SyntaxError (DOM Exception 12): A required parameter was missing or out-of-range.
-PASS crypto.subtle.generateKey({name: "aes-gcm", length: 128}, extractable, ["sign"]) rejected promise  with SyntaxError (DOM Exception 12): A required parameter was missing or out-of-range.
-PASS crypto.subtle.generateKey({name: "aes-gcm", length: 128}, extractable, ["verify"]) rejected promise  with SyntaxError (DOM Exception 12): A required parameter was missing or out-of-range.
-PASS crypto.subtle.generateKey({name: "aes-gcm", length: 128}, extractable, ["deriveKey"]) rejected promise  with SyntaxError (DOM Exception 12): A required parameter was missing or out-of-range.
-PASS crypto.subtle.generateKey({name: "aes-gcm", length: 128}, extractable, ["deriveBits"]) rejected promise  with SyntaxError (DOM Exception 12): A required parameter was missing or out-of-range.
-PASS crypto.subtle.generateKey({name: "aes-ctr", length: 128}, extractable, ["sign"]) rejected promise  with SyntaxError (DOM Exception 12): A required parameter was missing or out-of-range.
-PASS crypto.subtle.generateKey({name: "aes-ctr", length: 128}, extractable, ["verify"]) rejected promise  with SyntaxError (DOM Exception 12): A required parameter was missing or out-of-range.
-PASS crypto.subtle.generateKey({name: "aes-ctr", length: 128}, extractable, ["deriveKey"]) rejected promise  with SyntaxError (DOM Exception 12): A required parameter was missing or out-of-range.
-PASS crypto.subtle.generateKey({name: "aes-ctr", length: 128}, extractable, ["deriveBits"]) rejected promise  with SyntaxError (DOM Exception 12): A required parameter was missing or out-of-range.
-PASS crypto.subtle.generateKey({name: "aes-cbc", length: 111}, extractable, ["encrypt"]) rejected promise  with OperationError (DOM Exception 34): The operation failed for an operation-specific reason.
-PASS crypto.subtle.generateKey({name: "aes-kw", length: 111}, extractable, ["wrapKey"]) rejected promise  with OperationError (DOM Exception 34): The operation failed for an operation-specific reason.
+PASS crypto.subtle.generateKey({name: "aes-cbc", length: 128}, extractable, ["sign"]) rejected promise  with SyntaxError: A required parameter was missing or out-of-range.
+PASS crypto.subtle.generateKey({name: "aes-cbc", length: 128}, extractable, ["verify"]) rejected promise  with SyntaxError: A required parameter was missing or out-of-range.
+PASS crypto.subtle.generateKey({name: "aes-cbc", length: 128}, extractable, ["deriveKey"]) rejected promise  with SyntaxError: A required parameter was missing or out-of-range.
+PASS crypto.subtle.generateKey({name: "aes-cbc", length: 128}, extractable, ["deriveBits"]) rejected promise  with SyntaxError: A required parameter was missing or out-of-range.
+PASS crypto.subtle.generateKey({name: "aes-kw", length: 128}, extractable, ["encrypt"]) rejected promise  with SyntaxError: A required parameter was missing or out-of-range.
+PASS crypto.subtle.generateKey({name: "aes-kw", length: 128}, extractable, ["decrypt"]) rejected promise  with SyntaxError: A required parameter was missing or out-of-range.
+PASS crypto.subtle.generateKey({name: "aes-kw", length: 128}, extractable, ["sign"]) rejected promise  with SyntaxError: A required parameter was missing or out-of-range.
+PASS crypto.subtle.generateKey({name: "aes-kw", length: 128}, extractable, ["verify"]) rejected promise  with SyntaxError: A required parameter was missing or out-of-range.
+PASS crypto.subtle.generateKey({name: "aes-kw", length: 128}, extractable, ["deriveKey"]) rejected promise  with SyntaxError: A required parameter was missing or out-of-range.
+PASS crypto.subtle.generateKey({name: "aes-kw", length: 128}, extractable, ["deriveBits"]) rejected promise  with SyntaxError: A required parameter was missing or out-of-range.
+PASS crypto.subtle.generateKey({name: "aes-cfb-8", length: 128}, extractable, ["sign"]) rejected promise  with SyntaxError: A required parameter was missing or out-of-range.
+PASS crypto.subtle.generateKey({name: "aes-cfb-8", length: 128}, extractable, ["verify"]) rejected promise  with SyntaxError: A required parameter was missing or out-of-range.
+PASS crypto.subtle.generateKey({name: "aes-cfb-8", length: 128}, extractable, ["deriveKey"]) rejected promise  with SyntaxError: A required parameter was missing or out-of-range.
+PASS crypto.subtle.generateKey({name: "aes-cfb-8", length: 128}, extractable, ["deriveBits"]) rejected promise  with SyntaxError: A required parameter was missing or out-of-range.
+PASS crypto.subtle.generateKey({name: "aes-gcm", length: 128}, extractable, ["sign"]) rejected promise  with SyntaxError: A required parameter was missing or out-of-range.
+PASS crypto.subtle.generateKey({name: "aes-gcm", length: 128}, extractable, ["verify"]) rejected promise  with SyntaxError: A required parameter was missing or out-of-range.
+PASS crypto.subtle.generateKey({name: "aes-gcm", length: 128}, extractable, ["deriveKey"]) rejected promise  with SyntaxError: A required parameter was missing or out-of-range.
+PASS crypto.subtle.generateKey({name: "aes-gcm", length: 128}, extractable, ["deriveBits"]) rejected promise  with SyntaxError: A required parameter was missing or out-of-range.
+PASS crypto.subtle.generateKey({name: "aes-ctr", length: 128}, extractable, ["sign"]) rejected promise  with SyntaxError: A required parameter was missing or out-of-range.
+PASS crypto.subtle.generateKey({name: "aes-ctr", length: 128}, extractable, ["verify"]) rejected promise  with SyntaxError: A required parameter was missing or out-of-range.
+PASS crypto.subtle.generateKey({name: "aes-ctr", length: 128}, extractable, ["deriveKey"]) rejected promise  with SyntaxError: A required parameter was missing or out-of-range.
+PASS crypto.subtle.generateKey({name: "aes-ctr", length: 128}, extractable, ["deriveBits"]) rejected promise  with SyntaxError: A required parameter was missing or out-of-range.
+PASS crypto.subtle.generateKey({name: "aes-cbc", length: 111}, extractable, ["encrypt"]) rejected promise  with OperationError: The operation failed for an operation-specific reason.
+PASS crypto.subtle.generateKey({name: "aes-kw", length: 111}, extractable, ["wrapKey"]) rejected promise  with OperationError: The operation failed for an operation-specific reason.
 PASS successfullyParsed is true
 
 TEST COMPLETE
index d5687d5..7c79033 100644 (file)
@@ -3,51 +3,51 @@ Test importing an AES key with malformed parameters
 On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
 
 
-PASS crypto.subtle.importKey("raw", asciiToUint8Array("jnOw97"), "aes-cbc", extractable, ["encrypt", "decrypt", "wrapKey", "unwrapKey"]) rejected promise  with DataError (DOM Exception 30): Data provided to an operation does not meet requirements.
-PASS crypto.subtle.importKey("jwk", {kty: "RSA"}, "aes-cbc", extractable, ["encrypt", "decrypt", "wrapKey", "unwrapKey"]) rejected promise  with DataError (DOM Exception 30): Data provided to an operation does not meet requirements.
-PASS crypto.subtle.importKey("jwk", {kty: "oct"}, "aes-cbc", extractable, ["encrypt", "decrypt", "wrapKey", "unwrapKey"]) rejected promise  with DataError (DOM Exception 30): Data provided to an operation does not meet requirements.
-PASS crypto.subtle.importKey("jwk", {kty: "oct", k: k128, alg: "A192CBC"}, "aes-cbc", extractable, ["encrypt", "decrypt", "wrapKey", "unwrapKey"]) rejected promise  with DataError (DOM Exception 30): Data provided to an operation does not meet requirements.
-PASS crypto.subtle.importKey("jwk", {kty: "oct", k: k192, alg: "A256CBC"}, "aes-cbc", extractable, ["encrypt", "decrypt", "wrapKey", "unwrapKey"]) rejected promise  with DataError (DOM Exception 30): Data provided to an operation does not meet requirements.
-PASS crypto.subtle.importKey("jwk", {kty: "oct", k: k256, alg: "A128CBC"}, "aes-cbc", extractable, ["encrypt", "decrypt", "wrapKey", "unwrapKey"]) rejected promise  with DataError (DOM Exception 30): Data provided to an operation does not meet requirements.
-PASS crypto.subtle.importKey("jwk", {kty: "oct", k: "A72F", alg: "foo"}, "aes-cbc", extractable, ["encrypt", "decrypt", "wrapKey", "unwrapKey"]) rejected promise  with DataError (DOM Exception 30): Data provided to an operation does not meet requirements.
-PASS crypto.subtle.importKey("jwk", {kty: "oct", k: k128, alg: ""}, "aes-cbc", extractable, ["encrypt", "decrypt", "wrapKey", "unwrapKey"]) rejected promise  with DataError (DOM Exception 30): Data provided to an operation does not meet requirements.
-PASS crypto.subtle.importKey("jwk", {kty: "oct", k: k192, alg: ""}, "aes-cbc", extractable, ["encrypt", "decrypt", "wrapKey", "unwrapKey"]) rejected promise  with DataError (DOM Exception 30): Data provided to an operation does not meet requirements.
-PASS crypto.subtle.importKey("jwk", {kty: "oct", k: k256, alg: ""}, "aes-cbc", extractable, ["encrypt", "decrypt", "wrapKey", "unwrapKey"]) rejected promise  with DataError (DOM Exception 30): Data provided to an operation does not meet requirements.
-PASS crypto.subtle.importKey("jwk", {kty: "oct", k: k128, alg: "A192KW"}, "aes-kw", extractable, ["wrapKey", "unwrapKey"]) rejected promise  with DataError (DOM Exception 30): Data provided to an operation does not meet requirements.
-PASS crypto.subtle.importKey("jwk", {kty: "oct", k: k192, alg: "A256KW"}, "aes-kw", extractable, ["wrapKey", "unwrapKey"]) rejected promise  with DataError (DOM Exception 30): Data provided to an operation does not meet requirements.
-PASS crypto.subtle.importKey("jwk", {kty: "oct", k: k256, alg: "A128KW"}, "aes-kw", extractable, ["wrapKey", "unwrapKey"]) rejected promise  with DataError (DOM Exception 30): Data provided to an operation does not meet requirements.
-PASS crypto.subtle.importKey("jwk", {kty: "oct", k: "A72F", alg: "foo"}, "aes-kw", extractable, ["wrapKey", "unwrapKey"]) rejected promise  with DataError (DOM Exception 30): Data provided to an operation does not meet requirements.
-PASS crypto.subtle.importKey("jwk", {kty: "oct", k: k128, alg: ""}, "aes-kw", extractable, ["wrapKey", "unwrapKey"]) rejected promise  with DataError (DOM Exception 30): Data provided to an operation does not meet requirements.
-PASS crypto.subtle.importKey("jwk", {kty: "oct", k: k192, alg: ""}, "aes-kw", extractable, ["wrapKey", "unwrapKey"]) rejected promise  with DataError (DOM Exception 30): Data provided to an operation does not meet requirements.
-PASS crypto.subtle.importKey("jwk", {kty: "oct", k: k256, alg: ""}, "aes-kw", extractable, ["wrapKey", "unwrapKey"]) rejected promise  with DataError (DOM Exception 30): Data provided to an operation does not meet requirements.
-PASS crypto.subtle.importKey("jwk", {kty: "oct", k: k128, alg: "A192CFB8"}, "aes-cfb-8", extractable, ["encrypt", "decrypt", "wrapKey", "unwrapKey"]) rejected promise  with DataError (DOM Exception 30): Data provided to an operation does not meet requirements.
-PASS crypto.subtle.importKey("jwk", {kty: "oct", k: k192, alg: "A256CFB8"}, "aes-cfb-8", extractable, ["encrypt", "decrypt", "wrapKey", "unwrapKey"]) rejected promise  with DataError (DOM Exception 30): Data provided to an operation does not meet requirements.
-PASS crypto.subtle.importKey("jwk", {kty: "oct", k: k256, alg: "A128CFB8"}, "aes-cfb-8", extractable, ["encrypt", "decrypt", "wrapKey", "unwrapKey"]) rejected promise  with DataError (DOM Exception 30): Data provided to an operation does not meet requirements.
-PASS crypto.subtle.importKey("jwk", {kty: "oct", k: "A72F", alg: "foo"}, "aes-cfb-8", extractable, ["wrapKey", "unwrapKey"]) rejected promise  with DataError (DOM Exception 30): Data provided to an operation does not meet requirements.
-PASS crypto.subtle.importKey("jwk", {kty: "oct", k: k128, alg: ""}, "aes-cfb-8", extractable, ["wrapKey", "unwrapKey"]) rejected promise  with DataError (DOM Exception 30): Data provided to an operation does not meet requirements.
-PASS crypto.subtle.importKey("jwk", {kty: "oct", k: k192, alg: ""}, "aes-cfb-8", extractable, ["wrapKey", "unwrapKey"]) rejected promise  with DataError (DOM Exception 30): Data provided to an operation does not meet requirements.
-PASS crypto.subtle.importKey("jwk", {kty: "oct", k: k256, alg: ""}, "aes-cfb-8", extractable, ["wrapKey", "unwrapKey"]) rejected promise  with DataError (DOM Exception 30): Data provided to an operation does not meet requirements.
-PASS crypto.subtle.importKey("jwk", {kty: "oct", k: k128, alg: "A192GCM"}, "aes-gcm", extractable, ["encrypt", "decrypt", "wrapKey", "unwrapKey"]) rejected promise  with DataError (DOM Exception 30): Data provided to an operation does not meet requirements.
-PASS crypto.subtle.importKey("jwk", {kty: "oct", k: k192, alg: "A256GCM"}, "aes-gcm", extractable, ["encrypt", "decrypt", "wrapKey", "unwrapKey"]) rejected promise  with DataError (DOM Exception 30): Data provided to an operation does not meet requirements.
-PASS crypto.subtle.importKey("jwk", {kty: "oct", k: k256, alg: "A128GCM"}, "aes-gcm", extractable, ["encrypt", "decrypt", "wrapKey", "unwrapKey"]) rejected promise  with DataError (DOM Exception 30): Data provided to an operation does not meet requirements.
-PASS crypto.subtle.importKey("jwk", {kty: "oct", k: "A72F", alg: "foo"}, "aes-gcm", extractable, ["wrapKey", "unwrapKey"]) rejected promise  with DataError (DOM Exception 30): Data provided to an operation does not meet requirements.
-PASS crypto.subtle.importKey("jwk", {kty: "oct", k: k128, alg: ""}, "aes-gcm", extractable, ["wrapKey", "unwrapKey"]) rejected promise  with DataError (DOM Exception 30): Data provided to an operation does not meet requirements.
-PASS crypto.subtle.importKey("jwk", {kty: "oct", k: k192, alg: ""}, "aes-gcm", extractable, ["wrapKey", "unwrapKey"]) rejected promise  with DataError (DOM Exception 30): Data provided to an operation does not meet requirements.
-PASS crypto.subtle.importKey("jwk", {kty: "oct", k: k256, alg: ""}, "aes-gcm", extractable, ["wrapKey", "unwrapKey"]) rejected promise  with DataError (DOM Exception 30): Data provided to an operation does not meet requirements.
-PASS crypto.subtle.importKey("jwk", {kty: "oct", k: k128, alg: "A192CTR"}, "aes-ctr", extractable, ["encrypt", "decrypt", "wrapKey", "unwrapKey"]) rejected promise  with DataError (DOM Exception 30): Data provided to an operation does not meet requirements.
-PASS crypto.subtle.importKey("jwk", {kty: "oct", k: k192, alg: "A256CTR"}, "aes-ctr", extractable, ["encrypt", "decrypt", "wrapKey", "unwrapKey"]) rejected promise  with DataError (DOM Exception 30): Data provided to an operation does not meet requirements.
-PASS crypto.subtle.importKey("jwk", {kty: "oct", k: k256, alg: "A128CTR"}, "aes-ctr", extractable, ["encrypt", "decrypt", "wrapKey", "unwrapKey"]) rejected promise  with DataError (DOM Exception 30): Data provided to an operation does not meet requirements.
-PASS crypto.subtle.importKey("jwk", {kty: "oct", k: "A72F", alg: "foo"}, "aes-ctr", extractable, ["wrapKey", "unwrapKey"]) rejected promise  with DataError (DOM Exception 30): Data provided to an operation does not meet requirements.
-PASS crypto.subtle.importKey("jwk", {kty: "oct", k: k128, alg: ""}, "aes-ctr", extractable, ["wrapKey", "unwrapKey"]) rejected promise  with DataError (DOM Exception 30): Data provided to an operation does not meet requirements.
-PASS crypto.subtle.importKey("jwk", {kty: "oct", k: k192, alg: ""}, "aes-ctr", extractable, ["wrapKey", "unwrapKey"]) rejected promise  with DataError (DOM Exception 30): Data provided to an operation does not meet requirements.
-PASS crypto.subtle.importKey("jwk", {kty: "oct", k: k256, alg: ""}, "aes-ctr", extractable, ["wrapKey", "unwrapKey"]) rejected promise  with DataError (DOM Exception 30): Data provided to an operation does not meet requirements.
-PASS crypto.subtle.importKey("jwk", {kty: "oct", k: "!!!", alg: "foo"}, "aes-cbc", extractable, ["encrypt", "decrypt", "wrapKey", "unwrapKey"]) rejected promise  with DataError (DOM Exception 30): Data provided to an operation does not meet requirements.
-PASS crypto.subtle.importKey("jwk", {kty: "oct", k: "", alg: "foo"}, "aes-cbc", extractable, ["encrypt", "decrypt", "wrapKey", "unwrapKey"]) rejected promise  with DataError (DOM Exception 30): Data provided to an operation does not meet requirements.
-PASS crypto.subtle.importKey("jwk", {kty: "oct", k: k128, alg: "A128CBC", use: "sig"}, "aes-cbc", extractable, ["encrypt", "decrypt", "wrapKey", "unwrapKey"]) rejected promise  with DataError (DOM Exception 30): Data provided to an operation does not meet requirements.
-PASS crypto.subtle.importKey("jwk", {kty: "oct", k: k128, alg: "A128CBC", use: ""}, "aes-cbc", extractable, ["encrypt", "decrypt", "wrapKey", "unwrapKey"]) rejected promise  with DataError (DOM Exception 30): Data provided to an operation does not meet requirements.
-PASS crypto.subtle.importKey("jwk", {kty: "oct", k: k128, alg: "A128CBC", key_ops: ["encrypt", "decrypt"]}, "aes-cbc", extractable, ["encrypt", "decrypt", "wrapKey", "unwrapKey"]) rejected promise  with DataError (DOM Exception 30): Data provided to an operation does not meet requirements.
-PASS crypto.subtle.importKey("jwk", {kty: "oct", k: k128, alg: "A128CBC", key_ops: [ ]}, "aes-cbc", extractable, ["encrypt", "decrypt", "wrapKey", "unwrapKey"]) rejected promise  with DataError (DOM Exception 30): Data provided to an operation does not meet requirements.
-PASS crypto.subtle.importKey("jwk", {kty: "oct", k: k128, alg: "A128CBC", ext: false}, "aes-cbc", extractable, ["encrypt", "decrypt", "wrapKey", "unwrapKey"]) rejected promise  with DataError (DOM Exception 30): Data provided to an operation does not meet requirements.
+PASS crypto.subtle.importKey("raw", asciiToUint8Array("jnOw97"), "aes-cbc", extractable, ["encrypt", "decrypt", "wrapKey", "unwrapKey"]) rejected promise  with DataError: Data provided to an operation does not meet requirements.
+PASS crypto.subtle.importKey("jwk", {kty: "RSA"}, "aes-cbc", extractable, ["encrypt", "decrypt", "wrapKey", "unwrapKey"]) rejected promise  with DataError: Data provided to an operation does not meet requirements.
+PASS crypto.subtle.importKey("jwk", {kty: "oct"}, "aes-cbc", extractable, ["encrypt", "decrypt", "wrapKey", "unwrapKey"]) rejected promise  with DataError: Data provided to an operation does not meet requirements.
+PASS crypto.subtle.importKey("jwk", {kty: "oct", k: k128, alg: "A192CBC"}, "aes-cbc", extractable, ["encrypt", "decrypt", "wrapKey", "unwrapKey"]) rejected promise  with DataError: Data provided to an operation does not meet requirements.
+PASS crypto.subtle.importKey("jwk", {kty: "oct", k: k192, alg: "A256CBC"}, "aes-cbc", extractable, ["encrypt", "decrypt", "wrapKey", "unwrapKey"]) rejected promise  with DataError: Data provided to an operation does not meet requirements.
+PASS crypto.subtle.importKey("jwk", {kty: "oct", k: k256, alg: "A128CBC"}, "aes-cbc", extractable, ["encrypt", "decrypt", "wrapKey", "unwrapKey"]) rejected promise  with DataError: Data provided to an operation does not meet requirements.
+PASS crypto.subtle.importKey("jwk", {kty: "oct", k: "A72F", alg: "foo"}, "aes-cbc", extractable, ["encrypt", "decrypt", "wrapKey", "unwrapKey"]) rejected promise  with DataError: Data provided to an operation does not meet requirements.
+PASS crypto.subtle.importKey("jwk", {kty: "oct", k: k128, alg: ""}, "aes-cbc", extractable, ["encrypt", "decrypt", "wrapKey", "unwrapKey"]) rejected promise  with DataError: Data provided to an operation does not meet requirements.
+PASS crypto.subtle.importKey("jwk", {kty: "oct", k: k192, alg: ""}, "aes-cbc", extractable, ["encrypt", "decrypt", "wrapKey", "unwrapKey"]) rejected promise  with DataError: Data provided to an operation does not meet requirements.
+PASS crypto.subtle.importKey("jwk", {kty: "oct", k: k256, alg: ""}, "aes-cbc", extractable, ["encrypt", "decrypt", "wrapKey", "unwrapKey"]) rejected promise  with DataError: Data provided to an operation does not meet requirements.
+PASS crypto.subtle.importKey("jwk", {kty: "oct", k: k128, alg: "A192KW"}, "aes-kw", extractable, ["wrapKey", "unwrapKey"]) rejected promise  with DataError: Data provided to an operation does not meet requirements.
+PASS crypto.subtle.importKey("jwk", {kty: "oct", k: k192, alg: "A256KW"}, "aes-kw", extractable, ["wrapKey", "unwrapKey"]) rejected promise  with DataError: Data provided to an operation does not meet requirements.
+PASS crypto.subtle.importKey("jwk", {kty: "oct", k: k256, alg: "A128KW"}, "aes-kw", extractable, ["wrapKey", "unwrapKey"]) rejected promise  with DataError: Data provided to an operation does not meet requirements.
+PASS crypto.subtle.importKey("jwk", {kty: "oct", k: "A72F", alg: "foo"}, "aes-kw", extractable, ["wrapKey", "unwrapKey"]) rejected promise  with DataError: Data provided to an operation does not meet requirements.
+PASS crypto.subtle.importKey("jwk", {kty: "oct", k: k128, alg: ""}, "aes-kw", extractable, ["wrapKey", "unwrapKey"]) rejected promise  with DataError: Data provided to an operation does not meet requirements.
+PASS crypto.subtle.importKey("jwk", {kty: "oct", k: k192, alg: ""}, "aes-kw", extractable, ["wrapKey", "unwrapKey"]) rejected promise  with DataError: Data provided to an operation does not meet requirements.
+PASS crypto.subtle.importKey("jwk", {kty: "oct", k: k256, alg: ""}, "aes-kw", extractable, ["wrapKey", "unwrapKey"]) rejected promise  with DataError: Data provided to an operation does not meet requirements.
+PASS crypto.subtle.importKey("jwk", {kty: "oct", k: k128, alg: "A192CFB8"}, "aes-cfb-8", extractable, ["encrypt", "decrypt", "wrapKey", "unwrapKey"]) rejected promise  with DataError: Data provided to an operation does not meet requirements.
+PASS crypto.subtle.importKey("jwk", {kty: "oct", k: k192, alg: "A256CFB8"}, "aes-cfb-8", extractable, ["encrypt", "decrypt", "wrapKey", "unwrapKey"]) rejected promise  with DataError: Data provided to an operation does not meet requirements.
+PASS crypto.subtle.importKey("jwk", {kty: "oct", k: k256, alg: "A128CFB8"}, "aes-cfb-8", extractable, ["encrypt", "decrypt", "wrapKey", "unwrapKey"]) rejected promise  with DataError: Data provided to an operation does not meet requirements.
+PASS crypto.subtle.importKey("jwk", {kty: "oct", k: "A72F", alg: "foo"}, "aes-cfb-8", extractable, ["wrapKey", "unwrapKey"]) rejected promise  with DataError: Data provided to an operation does not meet requirements.
+PASS crypto.subtle.importKey("jwk", {kty: "oct", k: k128, alg: ""}, "aes-cfb-8", extractable, ["wrapKey", "unwrapKey"]) rejected promise  with DataError: Data provided to an operation does not meet requirements.
+PASS crypto.subtle.importKey("jwk", {kty: "oct", k: k192, alg: ""}, "aes-cfb-8", extractable, ["wrapKey", "unwrapKey"]) rejected promise  with DataError: Data provided to an operation does not meet requirements.
+PASS crypto.subtle.importKey("jwk", {kty: "oct", k: k256, alg: ""}, "aes-cfb-8", extractable, ["wrapKey", "unwrapKey"]) rejected promise  with DataError: Data provided to an operation does not meet requirements.
+PASS crypto.subtle.importKey("jwk", {kty: "oct", k: k128, alg: "A192GCM"}, "aes-gcm", extractable, ["encrypt", "decrypt", "wrapKey", "unwrapKey"]) rejected promise  with DataError: Data provided to an operation does not meet requirements.
+PASS crypto.subtle.importKey("jwk", {kty: "oct", k: k192, alg: "A256GCM"}, "aes-gcm", extractable, ["encrypt", "decrypt", "wrapKey", "unwrapKey"]) rejected promise  with DataError: Data provided to an operation does not meet requirements.
+PASS crypto.subtle.importKey("jwk", {kty: "oct", k: k256, alg: "A128GCM"}, "aes-gcm", extractable, ["encrypt", "decrypt", "wrapKey", "unwrapKey"]) rejected promise  with DataError: Data provided to an operation does not meet requirements.
+PASS crypto.subtle.importKey("jwk", {kty: "oct", k: "A72F", alg: "foo"}, "aes-gcm", extractable, ["wrapKey", "unwrapKey"]) rejected promise  with DataError: Data provided to an operation does not meet requirements.
+PASS crypto.subtle.importKey("jwk", {kty: "oct", k: k128, alg: ""}, "aes-gcm", extractable, ["wrapKey", "unwrapKey"]) rejected promise  with DataError: Data provided to an operation does not meet requirements.
+PASS crypto.subtle.importKey("jwk", {kty: "oct", k: k192, alg: ""}, "aes-gcm", extractable, ["wrapKey", "unwrapKey"]) rejected promise  with DataError: Data provided to an operation does not meet requirements.
+PASS crypto.subtle.importKey("jwk", {kty: "oct", k: k256, alg: ""}, "aes-gcm", extractable, ["wrapKey", "unwrapKey"]) rejected promise  with DataError: Data provided to an operation does not meet requirements.
+PASS crypto.subtle.importKey("jwk", {kty: "oct", k: k128, alg: "A192CTR"}, "aes-ctr", extractable, ["encrypt", "decrypt", "wrapKey", "unwrapKey"]) rejected promise  with DataError: Data provided to an operation does not meet requirements.
+PASS crypto.subtle.importKey("jwk", {kty: "oct", k: k192, alg: "A256CTR"}, "aes-ctr", extractable, ["encrypt", "decrypt", "wrapKey", "unwrapKey"]) rejected promise  with DataError: Data provided to an operation does not meet requirements.
+PASS crypto.subtle.importKey("jwk", {kty: "oct", k: k256, alg: "A128CTR"}, "aes-ctr", extractable, ["encrypt", "decrypt", "wrapKey", "unwrapKey"]) rejected promise  with DataError: Data provided to an operation does not meet requirements.
+PASS crypto.subtle.importKey("jwk", {kty: "oct", k: "A72F", alg: "foo"}, "aes-ctr", extractable, ["wrapKey", "unwrapKey"]) rejected promise  with DataError: Data provided to an operation does not meet requirements.
+PASS crypto.subtle.importKey("jwk", {kty: "oct", k: k128, alg: ""}, "aes-ctr", extractable, ["wrapKey", "unwrapKey"]) rejected promise  with DataError: Data provided to an operation does not meet requirements.
+PASS crypto.subtle.importKey("jwk", {kty: "oct", k: k192, alg: ""}, "aes-ctr", extractable, ["wrapKey", "unwrapKey"]) rejected promise  with DataError: Data provided to an operation does not meet requirements.
+PASS crypto.subtle.importKey("jwk", {kty: "oct", k: k256, alg: ""}, "aes-ctr", extractable, ["wrapKey", "unwrapKey"]) rejected promise  with DataError: Data provided to an operation does not meet requirements.
+PASS crypto.subtle.importKey("jwk", {kty: "oct", k: "!!!", alg: "foo"}, "aes-cbc", extractable, ["encrypt", "decrypt", "wrapKey", "unwrapKey"]) rejected promise  with DataError: Data provided to an operation does not meet requirements.
+PASS crypto.subtle.importKey("jwk", {kty: "oct", k: "", alg: "foo"}, "aes-cbc", extractable, ["encrypt", "decrypt", "wrapKey", "unwrapKey"]) rejected promise  with DataError: Data provided to an operation does not meet requirements.
+PASS crypto.subtle.importKey("jwk", {kty: "oct", k: k128, alg: "A128CBC", use: "sig"}, "aes-cbc", extractable, ["encrypt", "decrypt", "wrapKey", "unwrapKey"]) rejected promise  with DataError: Data provided to an operation does not meet requirements.
+PASS crypto.subtle.importKey("jwk", {kty: "oct", k: k128, alg: "A128CBC", use: ""}, "aes-cbc", extractable, ["encrypt", "decrypt", "wrapKey", "unwrapKey"]) rejected promise  with DataError: Data provided to an operation does not meet requirements.
+PASS crypto.subtle.importKey("jwk", {kty: "oct", k: k128, alg: "A128CBC", key_ops: ["encrypt", "decrypt"]}, "aes-cbc", extractable, ["encrypt", "decrypt", "wrapKey", "unwrapKey"]) rejected promise  with DataError: Data provided to an operation does not meet requirements.
+PASS crypto.subtle.importKey("jwk", {kty: "oct", k: k128, alg: "A128CBC", key_ops: [ ]}, "aes-cbc", extractable, ["encrypt", "decrypt", "wrapKey", "unwrapKey"]) rejected promise  with DataError: Data provided to an operation does not meet requirements.
+PASS crypto.subtle.importKey("jwk", {kty: "oct", k: k128, alg: "A128CBC", ext: false}, "aes-cbc", extractable, ["encrypt", "decrypt", "wrapKey", "unwrapKey"]) rejected promise  with DataError: Data provided to an operation does not meet requirements.
 PASS successfullyParsed is true
 
 TEST COMPLETE
index 1ad4808..3032ee3 100644 (file)
@@ -3,7 +3,7 @@ Test AES-KW WrapKey operation with malformed parameters
 On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
 
 
-PASS crypto.subtle.wrapKey("jwk", key, wrappingKey, "AES-KW") rejected promise  with OperationError (DOM Exception 34): The operation failed for an operation-specific reason.
+PASS crypto.subtle.wrapKey("jwk", key, wrappingKey, "AES-KW") rejected promise  with OperationError: The operation failed for an operation-specific reason.
 PASS successfullyParsed is true
 
 TEST COMPLETE
index 95da369..90b6172 100644 (file)
@@ -6,8 +6,8 @@ On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE
 PASS crypto.subtle.decrypt() rejected promise  with TypeError: Not enough arguments.
 PASS crypto.subtle.decrypt(1) rejected promise  with TypeError: Not enough arguments.
 PASS crypto.subtle.decrypt(1, 2) rejected promise  with TypeError: Not enough arguments.
-PASS crypto.subtle.decrypt(aesCbcParams, wrongKey, cipherText) rejected promise  with InvalidAccessError (DOM Exception 15): CryptoKey doesn't match AlgorithmIdentifier.
-PASS crypto.subtle.decrypt(aesCbcParams, wrongKey, cipherText) rejected promise  with InvalidAccessError (DOM Exception 15): CryptoKey doesn't support decryption.
+PASS crypto.subtle.decrypt(aesCbcParams, wrongKey, cipherText) rejected promise  with InvalidAccessError: CryptoKey doesn't match AlgorithmIdentifier.
+PASS crypto.subtle.decrypt(aesCbcParams, wrongKey, cipherText) rejected promise  with InvalidAccessError: CryptoKey doesn't support decryption.
 PASS successfullyParsed is true
 
 TEST COMPLETE
index 3d22cff..00b0fbd 100644 (file)
@@ -6,8 +6,8 @@ On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE
 PASS crypto.subtle.deriveBits() rejected promise  with TypeError: Not enough arguments.
 PASS crypto.subtle.deriveBits(1) rejected promise  with TypeError: Not enough arguments.
 PASS crypto.subtle.deriveBits(1, 2) rejected promise  with TypeError: Not enough arguments.
-PASS crypto.subtle.deriveBits({ name:"ECDH", public:wrongKey }, wrongKey, 128) rejected promise  with InvalidAccessError (DOM Exception 15): CryptoKey doesn't match AlgorithmIdentifier.
-PASS crypto.subtle.deriveBits({ name:"ECDH", public:wrongKey }, wrongKey, 128) rejected promise  with InvalidAccessError (DOM Exception 15): CryptoKey doesn't support bits derivation.
+PASS crypto.subtle.deriveBits({ name:"ECDH", public:wrongKey }, wrongKey, 128) rejected promise  with InvalidAccessError: CryptoKey doesn't match AlgorithmIdentifier.
+PASS crypto.subtle.deriveBits({ name:"ECDH", public:wrongKey }, wrongKey, 128) rejected promise  with InvalidAccessError: CryptoKey doesn't support bits derivation.
 PASS successfullyParsed is true
 
 TEST COMPLETE
index 422f225..c421bbc 100644 (file)
@@ -9,15 +9,15 @@ PASS crypto.subtle.deriveKey(1, 2) rejected promise  with TypeError: Not enough
 PASS crypto.subtle.deriveKey(1, 2, 3) rejected promise  with TypeError: Not enough arguments.
 PASS crypto.subtle.deriveKey(1, 2, 3, 4) rejected promise  with TypeError: Not enough arguments.
 PASS crypto.subtle.deriveKey({ name:"ECDH", public:publicKey }, privateKey, "AES-CBC", extractable, ["encrypt"]) rejected promise  with TypeError: Member AesKeyParams.length is required and must be an instance of unsigned short.
-PASS crypto.subtle.deriveKey({ name:"ECDH", public:publicKey }, privateKey, "RSAES-PKCS1-v1_5", extractable, ["encrypt"]) rejected promise  with NotSupportedError (DOM Exception 9): The operation is not supported..
-PASS crypto.subtle.deriveKey({ name:"ECDH", public:publicKey }, privateKey, {name: "RSA-OAEP", hash: "sha-1"}, extractable, ["encrypt"]) rejected promise  with NotSupportedError (DOM Exception 9): The operation is not supported..
-PASS crypto.subtle.deriveKey({ name:"ECDH", public:publicKey }, privateKey, {name: "ECDH", namedCurve: "P-256"}, extractable, ["encrypt"]) rejected promise  with NotSupportedError (DOM Exception 9): The operation is not supported..
-PASS crypto.subtle.deriveKey({ name:"ECDH", public:publicKey }, wrongKey, {name: "aes-cbc", length: 128}, extractable, ["encrypt"]) rejected promise  with InvalidAccessError (DOM Exception 15): CryptoKey doesn't match AlgorithmIdentifier.
-PASS crypto.subtle.deriveKey({ name:"ECDH", public:publicKey }, wrongKey, {name: "aes-cbc", length: 128}, extractable, ["encrypt"]) rejected promise  with InvalidAccessError (DOM Exception 15): CryptoKey doesn't support CryptoKey derivation.
-PASS crypto.subtle.deriveKey({ name:"ECDH", public:publicKey }, privateKey, {name: "aes-cbc", length: 1}, extractable, ["encrypt"]) rejected promise  with OperationError (DOM Exception 34): Cannot get key length from derivedKeyType.
-PASS crypto.subtle.deriveKey({ name:"ECDH", public:publicKey }, privateKey, {name: "hmac", hash: "hmac"}, extractable, ["sign"]) rejected promise  with NotSupportedError (DOM Exception 9): The operation is not supported..
+PASS crypto.subtle.deriveKey({ name:"ECDH", public:publicKey }, privateKey, "RSAES-PKCS1-v1_5", extractable, ["encrypt"]) rejected promise  with NotSupportedError: The operation is not supported..
+PASS crypto.subtle.deriveKey({ name:"ECDH", public:publicKey }, privateKey, {name: "RSA-OAEP", hash: "sha-1"}, extractable, ["encrypt"]) rejected promise  with NotSupportedError: The operation is not supported..
+PASS crypto.subtle.deriveKey({ name:"ECDH", public:publicKey }, privateKey, {name: "ECDH", namedCurve: "P-256"}, extractable, ["encrypt"]) rejected promise  with NotSupportedError: The operation is not supported..
+PASS crypto.subtle.deriveKey({ name:"ECDH", public:publicKey }, wrongKey, {name: "aes-cbc", length: 128}, extractable, ["encrypt"]) rejected promise  with InvalidAccessError: CryptoKey doesn't match AlgorithmIdentifier.
+PASS crypto.subtle.deriveKey({ name:"ECDH", public:publicKey }, wrongKey, {name: "aes-cbc", length: 128}, extractable, ["encrypt"]) rejected promise  with InvalidAccessError: CryptoKey doesn't support CryptoKey derivation.
+PASS crypto.subtle.deriveKey({ name:"ECDH", public:publicKey }, privateKey, {name: "aes-cbc", length: 1}, extractable, ["encrypt"]) rejected promise  with OperationError: Cannot get key length from derivedKeyType.
+PASS crypto.subtle.deriveKey({ name:"ECDH", public:publicKey }, privateKey, {name: "hmac", hash: "hmac"}, extractable, ["sign"]) rejected promise  with NotSupportedError: The operation is not supported..
 PASS crypto.subtle.deriveKey({ name:"ECDH", public:publicKey }, privateKey, {name: "hmac", hash: "sha-1", length: 0}, extractable, ["sign"]) rejected promise  with TypeError: Cannot get key length from derivedKeyType.
-PASS crypto.subtle.deriveKey({ name:"ECDH", public:publicKey }, privateKey, {name: "aes-cbc", length: 128}, extractable, [ ]) rejected promise  with SyntaxError (DOM Exception 12): A required parameter was missing or out-of-range.
+PASS crypto.subtle.deriveKey({ name:"ECDH", public:publicKey }, privateKey, {name: "aes-cbc", length: 128}, extractable, [ ]) rejected promise  with SyntaxError: A required parameter was missing or out-of-range.
 PASS successfullyParsed is true
 
 TEST COMPLETE
index bf2fb04..48cb287 100644 (file)
@@ -3,9 +3,9 @@ Test exporting an EC key with malformed parameters
 On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
 
 
-PASS crypto.subtle.exportKey("raw", privateKey) rejected promise  with InvalidAccessError (DOM Exception 15): The requested operation is not valid for the provided key.
-PASS crypto.subtle.exportKey("spki", privateKey) rejected promise  with InvalidAccessError (DOM Exception 15): The requested operation is not valid for the provided key.
-PASS crypto.subtle.exportKey("pkcs8", publicKey) rejected promise  with InvalidAccessError (DOM Exception 15): The requested operation is not valid for the provided key.
+PASS crypto.subtle.exportKey("raw", privateKey) rejected promise  with InvalidAccessError: The requested operation is not valid for the provided key.
+PASS crypto.subtle.exportKey("spki", privateKey) rejected promise  with InvalidAccessError: The requested operation is not valid for the provided key.
+PASS crypto.subtle.exportKey("pkcs8", publicKey) rejected promise  with InvalidAccessError: The requested operation is not valid for the provided key.
 PASS successfullyParsed is true
 
 TEST COMPLETE
index 352fda0..607c391 100644 (file)
@@ -5,25 +5,25 @@ On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE
 
 PASS crypto.subtle.generateKey("ecdh", extractable, ["deriveKey", "deriveBits"]) rejected promise  with TypeError: Member EcKeyParams.namedCurve is required and must be an instance of DOMString.
 PASS crypto.subtle.generateKey({name: "ecdh"}, extractable, ["deriveKey", "deriveBits"]) rejected promise  with TypeError: Member EcKeyParams.namedCurve is required and must be an instance of DOMString.
-PASS crypto.subtle.generateKey({name: "ecdh", namedCurve: true}, extractable, ["deriveKey", "deriveBits"]) rejected promise  with NotSupportedError (DOM Exception 9): The algorithm is not supported.
-PASS crypto.subtle.generateKey({name: "ecdh", namedCurve: null}, extractable, ["deriveKey", "deriveBits"]) rejected promise  with NotSupportedError (DOM Exception 9): The algorithm is not supported.
+PASS crypto.subtle.generateKey({name: "ecdh", namedCurve: true}, extractable, ["deriveKey", "deriveBits"]) rejected promise  with NotSupportedError: The algorithm is not supported.
+PASS crypto.subtle.generateKey({name: "ecdh", namedCurve: null}, extractable, ["deriveKey", "deriveBits"]) rejected promise  with NotSupportedError: The algorithm is not supported.
 PASS crypto.subtle.generateKey({name: "ecdh", namedCurve: undefined}, extractable, ["deriveKey", "deriveBits"]) rejected promise  with TypeError: Member EcKeyParams.namedCurve is required and must be an instance of DOMString.
 PASS crypto.subtle.generateKey({name: "ecdh", namedCurve: Symbol()}, extractable, ["deriveKey", "deriveBits"]) rejected promise  with TypeError: Cannot convert a symbol to a string.
-PASS crypto.subtle.generateKey({name: "ecdh", namedCurve: { }}, extractable, ["deriveKey", "deriveBits"]) rejected promise  with NotSupportedError (DOM Exception 9): The algorithm is not supported.
-PASS crypto.subtle.generateKey({name: "ecdh", namedCurve: 1}, extractable, ["deriveKey", "deriveBits"]) rejected promise  with NotSupportedError (DOM Exception 9): The algorithm is not supported.
-PASS crypto.subtle.generateKey({name: "ecdh", namedCurve: "P-256"}, extractable, ["encrypt"]) rejected promise  with SyntaxError (DOM Exception 12): A required parameter was missing or out-of-range.
-PASS crypto.subtle.generateKey({name: "ecdh", namedCurve: "P-256"}, extractable, ["decrypt"]) rejected promise  with SyntaxError (DOM Exception 12): A required parameter was missing or out-of-range.
-PASS crypto.subtle.generateKey({name: "ecdh", namedCurve: "P-256"}, extractable, ["sign"]) rejected promise  with SyntaxError (DOM Exception 12): A required parameter was missing or out-of-range.
-PASS crypto.subtle.generateKey({name: "ecdh", namedCurve: "P-256"}, extractable, ["verify"]) rejected promise  with SyntaxError (DOM Exception 12): A required parameter was missing or out-of-range.
-PASS crypto.subtle.generateKey({name: "ecdh", namedCurve: "P-256"}, extractable, ["wrapKey"]) rejected promise  with SyntaxError (DOM Exception 12): A required parameter was missing or out-of-range.
-PASS crypto.subtle.generateKey({name: "ecdh", namedCurve: "P-256"}, extractable, ["unwrapKey"]) rejected promise  with SyntaxError (DOM Exception 12): A required parameter was missing or out-of-range.
-PASS crypto.subtle.generateKey({name: "ecdsa", namedCurve: "P-256"}, extractable, ["encrypt"]) rejected promise  with SyntaxError (DOM Exception 12): A required parameter was missing or out-of-range.
-PASS crypto.subtle.generateKey({name: "ecdsa", namedCurve: "P-256"}, extractable, ["decrypt"]) rejected promise  with SyntaxError (DOM Exception 12): A required parameter was missing or out-of-range.
-PASS crypto.subtle.generateKey({name: "ecdsa", namedCurve: "P-256"}, extractable, ["deriveKey"]) rejected promise  with SyntaxError (DOM Exception 12): A required parameter was missing or out-of-range.
-PASS crypto.subtle.generateKey({name: "ecdsa", namedCurve: "P-256"}, extractable, ["deriveBits"]) rejected promise  with SyntaxError (DOM Exception 12): A required parameter was missing or out-of-range.
-PASS crypto.subtle.generateKey({name: "ecdsa", namedCurve: "P-256"}, extractable, ["wrapKey"]) rejected promise  with SyntaxError (DOM Exception 12): A required parameter was missing or out-of-range.
-PASS crypto.subtle.generateKey({name: "ecdsa", namedCurve: "P-256"}, extractable, ["unwrapKey"]) rejected promise  with SyntaxError (DOM Exception 12): A required parameter was missing or out-of-range.
-PASS crypto.subtle.generateKey({name: "ecdh", namedCurve: "P-521"}, extractable, ["deriveKey"]) rejected promise  with NotSupportedError (DOM Exception 9): The algorithm is not supported.
+PASS crypto.subtle.generateKey({name: "ecdh", namedCurve: { }}, extractable, ["deriveKey", "deriveBits"]) rejected promise  with NotSupportedError: The algorithm is not supported.
+PASS crypto.subtle.generateKey({name: "ecdh", namedCurve: 1}, extractable, ["deriveKey", "deriveBits"]) rejected promise  with NotSupportedError: The algorithm is not supported.
+PASS crypto.subtle.generateKey({name: "ecdh", namedCurve: "P-256"}, extractable, ["encrypt"]) rejected promise  with SyntaxError: A required parameter was missing or out-of-range.
+PASS crypto.subtle.generateKey({name: "ecdh", namedCurve: "P-256"}, extractable, ["decrypt"]) rejected promise  with SyntaxError: A required parameter was missing or out-of-range.
+PASS crypto.subtle.generateKey({name: "ecdh", namedCurve: "P-256"}, extractable, ["sign"]) rejected promise  with SyntaxError: A required parameter was missing or out-of-range.
+PASS crypto.subtle.generateKey({name: "ecdh", namedCurve: "P-256"}, extractable, ["verify"]) rejected promise  with SyntaxError: A required parameter was missing or out-of-range.
+PASS crypto.subtle.generateKey({name: "ecdh", namedCurve: "P-256"}, extractable, ["wrapKey"]) rejected promise  with SyntaxError: A required parameter was missing or out-of-range.
+PASS crypto.subtle.generateKey({name: "ecdh", namedCurve: "P-256"}, extractable, ["unwrapKey"]) rejected promise  with SyntaxError: A required parameter was missing or out-of-range.
+PASS crypto.subtle.generateKey({name: "ecdsa", namedCurve: "P-256"}, extractable, ["encrypt"]) rejected promise  with SyntaxError: A required parameter was missing or out-of-range.
+PASS crypto.subtle.generateKey({name: "ecdsa", namedCurve: "P-256"}, extractable, ["decrypt"]) rejected promise  with SyntaxError: A required parameter was missing or out-of-range.
+PASS crypto.subtle.generateKey({name: "ecdsa", namedCurve: "P-256"}, extractable, ["deriveKey"]) rejected promise  with SyntaxError: A required parameter was missing or out-of-range.
+PASS crypto.subtle.generateKey({name: "ecdsa", namedCurve: "P-256"}, extractable, ["deriveBits"]) rejected promise  with SyntaxError: A required parameter was missing or out-of-range.
+PASS crypto.subtle.generateKey({name: "ecdsa", namedCurve: "P-256"}, extractable, ["wrapKey"]) rejected promise  with SyntaxError: A required parameter was missing or out-of-range.
+PASS crypto.subtle.generateKey({name: "ecdsa", namedCurve: "P-256"}, extractable, ["unwrapKey"]) rejected promise  with SyntaxError: A required parameter was missing or out-of-range.
+PASS crypto.subtle.generateKey({name: "ecdh", namedCurve: "P-521"}, extractable, ["deriveKey"]) rejected promise  with NotSupportedError: The algorithm is not supported.
 PASS successfullyParsed is true
 
 TEST COMPLETE
index 2384c91..a5f7185 100644 (file)
@@ -3,98 +3,98 @@ Test importing a EC key with malformed parameters
 On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
 
 
-PASS crypto.subtle.importKey("raw", rawP256Key, { name: "ECDH", namedCurve: "P-384" }, extractable, [ ]) rejected promise  with DataError (DOM Exception 30): Data provided to an operation does not meet requirements.
-PASS crypto.subtle.importKey("raw", rawP384Key, { name: "ECDH", namedCurve: "P-256" }, extractable, [ ]) rejected promise  with DataError (DOM Exception 30): Data provided to an operation does not meet requirements.
-PASS crypto.subtle.importKey("raw", rawP256Key, { name: "ECDH", namedCurve: "P-256" }, extractable, ["deriveBits"]) rejected promise  with SyntaxError (DOM Exception 12): A required parameter was missing or out-of-range.
-PASS crypto.subtle.importKey("raw", rawP256Key, { name: "ECDSA", namedCurve: "P-256" }, extractable, ["sign"]) rejected promise  with SyntaxError (DOM Exception 12): A required parameter was missing or out-of-range.
-PASS crypto.subtle.importKey("raw", rawP256Key, { name: "ECDH", namedCurve: "P-521" }, extractable, [ ]) rejected promise  with DataError (DOM Exception 30): Data provided to an operation does not meet requirements.
-PASS crypto.subtle.importKey("jwk", {kty: "EC", crv: "P-256", x:x, y:y}, { name: "ECDH", namedCurve: "P-256" }, extractable, ["deriveKey"]) rejected promise  with SyntaxError (DOM Exception 12): A required parameter was missing or out-of-range.
-PASS crypto.subtle.importKey("jwk", {kty: "EC", crv: "P-256", x:x, y:y, d:d}, { name: "ECDH", namedCurve: "P-256" }, extractable, ["encrypt"]) rejected promise  with SyntaxError (DOM Exception 12): A required parameter was missing or out-of-range.
-PASS crypto.subtle.importKey("jwk", {kty: "EC", crv: "P-256", x:x, y:y, d:d}, { name: "ECDH", namedCurve: "P-256" }, extractable, ["decrypt"]) rejected promise  with SyntaxError (DOM Exception 12): A required parameter was missing or out-of-range.
-PASS crypto.subtle.importKey("jwk", {kty: "EC", crv: "P-256", x:x, y:y, d:d}, { name: "ECDH", namedCurve: "P-256" }, extractable, ["sign"]) rejected promise  with SyntaxError (DOM Exception 12): A required parameter was missing or out-of-range.
-PASS crypto.subtle.importKey("jwk", {kty: "EC", crv: "P-256", x:x, y:y, d:d}, { name: "ECDH", namedCurve: "P-256" }, extractable, ["verify"]) rejected promise  with SyntaxError (DOM Exception 12): A required parameter was missing or out-of-range.
-PASS crypto.subtle.importKey("jwk", {kty: "EC", crv: "P-256", x:x, y:y, d:d}, { name: "ECDH", namedCurve: "P-256" }, extractable, ["wrapKey"]) rejected promise  with SyntaxError (DOM Exception 12): A required parameter was missing or out-of-range.
-PASS crypto.subtle.importKey("jwk", {kty: "EC", crv: "P-256", x:x, y:y, d:d}, { name: "ECDH", namedCurve: "P-256" }, extractable, ["unwrapKey"]) rejected promise  with SyntaxError (DOM Exception 12): A required parameter was missing or out-of-range.
-PASS crypto.subtle.importKey("jwk", {kty: "EC", crv: "P-256", x:x, y:y}, { name: "ECDSA", namedCurve: "P-256" }, extractable, ["encrypt"]) rejected promise  with SyntaxError (DOM Exception 12): A required parameter was missing or out-of-range.
-PASS crypto.subtle.importKey("jwk", {kty: "EC", crv: "P-256", x:x, y:y}, { name: "ECDSA", namedCurve: "P-256" }, extractable, ["decrypt"]) rejected promise  with SyntaxError (DOM Exception 12): A required parameter was missing or out-of-range.
-PASS crypto.subtle.importKey("jwk", {kty: "EC", crv: "P-256", x:x, y:y}, { name: "ECDSA", namedCurve: "P-256" }, extractable, ["sign"]) rejected promise  with SyntaxError (DOM Exception 12): A required parameter was missing or out-of-range.
-PASS crypto.subtle.importKey("jwk", {kty: "EC", crv: "P-256", x:x, y:y}, { name: "ECDSA", namedCurve: "P-256" }, extractable, ["deriveKey"]) rejected promise  with SyntaxError (DOM Exception 12): A required parameter was missing or out-of-range.
-PASS crypto.subtle.importKey("jwk", {kty: "EC", crv: "P-256", x:x, y:y}, { name: "ECDSA", namedCurve: "P-256" }, extractable, ["deriveBits"]) rejected promise  with SyntaxError (DOM Exception 12): A required parameter was missing or out-of-range.
-PASS crypto.subtle.importKey("jwk", {kty: "EC", crv: "P-256", x:x, y:y}, { name: "ECDSA", namedCurve: "P-256" }, extractable, ["wrapKey"]) rejected promise  with SyntaxError (DOM Exception 12): A required parameter was missing or out-of-range.
-PASS crypto.subtle.importKey("jwk", {kty: "EC", crv: "P-256", x:x, y:y}, { name: "ECDSA", namedCurve: "P-256" }, extractable, ["unwrapKey"]) rejected promise  with SyntaxError (DOM Exception 12): A required parameter was missing or out-of-range.
-PASS crypto.subtle.importKey("jwk", {kty: "EC", crv: "P-256", x:x, y:y, d:d}, { name: "ECDSA", namedCurve: "P-256" }, extractable, ["encrypt"]) rejected promise  with SyntaxError (DOM Exception 12): A required parameter was missing or out-of-range.
-PASS crypto.subtle.importKey("jwk", {kty: "EC", crv: "P-256", x:x, y:y, d:d}, { name: "ECDSA", namedCurve: "P-256" }, extractable, ["decrypt"]) rejected promise  with SyntaxError (DOM Exception 12): A required parameter was missing or out-of-range.
-PASS crypto.subtle.importKey("jwk", {kty: "EC", crv: "P-256", x:x, y:y, d:d}, { name: "ECDSA", namedCurve: "P-256" }, extractable, ["verify"]) rejected promise  with SyntaxError (DOM Exception 12): A required parameter was missing or out-of-range.
-PASS crypto.subtle.importKey("jwk", {kty: "EC", crv: "P-256", x:x, y:y, d:d}, { name: "ECDSA", namedCurve: "P-256" }, extractable, ["deriveKey"]) rejected promise  with SyntaxError (DOM Exception 12): A required parameter was missing or out-of-range.
-PASS crypto.subtle.importKey("jwk", {kty: "EC", crv: "P-256", x:x, y:y, d:d}, { name: "ECDSA", namedCurve: "P-256" }, extractable, ["deriveBits"]) rejected promise  with SyntaxError (DOM Exception 12): A required parameter was missing or out-of-range.
-PASS crypto.subtle.importKey("jwk", {kty: "EC", crv: "P-256", x:x, y:y, d:d}, { name: "ECDSA", namedCurve: "P-256" }, extractable, ["wrapKey"]) rejected promise  with SyntaxError (DOM Exception 12): A required parameter was missing or out-of-range.
-PASS crypto.subtle.importKey("jwk", {kty: "EC", crv: "P-256", x:x, y:y, d:d}, { name: "ECDSA", namedCurve: "P-256" }, extractable, ["unwrapKey"]) rejected promise  with SyntaxError (DOM Exception 12): A required parameter was missing or out-of-range.
-PASS crypto.subtle.importKey("jwk", {kty: "EC", crv: "P-256", x:x, y:y, alg: "ES384"}, { name: "ECDSA", namedCurve: "P-256" }, extractable, ["verify"]) rejected promise  with DataError (DOM Exception 30): Data provided to an operation does not meet requirements.
-PASS crypto.subtle.importKey("jwk", {kty: "EC", crv: "P-384", x:x, y:y, alg: "ES256"}, { name: "ECDSA", namedCurve: "P-256" }, extractable, ["verify"]) rejected promise  with DataError (DOM Exception 30): Data provided to an operation does not meet requirements.
-PASS crypto.subtle.importKey("jwk", {kty: "EC", crv: "P-256", x:x, y:y, d:d, use: "sig"}, { name: "ECDH", namedCurve: "P-256" }, extractable, ["deriveKey"]) rejected promise  with DataError (DOM Exception 30): Data provided to an operation does not meet requirements.
-PASS crypto.subtle.importKey("jwk", {kty: "EC", crv: "P-256", x:x, y:y, d:d, use: "enc"}, { name: "ECDSA", namedCurve: "P-256" }, extractable, ["sign"]) rejected promise  with DataError (DOM Exception 30): Data provided to an operation does not meet requirements.
-PASS crypto.subtle.importKey("jwk", {kty: "RSA", crv: "P-256", x:x, y:y}, { name: "ECDH", namedCurve: "P-256" }, extractable, [ ]) rejected promise  with DataError (DOM Exception 30): Data provided to an operation does not meet requirements.
-PASS crypto.subtle.importKey("jwk", {kty: "EC", crv: "P-256", x:x, y:y, d:d, key_ops: ["sign", "verify"]}, { name: "ECDH", namedCurve: "P-256" }, extractable, ["deriveKey"]) rejected promise  with DataError (DOM Exception 30): Data provided to an operation does not meet requirements.
-PASS crypto.subtle.importKey("jwk", {kty: "EC", crv: "P-256", x:x, y:y, ext: false}, { name: "ECDH", namedCurve: "P-256" }, extractable, [ ]) rejected promise  with DataError (DOM Exception 30): Data provided to an operation does not meet requirements.
-PASS crypto.subtle.importKey("jwk", {kty: "EC", x:x, y:y}, { name: "ECDH", namedCurve: "P-256" }, extractable, [ ]) rejected promise  with DataError (DOM Exception 30): Data provided to an operation does not meet requirements.
-PASS crypto.subtle.importKey("jwk", {kty: "EC", crv: "P-384", x:x, y:y}, { name: "ECDH", namedCurve: "P-256" }, extractable, [ ]) rejected promise  with DataError (DOM Exception 30): Data provided to an operation does not meet requirements.
-PASS crypto.subtle.importKey("jwk", {kty: "EC", crv: "P-521", x:x, y:y}, { name: "ECDH", namedCurve: "P-521" }, extractable, [ ]) rejected promise  with DataError (DOM Exception 30): Data provided to an operation does not meet requirements.
-PASS crypto.subtle.importKey("jwk", {kty: "EC", crv: "P-256", y:y}, { name: "ECDH", namedCurve: "P-256" }, extractable, [ ]) rejected promise  with DataError (DOM Exception 30): Data provided to an operation does not meet requirements.
-PASS crypto.subtle.importKey("jwk", {kty: "EC", crv: "P-256", x:x}, { name: "ECDH", namedCurve: "P-256" }, extractable, [ ]) rejected promise  with DataError (DOM Exception 30): Data provided to an operation does not meet requirements.
-PASS crypto.subtle.importKey("jwk", {kty: "EC", crv: "P-384", x:x, y:y}, { name: "ECDH", namedCurve: "P-384" }, extractable, [ ]) rejected promise  with DataError (DOM Exception 30): Data provided to an operation does not meet requirements.
-PASS crypto.subtle.importKey("jwk", {kty: "EC", crv: "P-384", x:x384, y:y}, { name: "ECDH", namedCurve: "P-384" }, extractable, [ ]) rejected promise  with DataError (DOM Exception 30): Data provided to an operation does not meet requirements.
-PASS crypto.subtle.importKey("jwk", {kty: "EC", crv: "P-384", x:x, y:y384}, { name: "ECDH", namedCurve: "P-384" }, extractable, [ ]) rejected promise  with DataError (DOM Exception 30): Data provided to an operation does not meet requirements.
-PASS crypto.subtle.importKey("jwk", {kty: "EC", crv: "P-384", x:x384, y:y384, d:d}, { name: "ECDH", namedCurve: "P-384" }, extractable, [ ]) rejected promise  with DataError (DOM Exception 30): Data provided to an operation does not meet requirements.
-PASS crypto.subtle.importKey("spki", spkiP256Key, { name: "ECDH", namedCurve: "P-256" }, extractable, ["deriveBits"]) rejected promise  with SyntaxError (DOM Exception 12): A required parameter was missing or out-of-range.
-PASS crypto.subtle.importKey("spki", spkiP256Key, { name: "ECDSA", namedCurve: "P-256" }, extractable, ["encrypt"]) rejected promise  with SyntaxError (DOM Exception 12): A required parameter was missing or out-of-range.
-PASS crypto.subtle.importKey("spki", spkiP256Key, { name: "ECDSA", namedCurve: "P-256" }, extractable, ["decrypt"]) rejected promise  with SyntaxError (DOM Exception 12): A required parameter was missing or out-of-range.
-PASS crypto.subtle.importKey("spki", spkiP256Key, { name: "ECDSA", namedCurve: "P-256" }, extractable, ["sign"]) rejected promise  with SyntaxError (DOM Exception 12): A required parameter was missing or out-of-range.
-PASS crypto.subtle.importKey("spki", spkiP256Key, { name: "ECDSA", namedCurve: "P-256" }, extractable, ["deriveKey"]) rejected promise  with SyntaxError (DOM Exception 12): A required parameter was missing or out-of-range.
-PASS crypto.subtle.importKey("spki", spkiP256Key, { name: "ECDSA", namedCurve: "P-256" }, extractable, ["deriveBits"]) rejected promise  with SyntaxError (DOM Exception 12): A required parameter was missing or out-of-range.
-PASS crypto.subtle.importKey("spki", spkiP256Key, { name: "ECDSA", namedCurve: "P-256" }, extractable, ["wrapKey"]) rejected promise  with SyntaxError (DOM Exception 12): A required parameter was missing or out-of-range.
-PASS crypto.subtle.importKey("spki", spkiP256Key, { name: "ECDSA", namedCurve: "P-256" }, extractable, ["unwrapKey"]) rejected promise  with SyntaxError (DOM Exception 12): A required parameter was missing or out-of-range.
-PASS crypto.subtle.importKey("spki", truncatedSpkiP256Key1, { name: "ECDH", namedCurve: "P-256" }, extractable, [ ]) rejected promise  with DataError (DOM Exception 30): Data provided to an operation does not meet requirements.
-PASS crypto.subtle.importKey("spki", truncatedSpkiP256Key2, { name: "ECDH", namedCurve: "P-256" }, extractable, [ ]) rejected promise  with DataError (DOM Exception 30): Data provided to an operation does not meet requirements.
-PASS crypto.subtle.importKey("spki", truncatedSpkiP256Key3, { name: "ECDH", namedCurve: "P-256" }, extractable, [ ]) rejected promise  with DataError (DOM Exception 30): Data provided to an operation does not meet requirements.
-PASS crypto.subtle.importKey("spki", truncatedSpkiP256Key4, { name: "ECDH", namedCurve: "P-256" }, extractable, [ ]) rejected promise  with DataError (DOM Exception 30): Data provided to an operation does not meet requirements.
-PASS crypto.subtle.importKey("spki", truncatedSpkiP256Key5, { name: "ECDH", namedCurve: "P-256" }, extractable, [ ]) rejected promise  with DataError (DOM Exception 30): Data provided to an operation does not meet requirements.
-PASS crypto.subtle.importKey("spki", truncatedSpkiP256Key6, { name: "ECDH", namedCurve: "P-256" }, extractable, [ ]) rejected promise  with DataError (DOM Exception 30): Data provided to an operation does not meet requirements.
-PASS crypto.subtle.importKey("spki", truncatedSpkiP256Key7, { name: "ECDH", namedCurve: "P-256" }, extractable, [ ]) rejected promise  with DataError (DOM Exception 30): Data provided to an operation does not meet requirements.
-PASS crypto.subtle.importKey("spki", truncatedSpkiP256Key8, { name: "ECDH", namedCurve: "P-256" }, extractable, [ ]) rejected promise  with DataError (DOM Exception 30): Data provided to an operation does not meet requirements.
-PASS crypto.subtle.importKey("spki", truncatedSpkiP384Key1, { name: "ECDH", namedCurve: "P-384" }, extractable, [ ]) rejected promise  with DataError (DOM Exception 30): Data provided to an operation does not meet requirements.
-PASS crypto.subtle.importKey("spki", truncatedSpkiP384Key2, { name: "ECDH", namedCurve: "P-384" }, extractable, [ ]) rejected promise  with DataError (DOM Exception 30): Data provided to an operation does not meet requirements.
-PASS crypto.subtle.importKey("spki", truncatedSpkiP384Key3, { name: "ECDH", namedCurve: "P-384" }, extractable, [ ]) rejected promise  with DataError (DOM Exception 30): Data provided to an operation does not meet requirements.
-PASS crypto.subtle.importKey("spki", spkiP256Key, { name: "ECDH", namedCurve: "P-384" }, extractable, [ ]) rejected promise  with DataError (DOM Exception 30): Data provided to an operation does not meet requirements.
-PASS crypto.subtle.importKey("spki", spkiP384Key, { name: "ECDH", namedCurve: "P-256" }, extractable, [ ]) rejected promise  with DataError (DOM Exception 30): Data provided to an operation does not meet requirements.
-PASS crypto.subtle.importKey("spki", corruptedSpkiP256Key, { name: "ECDH", namedCurve: "P-256" }, extractable, [ ]) rejected promise  with DataError (DOM Exception 30): Data provided to an operation does not meet requirements.
-PASS crypto.subtle.importKey("pkcs8", pkcs8P256Key, { name: "ECDH", namedCurve: "P-256" }, extractable, ["encrypt"]) rejected promise  with SyntaxError (DOM Exception 12): A required parameter was missing or out-of-range.
-PASS crypto.subtle.importKey("pkcs8", pkcs8P256Key, { name: "ECDH", namedCurve: "P-256" }, extractable, ["decrypt"]) rejected promise  with SyntaxError (DOM Exception 12): A required parameter was missing or out-of-range.
-PASS crypto.subtle.importKey("pkcs8", pkcs8P256Key, { name: "ECDH", namedCurve: "P-256" }, extractable, ["sign"]) rejected promise  with SyntaxError (DOM Exception 12): A required parameter was missing or out-of-range.
-PASS crypto.subtle.importKey("pkcs8", pkcs8P256Key, { name: "ECDH", namedCurve: "P-256" }, extractable, ["verify"]) rejected promise  with SyntaxError (DOM Exception 12): A required parameter was missing or out-of-range.
-PASS crypto.subtle.importKey("pkcs8", pkcs8P256Key, { name: "ECDH", namedCurve: "P-256" }, extractable, ["wrapKey"]) rejected promise  with SyntaxError (DOM Exception 12): A required parameter was missing or out-of-range.
-PASS crypto.subtle.importKey("pkcs8", pkcs8P256Key, { name: "ECDH", namedCurve: "P-256" }, extractable, ["unwrapKey"]) rejected promise  with SyntaxError (DOM Exception 12): A required parameter was missing or out-of-range.
-PASS crypto.subtle.importKey("pkcs8", pkcs8P256Key, { name: "ECDSA", namedCurve: "P-256" }, extractable, ["encrypt"]) rejected promise  with SyntaxError (DOM Exception 12): A required parameter was missing or out-of-range.
-PASS crypto.subtle.importKey("pkcs8", pkcs8P256Key, { name: "ECDSA", namedCurve: "P-256" }, extractable, ["decrypt"]) rejected promise  with SyntaxError (DOM Exception 12): A required parameter was missing or out-of-range.
-PASS crypto.subtle.importKey("pkcs8", pkcs8P256Key, { name: "ECDSA", namedCurve: "P-256" }, extractable, ["verify"]) rejected promise  with SyntaxError (DOM Exception 12): A required parameter was missing or out-of-range.
-PASS crypto.subtle.importKey("pkcs8", pkcs8P256Key, { name: "ECDSA", namedCurve: "P-256" }, extractable, ["deriveKey"]) rejected promise  with SyntaxError (DOM Exception 12): A required parameter was missing or out-of-range.
-PASS crypto.subtle.importKey("pkcs8", pkcs8P256Key, { name: "ECDSA", namedCurve: "P-256" }, extractable, ["deriveBits"]) rejected promise  with SyntaxError (DOM Exception 12): A required parameter was missing or out-of-range.
-PASS crypto.subtle.importKey("pkcs8", pkcs8P256Key, { name: "ECDSA", namedCurve: "P-256" }, extractable, ["wrapKey"]) rejected promise  with SyntaxError (DOM Exception 12): A required parameter was missing or out-of-range.
-PASS crypto.subtle.importKey("pkcs8", pkcs8P256Key, { name: "ECDSA", namedCurve: "P-256" }, extractable, ["unwrapKey"]) rejected promise  with SyntaxError (DOM Exception 12): A required parameter was missing or out-of-range.
-PASS crypto.subtle.importKey("pkcs8", truncatedPkcs8P256Key1, { name: "ECDH", namedCurve: "P-256" }, extractable, ["deriveKey"]) rejected promise  with DataError (DOM Exception 30): Data provided to an operation does not meet requirements.
-PASS crypto.subtle.importKey("pkcs8", truncatedPkcs8P256Key2, { name: "ECDH", namedCurve: "P-256" }, extractable, ["deriveKey"]) rejected promise  with DataError (DOM Exception 30): Data provided to an operation does not meet requirements.
-PASS crypto.subtle.importKey("pkcs8", truncatedPkcs8P256Key3, { name: "ECDH", namedCurve: "P-256" }, extractable, ["deriveKey"]) rejected promise  with DataError (DOM Exception 30): Data provided to an operation does not meet requirements.
-PASS crypto.subtle.importKey("pkcs8", truncatedPkcs8P256Key4, { name: "ECDH", namedCurve: "P-256" }, extractable, ["deriveKey"]) rejected promise  with DataError (DOM Exception 30): Data provided to an operation does not meet requirements.
-PASS crypto.subtle.importKey("pkcs8", truncatedPkcs8P256Key5, { name: "ECDH", namedCurve: "P-256" }, extractable, ["deriveKey"]) rejected promise  with DataError (DOM Exception 30): Data provided to an operation does not meet requirements.
-PASS crypto.subtle.importKey("pkcs8", truncatedPkcs8P256Key6, { name: "ECDH", namedCurve: "P-256" }, extractable, ["deriveKey"]) rejected promise  with DataError (DOM Exception 30): Data provided to an operation does not meet requirements.
-PASS crypto.subtle.importKey("pkcs8", truncatedPkcs8P256Key7, { name: "ECDH", namedCurve: "P-256" }, extractable, ["deriveKey"]) rejected promise  with DataError (DOM Exception 30): Data provided to an operation does not meet requirements.
-PASS crypto.subtle.importKey("pkcs8", truncatedPkcs8P256Key8, { name: "ECDH", namedCurve: "P-256" }, extractable, ["deriveKey"]) rejected promise  with DataError (DOM Exception 30): Data provided to an operation does not meet requirements.
-PASS crypto.subtle.importKey("pkcs8", truncatedPkcs8P256Key9, { name: "ECDH", namedCurve: "P-256" }, extractable, ["deriveKey"]) rejected promise  with DataError (DOM Exception 30): Data provided to an operation does not meet requirements.
-PASS crypto.subtle.importKey("pkcs8", truncatedPkcs8P256Key10, { name: "ECDH", namedCurve: "P-256" }, extractable, ["deriveKey"]) rejected promise  with DataError (DOM Exception 30): Data provided to an operation does not meet requirements.
-PASS crypto.subtle.importKey("pkcs8", truncatedPkcs8P256Key11, { name: "ECDH", namedCurve: "P-256" }, extractable, ["deriveKey"]) rejected promise  with DataError (DOM Exception 30): Data provided to an operation does not meet requirements.
-PASS crypto.subtle.importKey("pkcs8", truncatedPkcs8P384Key1, { name: "ECDH", namedCurve: "P-384" }, extractable, ["deriveKey"]) rejected promise  with DataError (DOM Exception 30): Data provided to an operation does not meet requirements.
-PASS crypto.subtle.importKey("pkcs8", truncatedPkcs8P384Key2, { name: "ECDH", namedCurve: "P-384" }, extractable, ["deriveKey"]) rejected promise  with DataError (DOM Exception 30): Data provided to an operation does not meet requirements.
-PASS crypto.subtle.importKey("pkcs8", longPkcs8P256Key, { name: "ECDH", namedCurve: "P-256" }, extractable, ["deriveKey"]) rejected promise  with DataError (DOM Exception 30): Data provided to an operation does not meet requirements.
-PASS crypto.subtle.importKey("pkcs8", corruptedPkcs8P256Key, { name: "ECDH", namedCurve: "P-256" }, extractable, ["deriveKey"]) rejected promise  with DataError (DOM Exception 30): Data provided to an operation does not meet requirements.
+PASS crypto.subtle.importKey("raw", rawP256Key, { name: "ECDH", namedCurve: "P-384" }, extractable, [ ]) rejected promise  with DataError: Data provided to an operation does not meet requirements.
+PASS crypto.subtle.importKey("raw", rawP384Key, { name: "ECDH", namedCurve: "P-256" }, extractable, [ ]) rejected promise  with DataError: Data provided to an operation does not meet requirements.
+PASS crypto.subtle.importKey("raw", rawP256Key, { name: "ECDH", namedCurve: "P-256" }, extractable, ["deriveBits"]) rejected promise  with SyntaxError: A required parameter was missing or out-of-range.
+PASS crypto.subtle.importKey("raw", rawP256Key, { name: "ECDSA", namedCurve: "P-256" }, extractable, ["sign"]) rejected promise  with SyntaxError: A required parameter was missing or out-of-range.
+PASS crypto.subtle.importKey("raw", rawP256Key, { name: "ECDH", namedCurve: "P-521" }, extractable, [ ]) rejected promise  with DataError: Data provided to an operation does not meet requirements.
+PASS crypto.subtle.importKey("jwk", {kty: "EC", crv: "P-256", x:x, y:y}, { name: "ECDH", namedCurve: "P-256" }, extractable, ["deriveKey"]) rejected promise  with SyntaxError: A required parameter was missing or out-of-range.
+PASS crypto.subtle.importKey("jwk", {kty: "EC", crv: "P-256", x:x, y:y, d:d}, { name: "ECDH", namedCurve: "P-256" }, extractable, ["encrypt"]) rejected promise  with SyntaxError: A required parameter was missing or out-of-range.
+PASS crypto.subtle.importKey("jwk", {kty: "EC", crv: "P-256", x:x, y:y, d:d}, { name: "ECDH", namedCurve: "P-256" }, extractable, ["decrypt"]) rejected promise  with SyntaxError: A required parameter was missing or out-of-range.
+PASS crypto.subtle.importKey("jwk", {kty: "EC", crv: "P-256", x:x, y:y, d:d}, { name: "ECDH", namedCurve: "P-256" }, extractable, ["sign"]) rejected promise  with SyntaxError: A required parameter was missing or out-of-range.
+PASS crypto.subtle.importKey("jwk", {kty: "EC", crv: "P-256", x:x, y:y, d:d}, { name: "ECDH", namedCurve: "P-256" }, extractable, ["verify"]) rejected promise  with SyntaxError: A required parameter was missing or out-of-range.
+PASS crypto.subtle.importKey("jwk", {kty: "EC", crv: "P-256", x:x, y:y, d:d}, { name: "ECDH", namedCurve: "P-256" }, extractable, ["wrapKey"]) rejected promise  with SyntaxError: A required parameter was missing or out-of-range.
+PASS crypto.subtle.importKey("jwk", {kty: "EC", crv: "P-256", x:x, y:y, d:d}, { name: "ECDH", namedCurve: "P-256" }, extractable, ["unwrapKey"]) rejected promise  with SyntaxError: A required parameter was missing or out-of-range.
+PASS crypto.subtle.importKey("jwk", {kty: "EC", crv: "P-256", x:x, y:y}, { name: "ECDSA", namedCurve: "P-256" }, extractable, ["encrypt"]) rejected promise  with SyntaxError: A required parameter was missing or out-of-range.
+PASS crypto.subtle.importKey("jwk", {kty: "EC", crv: "P-256", x:x, y:y}, { name: "ECDSA", namedCurve: "P-256" }, extractable, ["decrypt"]) rejected promise  with SyntaxError: A required parameter was missing or out-of-range.
+PASS crypto.subtle.importKey("jwk", {kty: "EC", crv: "P-256", x:x, y:y}, { name: "ECDSA", namedCurve: "P-256" }, extractable, ["sign"]) rejected promise  with SyntaxError: A required parameter was missing or out-of-range.
+PASS crypto.subtle.importKey("jwk", {kty: "EC", crv: "P-256", x:x, y:y}, { name: "ECDSA", namedCurve: "P-256" }, extractable, ["deriveKey"]) rejected promise  with SyntaxError: A required parameter was missing or out-of-range.
+PASS crypto.subtle.importKey("jwk", {kty: "EC", crv: "P-256", x:x, y:y}, { name: "ECDSA", namedCurve: "P-256" }, extractable, ["deriveBits"]) rejected promise  with SyntaxError: A required parameter was missing or out-of-range.
+PASS crypto.subtle.importKey("jwk", {kty: "EC", crv: "P-256", x:x, y:y}, { name: "ECDSA", namedCurve: "P-256" }, extractable, ["wrapKey"]) rejected promise  with SyntaxError: A required parameter was missing or out-of-range.
+PASS crypto.subtle.importKey("jwk", {kty: "EC", crv: "P-256", x:x, y:y}, { name: "ECDSA", namedCurve: "P-256" }, extractable, ["unwrapKey"]) rejected promise  with SyntaxError: A required parameter was missing or out-of-range.
+PASS crypto.subtle.importKey("jwk", {kty: "EC", crv: "P-256", x:x, y:y, d:d}, { name: "ECDSA", namedCurve: "P-256" }, extractable, ["encrypt"]) rejected promise  with SyntaxError: A required parameter was missing or out-of-range.
+PASS crypto.subtle.importKey("jwk", {kty: "EC", crv: "P-256", x:x, y:y, d:d}, { name: "ECDSA", namedCurve: "P-256" }, extractable, ["decrypt"]) rejected promise  with SyntaxError: A required parameter was missing or out-of-range.
+PASS crypto.subtle.importKey("jwk", {kty: "EC", crv: "P-256", x:x, y:y, d:d}, { name: "ECDSA", namedCurve: "P-256" }, extractable, ["verify"]) rejected promise  with SyntaxError: A required parameter was missing or out-of-range.
+PASS crypto.subtle.importKey("jwk", {kty: "EC", crv: "P-256", x:x, y:y, d:d}, { name: "ECDSA", namedCurve: "P-256" }, extractable, ["deriveKey"]) rejected promise  with SyntaxError: A required parameter was missing or out-of-range.
+PASS crypto.subtle.importKey("jwk", {kty: "EC", crv: "P-256", x:x, y:y, d:d}, { name: "ECDSA", namedCurve: "P-256" }, extractable, ["deriveBits"]) rejected promise  with SyntaxError: A required parameter was missing or out-of-range.
+PASS crypto.subtle.importKey("jwk", {kty: "EC", crv: "P-256", x:x, y:y, d:d}, { name: "ECDSA", namedCurve: "P-256" }, extractable, ["wrapKey"]) rejected promise  with SyntaxError: A required parameter was missing or out-of-range.
+PASS crypto.subtle.importKey("jwk", {kty: "EC", crv: "P-256", x:x, y:y, d:d}, { name: "ECDSA", namedCurve: "P-256" }, extractable, ["unwrapKey"]) rejected promise  with SyntaxError: A required parameter was missing or out-of-range.
+PASS crypto.subtle.importKey("jwk", {kty: "EC", crv: "P-256", x:x, y:y, alg: "ES384"}, { name: "ECDSA", namedCurve: "P-256" }, extractable, ["verify"]) rejected promise  with DataError: Data provided to an operation does not meet requirements.
+PASS crypto.subtle.importKey("jwk", {kty: "EC", crv: "P-384", x:x, y:y, alg: "ES256"}, { name: "ECDSA", namedCurve: "P-256" }, extractable, ["verify"]) rejected promise  with DataError: Data provided to an operation does not meet requirements.
+PASS crypto.subtle.importKey("jwk", {kty: "EC", crv: "P-256", x:x, y:y, d:d, use: "sig"}, { name: "ECDH", namedCurve: "P-256" }, extractable, ["deriveKey"]) rejected promise  with DataError: Data provided to an operation does not meet requirements.
+PASS crypto.subtle.importKey("jwk", {kty: "EC", crv: "P-256", x:x, y:y, d:d, use: "enc"}, { name: "ECDSA", namedCurve: "P-256" }, extractable, ["sign"]) rejected promise  with DataError: Data provided to an operation does not meet requirements.
+PASS crypto.subtle.importKey("jwk", {kty: "RSA", crv: "P-256", x:x, y:y}, { name: "ECDH", namedCurve: "P-256" }, extractable, [ ]) rejected promise  with DataError: Data provided to an operation does not meet requirements.
+PASS crypto.subtle.importKey("jwk", {kty: "EC", crv: "P-256", x:x, y:y, d:d, key_ops: ["sign", "verify"]}, { name: "ECDH", namedCurve: "P-256" }, extractable, ["deriveKey"]) rejected promise  with DataError: Data provided to an operation does not meet requirements.
+PASS crypto.subtle.importKey("jwk", {kty: "EC", crv: "P-256", x:x, y:y, ext: false}, { name: "ECDH", namedCurve: "P-256" }, extractable, [ ]) rejected promise  with DataError: Data provided to an operation does not meet requirements.
+PASS crypto.subtle.importKey("jwk", {kty: "EC", x:x, y:y}, { name: "ECDH", namedCurve: "P-256" }, extractable, [ ]) rejected promise  with DataError: Data provided to an operation does not meet requirements.
+PASS crypto.subtle.importKey("jwk", {kty: "EC", crv: "P-384", x:x, y:y}, { name: "ECDH", namedCurve: "P-256" }, extractable, [ ]) rejected promise  with DataError: Data provided to an operation does not meet requirements.
+PASS crypto.subtle.importKey("jwk", {kty: "EC", crv: "P-521", x:x, y:y}, { name: "ECDH", namedCurve: "P-521" }, extractable, [ ]) rejected promise  with DataError: Data provided to an operation does not meet requirements.
+PASS crypto.subtle.importKey("jwk", {kty: "EC", crv: "P-256", y:y}, { name: "ECDH", namedCurve: "P-256" }, extractable, [ ]) rejected promise  with DataError: Data provided to an operation does not meet requirements.
+PASS crypto.subtle.importKey("jwk", {kty: "EC", crv: "P-256", x:x}, { name: "ECDH", namedCurve: "P-256" }, extractable, [ ]) rejected promise  with DataError: Data provided to an operation does not meet requirements.
+PASS crypto.subtle.importKey("jwk", {kty: "EC", crv: "P-384", x:x, y:y}, { name: "ECDH", namedCurve: "P-384" }, extractable, [ ]) rejected promise  with DataError: Data provided to an operation does not meet requirements.
+PASS crypto.subtle.importKey("jwk", {kty: "EC", crv: "P-384", x:x384, y:y}, { name: "ECDH", namedCurve: "P-384" }, extractable, [ ]) rejected promise  with DataError: Data provided to an operation does not meet requirements.
+PASS crypto.subtle.importKey("jwk", {kty: "EC", crv: "P-384", x:x, y:y384}, { name: "ECDH", namedCurve: "P-384" }, extractable, [ ]) rejected promise  with DataError: Data provided to an operation does not meet requirements.
+PASS crypto.subtle.importKey("jwk", {kty: "EC", crv: "P-384", x:x384, y:y384, d:d}, { name: "ECDH", namedCurve: "P-384" }, extractable, [ ]) rejected promise  with DataError: Data provided to an operation does not meet requirements.
+PASS crypto.subtle.importKey("spki", spkiP256Key, { name: "ECDH", namedCurve: "P-256" }, extractable, ["deriveBits"]) rejected promise  with SyntaxError: A required parameter was missing or out-of-range.
+PASS crypto.subtle.importKey("spki", spkiP256Key, { name: "ECDSA", namedCurve: "P-256" }, extractable, ["encrypt"]) rejected promise  with SyntaxError: A required parameter was missing or out-of-range.
+PASS crypto.subtle.importKey("spki", spkiP256Key, { name: "ECDSA", namedCurve: "P-256" }, extractable, ["decrypt"]) rejected promise  with SyntaxError: A required parameter was missing or out-of-range.
+PASS crypto.subtle.importKey("spki", spkiP256Key, { name: "ECDSA", namedCurve: "P-256" }, extractable, ["sign"]) rejected promise  with SyntaxError: A required parameter was missing or out-of-range.
+PASS crypto.subtle.importKey("spki", spkiP256Key, { name: "ECDSA", namedCurve: "P-256" }, extractable, ["deriveKey"]) rejected promise  with SyntaxError: A required parameter was missing or out-of-range.
+PASS crypto.subtle.importKey("spki", spkiP256Key, { name: "ECDSA", namedCurve: "P-256" }, extractable, ["deriveBits"]) rejected promise  with SyntaxError: A required parameter was missing or out-of-range.
+PASS crypto.subtle.importKey("spki", spkiP256Key, { name: "ECDSA", namedCurve: "P-256" }, extractable, ["wrapKey"]) rejected promise  with SyntaxError: A required parameter was missing or out-of-range.
+PASS crypto.subtle.importKey("spki", spkiP256Key, { name: "ECDSA", namedCurve: "P-256" }, extractable, ["unwrapKey"]) rejected promise  with SyntaxError: A required parameter was missing or out-of-range.
+PASS crypto.subtle.importKey("spki", truncatedSpkiP256Key1, { name: "ECDH", namedCurve: "P-256" }, extractable, [ ]) rejected promise  with DataError: Data provided to an operation does not meet requirements.
+PASS crypto.subtle.importKey("spki", truncatedSpkiP256Key2, { name: "ECDH", namedCurve: "P-256" }, extractable, [ ]) rejected promise  with DataError: Data provided to an operation does not meet requirements.
+PASS crypto.subtle.importKey("spki", truncatedSpkiP256Key3, { name: "ECDH", namedCurve: "P-256" }, extractable, [ ]) rejected promise  with DataError: Data provided to an operation does not meet requirements.
+PASS crypto.subtle.importKey("spki", truncatedSpkiP256Key4, { name: "ECDH", namedCurve: "P-256" }, extractable, [ ]) rejected promise  with DataError: Data provided to an operation does not meet requirements.
+PASS crypto.subtle.importKey("spki", truncatedSpkiP256Key5, { name: "ECDH", namedCurve: "P-256" }, extractable, [ ]) rejected promise  with DataError: Data provided to an operation does not meet requirements.
+PASS crypto.subtle.importKey("spki", truncatedSpkiP256Key6, { name: "ECDH", namedCurve: "P-256" }, extractable, [ ]) rejected promise  with DataError: Data provided to an operation does not meet requirements.
+PASS crypto.subtle.importKey("spki", truncatedSpkiP256Key7, { name: "ECDH", namedCurve: "P-256" }, extractable, [ ]) rejected promise  with DataError: Data provided to an operation does not meet requirements.
+PASS crypto.subtle.importKey("spki", truncatedSpkiP256Key8, { name: "ECDH", namedCurve: "P-256" }, extractable, [ ]) rejected promise  with DataError: Data provided to an operation does not meet requirements.
+PASS crypto.subtle.importKey("spki", truncatedSpkiP384Key1, { name: "ECDH", namedCurve: "P-384" }, extractable, [ ]) rejected promise  with DataError: Data provided to an operation does not meet requirements.
+PASS crypto.subtle.importKey("spki", truncatedSpkiP384Key2, { name: "ECDH", namedCurve: "P-384" }, extractable, [ ]) rejected promise  with DataError: Data provided to an operation does not meet requirements.
+PASS crypto.subtle.importKey("spki", truncatedSpkiP384Key3, { name: "ECDH", namedCurve: "P-384" }, extractable, [ ]) rejected promise  with DataError: Data provided to an operation does not meet requirements.
+PASS crypto.subtle.importKey("spki", spkiP256Key, { name: "ECDH", namedCurve: "P-384" }, extractable, [ ]) rejected promise  with DataError: Data provided to an operation does not meet requirements.
+PASS crypto.subtle.importKey("spki", spkiP384Key, { name: "ECDH", namedCurve: "P-256" }, extractable, [ ]) rejected promise  with DataError: Data provided to an operation does not meet requirements.
+PASS crypto.subtle.importKey("spki", corruptedSpkiP256Key, { name: "ECDH", namedCurve: "P-256" }, extractable, [ ]) rejected promise  with DataError: Data provided to an operation does not meet requirements.
+PASS crypto.subtle.importKey("pkcs8", pkcs8P256Key, { name: "ECDH", namedCurve: "P-256" }, extractable, ["encrypt"]) rejected promise  with SyntaxError: A required parameter was missing or out-of-range.
+PASS crypto.subtle.importKey("pkcs8", pkcs8P256Key, { name: "ECDH", namedCurve: "P-256" }, extractable, ["decrypt"]) rejected promise  with SyntaxError: A required parameter was missing or out-of-range.
+PASS crypto.subtle.importKey("pkcs8", pkcs8P256Key, { name: "ECDH", namedCurve: "P-256" }, extractable, ["sign"]) rejected promise  with SyntaxError: A required parameter was missing or out-of-range.
+PASS crypto.subtle.importKey("pkcs8", pkcs8P256Key, { name: "ECDH", namedCurve: "P-256" }, extractable, ["verify"]) rejected promise  with SyntaxError: A required parameter was missing or out-of-range.
+PASS crypto.subtle.importKey("pkcs8", pkcs8P256Key, { name: "ECDH", namedCurve: "P-256" }, extractable, ["wrapKey"]) rejected promise  with SyntaxError: A required parameter was missing or out-of-range.
+PASS crypto.subtle.importKey("pkcs8", pkcs8P256Key, { name: "ECDH", namedCurve: "P-256" }, extractable, ["unwrapKey"]) rejected promise  with SyntaxError: A required parameter was missing or out-of-range.
+PASS crypto.subtle.importKey("pkcs8", pkcs8P256Key, { name: "ECDSA", namedCurve: "P-256" }, extractable, ["encrypt"]) rejected promise  with SyntaxError: A required parameter was missing or out-of-range.
+PASS crypto.subtle.importKey("pkcs8", pkcs8P256Key, { name: "ECDSA", namedCurve: "P-256" }, extractable, ["decrypt"]) rejected promise  with SyntaxError: A required parameter was missing or out-of-range.
+PASS crypto.subtle.importKey("pkcs8", pkcs8P256Key, { name: "ECDSA", namedCurve: "P-256" }, extractable, ["verify"]) rejected promise  with SyntaxError: A required parameter was missing or out-of-range.
+PASS crypto.subtle.importKey("pkcs8", pkcs8P256Key, { name: "ECDSA", namedCurve: "P-256" }, extractable, ["deriveKey"]) rejected promise  with SyntaxError: A required parameter was missing or out-of-range.
+PASS crypto.subtle.importKey("pkcs8", pkcs8P256Key, { name: "ECDSA", namedCurve: "P-256" }, extractable, ["deriveBits"]) rejected promise  with SyntaxError: A required parameter was missing or out-of-range.
+PASS crypto.subtle.importKey("pkcs8", pkcs8P256Key, { name: "ECDSA", namedCurve: "P-256" }, extractable, ["wrapKey"]) rejected promise  with SyntaxError: A required parameter was missing or out-of-range.
+PASS crypto.subtle.importKey("pkcs8", pkcs8P256Key, { name: "ECDSA", namedCurve: "P-256" }, extractable, ["unwrapKey"]) rejected promise  with SyntaxError: A required parameter was missing or out-of-range.
+PASS crypto.subtle.importKey("pkcs8", truncatedPkcs8P256Key1, { name: "ECDH", namedCurve: "P-256" }, extractable, ["deriveKey"]) rejected promise  with DataError: Data provided to an operation does not meet requirements.
+PASS crypto.subtle.importKey("pkcs8", truncatedPkcs8P256Key2, { name: "ECDH", namedCurve: "P-256" }, extractable, ["deriveKey"]) rejected promise  with DataError: Data provided to an operation does not meet requirements.
+PASS crypto.subtle.importKey("pkcs8", truncatedPkcs8P256Key3, { name: "ECDH", namedCurve: "P-256" }, extractable, ["deriveKey"]) rejected promise  with DataError: Data provided to an operation does not meet requirements.
+PASS crypto.subtle.importKey("pkcs8", truncatedPkcs8P256Key4, { name: "ECDH", namedCurve: "P-256" }, extractable, ["deriveKey"]) rejected promise  with DataError: Data provided to an operation does not meet requirements.
+PASS crypto.subtle.importKey("pkcs8", truncatedPkcs8P256Key5, { name: "ECDH", namedCurve: "P-256" }, extractable, ["deriveKey"]) rejected promise  with DataError: Data provided to an operation does not meet requirements.
+PASS crypto.subtle.importKey("pkcs8", truncatedPkcs8P256Key6, { name: "ECDH", namedCurve: "P-256" }, extractable, ["deriveKey"]) rejected promise  with DataError: Data provided to an operation does not meet requirements.
+PASS crypto.subtle.importKey("pkcs8", truncatedPkcs8P256Key7, { name: "ECDH", namedCurve: "P-256" }, extractable, ["deriveKey"]) rejected promise  with DataError: Data provided to an operation does not meet requirements.
+PASS crypto.subtle.importKey("pkcs8", truncatedPkcs8P256Key8, { name: "ECDH", namedCurve: "P-256" }, extractable, ["deriveKey"]) rejected promise  with DataError: Data provided to an operation does not meet requirements.
+PASS crypto.subtle.importKey("pkcs8", truncatedPkcs8P256Key9, { name: "ECDH", namedCurve: "P-256" }, extractable, ["deriveKey"]) rejected promise  with DataError: Data provided to an operation does not meet requirements.
+PASS crypto.subtle.importKey("pkcs8", truncatedPkcs8P256Key10, { name: "ECDH", namedCurve: "P-256" }, extractable, ["deriveKey"]) rejected promise  with DataError: Data provided to an operation does not meet requirements.
+PASS crypto.subtle.importKey("pkcs8", truncatedPkcs8P256Key11, { name: "ECDH", namedCurve: "P-256" }, extractable, ["deriveKey"]) rejected promise  with DataError: Data provided to an operation does not meet requirements.
+PASS crypto.subtle.importKey("pkcs8", truncatedPkcs8P384Key1, { name: "ECDH", namedCurve: "P-384" }, extractable, ["deriveKey"]) rejected promise  with DataError: Data provided to an operation does not meet requirements.
+PASS crypto.subtle.importKey("pkcs8", truncatedPkcs8P384Key2, { name: "ECDH", namedCurve: "P-384" }, extractable, ["deriveKey"]) rejected promise  with DataError: Data provided to an operation does not meet requirements.
+PASS crypto.subtle.importKey("pkcs8", longPkcs8P256Key, { name: "ECDH", namedCurve: "P-256" }, extractable, ["deriveKey"]) rejected promise  with DataError: Data provided to an operation does not meet requirements.
+PASS crypto.subtle.importKey("pkcs8", corruptedPkcs8P256Key, { name: "ECDH", namedCurve: "P-256" }, extractable, ["deriveKey"]) rejected promise  with DataError: Data provided to an operation does not meet requirements.
 PASS successfullyParsed is true
 
 TEST COMPLETE
index d31b252..f62a5ba 100644 (file)
@@ -7,12 +7,12 @@ PASS deriveBits(..., 0) successfully derived 256 bits for a P-256 curve
 PASS deriveBits(..., 8) successfully derived 8 bits for a P-256 curve
 PASS deriveBits(..., 256) successfully derived 256 bits for a P-256 curve
 PASS Bit derivations for EC P-256 with minimum and maximum lengths succeeded
-PASS deriveBits(P256, 256 + 8) rejected promise  with OperationError (DOM Exception 34): The operation failed for an operation-specific reason.
+PASS deriveBits(P256, 256 + 8) rejected promise  with OperationError: The operation failed for an operation-specific reason.
 PASS deriveBits(..., 0) successfully derived 384 bits for a P-384 curve
 PASS deriveBits(..., 8) successfully derived 8 bits for a P-384 curve
 PASS deriveBits(..., 384) successfully derived 384 bits for a P-384 curve
 PASS Bit derivations for EC P-384 with minimum and maximum lengths succeeded
-PASS deriveBits(P384, 384 + 8) rejected promise  with OperationError (DOM Exception 34): The operation failed for an operation-specific reason.
+PASS deriveBits(P384, 384 + 8) rejected promise  with OperationError: The operation failed for an operation-specific reason.
 PASS successfullyParsed is true
 
 TEST COMPLETE
index 9e10796..b827d51 100644 (file)
@@ -11,12 +11,12 @@ PASS crypto.subtle.deriveBits({name: "ecdh", public: undefined}, privateKey, nul
 PASS crypto.subtle.deriveBits({name: "ecdh", public: Symbol()}, privateKey, null) rejected promise  with TypeError: Type error.
 PASS crypto.subtle.deriveBits({name: "ecdh", public: { }}, privateKey, null) rejected promise  with TypeError: Type error.
 PASS crypto.subtle.deriveBits({name: "ecdh", public: 1}, privateKey, null) rejected promise  with TypeError: Type error.
-PASS crypto.subtle.deriveBits({ name:"ECDH", public:publicKey }, privateKey, 1) rejected promise  with OperationError (DOM Exception 34): The operation failed for an operation-specific reason.
-PASS crypto.subtle.deriveBits({ name:"ECDH", public:publicKey }, publicKey, null) rejected promise  with InvalidAccessError (DOM Exception 15): CryptoKey doesn't support bits derivation.
-PASS crypto.subtle.deriveBits({ name:"ECDH", public:privateKey }, privateKey, null) rejected promise  with InvalidAccessError (DOM Exception 15): The requested operation is not valid for the provided key.
-PASS crypto.subtle.deriveBits({ name:"ECDH", public:fakeKey }, privateKey, null) rejected promise  with InvalidAccessError (DOM Exception 15): The requested operation is not valid for the provided key.
-PASS crypto.subtle.deriveBits({ name:"ECDH", public:publicKeyP384 }, privateKey, null) rejected promise  with InvalidAccessError (DOM Exception 15): The requested operation is not valid for the provided key.
-PASS crypto.subtle.deriveBits({ name:"ECDH", public:publicKey }, privateKey, 384) rejected promise  with OperationError (DOM Exception 34): The operation failed for an operation-specific reason.
+PASS crypto.subtle.deriveBits({ name:"ECDH", public:publicKey }, privateKey, 1) rejected promise  with OperationError: The operation failed for an operation-specific reason.
+PASS crypto.subtle.deriveBits({ name:"ECDH", public:publicKey }, publicKey, null) rejected promise  with InvalidAccessError: CryptoKey doesn't support bits derivation.
+PASS crypto.subtle.deriveBits({ name:"ECDH", public:privateKey }, privateKey, null) rejected promise  with InvalidAccessError: The requested operation is not valid for the provided key.
+PASS crypto.subtle.deriveBits({ name:"ECDH", public:fakeKey }, privateKey, null) rejected promise  with InvalidAccessError: The requested operation is not valid for the provided key.
+PASS crypto.subtle.deriveBits({ name:"ECDH", public:publicKeyP384 }, privateKey, null) rejected promise  with InvalidAccessError: The requested operation is not valid for the provided key.
+PASS crypto.subtle.deriveBits({ name:"ECDH", public:publicKey }, privateKey, 384) rejected promise  with OperationError: The operation failed for an operation-specific reason.
 PASS successfullyParsed is true
 
 TEST COMPLETE
index bed02ca..a40084f 100644 (file)
@@ -7,8 +7,8 @@ PASS crypto.subtle.encrypt() rejected promise  with TypeError: Not enough argume
 PASS crypto.subtle.encrypt(1) rejected promise  with TypeError: Not enough arguments.
 PASS crypto.subtle.encrypt(1, 2) rejected promise  with TypeError: Not enough arguments.
 PASS crypto.subtle.encrypt(aesCbcParams, fakedKey, plainText) rejected promise  with TypeError: Invalid CryptoKey.
-PASS crypto.subtle.encrypt(aesCbcParams, wrongKey, plainText) rejected promise  with InvalidAccessError (DOM Exception 15): CryptoKey doesn't match AlgorithmIdentifier.
-PASS crypto.subtle.encrypt(aesCbcParams, wrongKey, plainText) rejected promise  with InvalidAccessError (DOM Exception 15): CryptoKey doesn't support encryption.
+PASS crypto.subtle.encrypt(aesCbcParams, wrongKey, plainText) rejected promise  with InvalidAccessError: CryptoKey doesn't match AlgorithmIdentifier.
+PASS crypto.subtle.encrypt(aesCbcParams, wrongKey, plainText) rejected promise  with InvalidAccessError: CryptoKey doesn't support encryption.
 PASS successfullyParsed is true
 
 TEST COMPLETE
index 20bc53d..3eac265 100644 (file)
@@ -13,7 +13,7 @@ PASS crypto.subtle.exportKey("raw", Symbol()) rejected promise  with TypeError:
 PASS crypto.subtle.exportKey("raw", { }) rejected promise  with TypeError: Invalid CryptoKey.
 PASS crypto.subtle.exportKey("raw", "foo") rejected promise  with TypeError: Invalid CryptoKey.
 PASS crypto.subtle.exportKey("raw", fakedKey) rejected promise  with TypeError: Invalid CryptoKey.
-PASS crypto.subtle.exportKey("raw", key) rejected promise  with InvalidAccessError (DOM Exception 15): The CryptoKey is nonextractable.
+PASS crypto.subtle.exportKey("raw", key) rejected promise  with InvalidAccessError: The CryptoKey is nonextractable.
 PASS successfullyParsed is true
 
 TEST COMPLETE
index 62afcb7..6c2d003 100644 (file)
@@ -6,32 +6,32 @@ On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE
 PASS crypto.subtle.generateKey() rejected promise  with TypeError: Not enough arguments.
 PASS crypto.subtle.generateKey(1) rejected promise  with TypeError: Not enough arguments.
 PASS crypto.subtle.generateKey(1, 2) rejected promise  with TypeError: Not enough arguments.
-PASS crypto.subtle.generateKey("foo", 2, 3) rejected promise  with NotSupportedError (DOM Exception 9): The operation is not supported..
-PASS crypto.subtle.generateKey({name: 1}, 2, 3) rejected promise  with NotSupportedError (DOM Exception 9): The operation is not supported..
-PASS crypto.subtle.generateKey({name: true}, 2, 3) rejected promise  with NotSupportedError (DOM Exception 9): The operation is not supported..
-PASS crypto.subtle.generateKey({name: null}, 2, 3) rejected promise  with NotSupportedError (DOM Exception 9): The operation is not supported..
+PASS crypto.subtle.generateKey("foo", 2, 3) rejected promise  with NotSupportedError: The operation is not supported..
+PASS crypto.subtle.generateKey({name: 1}, 2, 3) rejected promise  with NotSupportedError: The operation is not supported..
+PASS crypto.subtle.generateKey({name: true}, 2, 3) rejected promise  with NotSupportedError: The operation is not supported..
+PASS crypto.subtle.generateKey({name: null}, 2, 3) rejected promise  with NotSupportedError: The operation is not supported..
 PASS crypto.subtle.generateKey({name: undefined}, 2, 3) rejected promise  with TypeError: Member CryptoAlgorithmParameters.name is required and must be an instance of DOMString.
 PASS crypto.subtle.generateKey({name: Symbol()}, 2, 3) rejected promise  with TypeError: Cannot convert a symbol to a string.
-PASS crypto.subtle.generateKey({name: { }}, 2, 3) rejected promise  with NotSupportedError (DOM Exception 9): The operation is not supported..
-PASS crypto.subtle.generateKey({name: "foo"}, 2, 3) rejected promise  with NotSupportedError (DOM Exception 9): The operation is not supported..
+PASS crypto.subtle.generateKey({name: { }}, 2, 3) rejected promise  with NotSupportedError: The operation is not supported..
+PASS crypto.subtle.generateKey({name: "foo"}, 2, 3) rejected promise  with NotSupportedError: The operation is not supported..
 PASS crypto.subtle.generateKey({name: "hmac", hash: true}, extractable, ["sign", "verify"]) rejected promise  with TypeError: Invalid AlgorithmIdentifier.
 PASS crypto.subtle.generateKey({name: "hmac", hash: 1}, extractable, ["sign", "verify"]) rejected promise  with TypeError: Invalid AlgorithmIdentifier.
 PASS crypto.subtle.generateKey({name: "hmac", hash: null}, extractable, ["sign", "verify"]) rejected promise  with TypeError: Invalid AlgorithmIdentifier.
 PASS crypto.subtle.generateKey({name: "hmac", hash: undefined}, extractable, ["sign", "verify"]) rejected promise  with TypeError: Member HmacKeyParams.hash is required and must be an instance of any.
 PASS crypto.subtle.generateKey({name: "hmac", hash: Symbol()}, extractable, ["sign", "verify"]) rejected promise  with TypeError: Invalid AlgorithmIdentifier.
 PASS crypto.subtle.generateKey({name: "hmac", hash: { }}, extractable, ["sign", "verify"]) rejected promise  with TypeError: Member CryptoAlgorithmParameters.name is required and must be an instance of DOMString.
-PASS crypto.subtle.generateKey({name: "hmac", hash: "foo"}, extractable, ["sign", "verify"]) rejected promise  with NotSupportedError (DOM Exception 9): The operation is not supported..
-PASS crypto.subtle.generateKey({name: "hmac", hash: {name: true}}, extractable, ["sign", "verify"]) rejected promise  with NotSupportedError (DOM Exception 9): The operation is not supported..
-PASS crypto.subtle.generateKey({name: "hmac", hash: {name: 1}}, extractable, ["sign", "verify"]) rejected promise  with NotSupportedError (DOM Exception 9): The operation is not supported..
-PASS crypto.subtle.generateKey({name: "hmac", hash: {name: null}}, extractable, ["sign", "verify"]) rejected promise  with NotSupportedError (DOM Exception 9): The operation is not supported..
+PASS crypto.subtle.generateKey({name: "hmac", hash: "foo"}, extractable, ["sign", "verify"]) rejected promise  with NotSupportedError: The operation is not supported..
+PASS crypto.subtle.generateKey({name: "hmac", hash: {name: true}}, extractable, ["sign", "verify"]) rejected promise  with NotSupportedError: The operation is not supported..
+PASS crypto.subtle.generateKey({name: "hmac", hash: {name: 1}}, extractable, ["sign", "verify"]) rejected promise  with NotSupportedError: The operation is not supported..
+PASS crypto.subtle.generateKey({name: "hmac", hash: {name: null}}, extractable, ["sign", "verify"]) rejected promise  with NotSupportedError: The operation is not supported..
 PASS crypto.subtle.generateKey({name: "hmac", hash: {name: undefined}}, extractable, ["sign", "verify"]) rejected promise  with TypeError: Member CryptoAlgorithmParameters.name is required and must be an instance of DOMString.
 PASS crypto.subtle.generateKey({name: "hmac", hash: {name: Symbol()}}, extractable, ["sign", "verify"]) rejected promise  with TypeError: Cannot convert a symbol to a string.
-PASS crypto.subtle.generateKey({name: "hmac", hash: {name: { }}}, extractable, ["sign", "verify"]) rejected promise  with NotSupportedError (DOM Exception 9): The operation is not supported..
-PASS crypto.subtle.generateKey({name: "hmac", hash: {name: "foo"}}, extractable, ["sign", "verify"]) rejected promise  with NotSupportedError (DOM Exception 9): The operation is not supported..
-PASS crypto.subtle.generateKey({name: "SHA-1"}, 2, 3) rejected promise  with NotSupportedError (DOM Exception 9): The operation is not supported..
-PASS crypto.subtle.generateKey({name: "SHA-256"}, 2, 3) rejected promise  with NotSupportedError (DOM Exception 9): The operation is not supported..
-PASS crypto.subtle.generateKey({name: "SHA-384"}, 2, 3) rejected promise  with NotSupportedError (DOM Exception 9): The operation is not supported..
-PASS crypto.subtle.generateKey({name: "SHA-512"}, 2, 3) rejected promise  with NotSupportedError (DOM Exception 9): The operation is not supported..
+PASS crypto.subtle.generateKey({name: "hmac", hash: {name: { }}}, extractable, ["sign", "verify"]) rejected promise  with NotSupportedError: The operation is not supported..
+PASS crypto.subtle.generateKey({name: "hmac", hash: {name: "foo"}}, extractable, ["sign", "verify"]) rejected promise  with NotSupportedError: The operation is not supported..
+PASS crypto.subtle.generateKey({name: "SHA-1"}, 2, 3) rejected promise  with NotSupportedError: The operation is not supported..
+PASS crypto.subtle.generateKey({name: "SHA-256"}, 2, 3) rejected promise  with NotSupportedError: The operation is not supported..
+PASS crypto.subtle.generateKey({name: "SHA-384"}, 2, 3) rejected promise  with NotSupportedError: The operation is not supported..
+PASS crypto.subtle.generateKey({name: "SHA-512"}, 2, 3) rejected promise  with NotSupportedError: The operation is not supported..
 PASS crypto.subtle.generateKey({name: "AES-CBC", length: 128}, extractable, 3) rejected promise  with TypeError: Value is not a sequence.
 PASS crypto.subtle.generateKey({name: "AES-CBC", length: 128}, extractable, true) rejected promise  with TypeError: Value is not a sequence.
 PASS crypto.subtle.generateKey({name: "AES-CBC", length: 128}, extractable, null) rejected promise  with TypeError: Value is not a sequence.
@@ -40,8 +40,8 @@ PASS crypto.subtle.generateKey({name: "AES-CBC", length: 128}, extractable, Symb
 PASS crypto.subtle.generateKey({name: "AES-CBC", length: 128}, extractable, { }) rejected promise  with TypeError: Type error.
 PASS crypto.subtle.generateKey({name: "AES-CBC", length: 128}, extractable, "foo") rejected promise  with TypeError: Value is not a sequence.
 PASS crypto.subtle.generateKey({name: "AES-CBC", length: 128}, extractable, ["foo"]) rejected promise  with TypeError: Type error.
-PASS crypto.subtle.generateKey({name: "AES-CBC", length: 128}, extractable, [ ]) rejected promise  with SyntaxError (DOM Exception 12): A required parameter was missing or out-of-range.
-PASS crypto.subtle.generateKey({name: "RSAES-PKCS1-v1_5", modulusLength: 2048, publicExponent: new Uint8Array([0x01, 0x00, 0x01])}, extractable, [ ]) rejected promise  with SyntaxError (DOM Exception 12): A required parameter was missing or out-of-range.
+PASS crypto.subtle.generateKey({name: "AES-CBC", length: 128}, extractable, [ ]) rejected promise  with SyntaxError: A required parameter was missing or out-of-range.
+PASS crypto.subtle.generateKey({name: "RSAES-PKCS1-v1_5", modulusLength: 2048, publicExponent: new Uint8Array([0x01, 0x00, 0x01])}, extractable, [ ]) rejected promise  with SyntaxError: A required parameter was missing or out-of-range.
 PASS successfullyParsed is true
 
 TEST COMPLETE
index 5b1f4d6..3ac4813 100644 (file)
@@ -3,21 +3,21 @@ Test HKDF deriveBits operation for corner-case length values
 On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
 
 
-PASS deriveBits("sha-1", 0) rejected promise  with OperationError (DOM Exception 34): The operation failed for an operation-specific reason.
+PASS deriveBits("sha-1", 0) rejected promise  with OperationError: The operation failed for an operation-specific reason.
 PASS Bit derivations for SHA-1 with minimum, maximum and HashLen lengths all passed
-PASS deriveBits("sha-1", 256 * 20 * 8) rejected promise  with OperationError (DOM Exception 34): The operation failed for an operation-specific reason.
-PASS deriveBits("sha-224", 0) rejected promise  with OperationError (DOM Exception 34): The operation failed for an operation-specific reason.
+PASS deriveBits("sha-1", 256 * 20 * 8) rejected promise  with OperationError: The operation failed for an operation-specific reason.
+PASS deriveBits("sha-224", 0) rejected promise  with OperationError: The operation failed for an operation-specific reason.
 PASS Bit derivations for SHA-224 with minimum, maximum and HashLen lengths all passed
-PASS deriveBits("sha-224", 256 * 28 * 8) rejected promise  with OperationError (DOM Exception 34): The operation failed for an operation-specific reason.
-PASS deriveBits("sha-256", 0) rejected promise  with OperationError (DOM Exception 34): The operation failed for an operation-specific reason.
+PASS deriveBits("sha-224", 256 * 28 * 8) rejected promise  with OperationError: The operation failed for an operation-specific reason.
+PASS deriveBits("sha-256", 0) rejected promise  with OperationError: The operation failed for an operation-specific reason.
 PASS Bit derivations for SHA-256 with minimum, maximum and HashLen lengths all passed
-PASS deriveBits("sha-256", 256 * 32 * 8) rejected promise  with OperationError (DOM Exception 34): The operation failed for an operation-specific reason.
-PASS deriveBits("sha-384", 0) rejected promise  with OperationError (DOM Exception 34): The operation failed for an operation-specific reason.
+PASS deriveBits("sha-256", 256 * 32 * 8) rejected promise  with OperationError: The operation failed for an operation-specific reason.
+PASS deriveBits("sha-384", 0) rejected promise  with OperationError: The operation failed for an operation-specific reason.
 PASS Bit derivations for SHA-384 with minimum, maximum and HashLen lengths all passed
-PASS deriveBits("sha-384", 256 * 48 * 8) rejected promise  with OperationError (DOM Exception 34): The operation failed for an operation-specific reason.
-PASS deriveBits("sha-512", 0) rejected promise  with OperationError (DOM Exception 34): The operation failed for an operation-specific reason.
+PASS deriveBits("sha-384", 256 * 48 * 8) rejected promise  with OperationError: The operation failed for an operation-specific reason.
+PASS deriveBits("sha-512", 0) rejected promise  with OperationError: The operation failed for an operation-specific reason.
 PASS Bit derivations for SHA-512 with minimum, maximum and HashLen lengths all passed
-PASS deriveBits("sha-512", 256 * 64 * 8) rejected promise  with OperationError (DOM Exception 34): The operation failed for an operation-specific reason.
+PASS deriveBits("sha-512", 256 * 64 * 8) rejected promise  with OperationError: The operation failed for an operation-specific reason.
 PASS successfullyParsed is true
 
 TEST COMPLETE
index 92d4094..179f1b7 100644 (file)
@@ -17,10 +17,10 @@ PASS crypto.subtle.deriveBits({name: "HKDF", info: undefined, salt: salt, hash:
 PASS crypto.subtle.deriveBits({name: "HKDF", info: Symbol(), salt: salt, hash: "sha-1"}, baseKey, 128) rejected promise  with TypeError: Type error.
 PASS crypto.subtle.deriveBits({name: "HKDF", info: { }, salt: salt, hash: "sha-1"}, baseKey, 128) rejected promise  with TypeError: Type error.
 PASS crypto.subtle.deriveBits({name: "HKDF", info: 1, salt: salt, hash: "sha-1"}, baseKey, 128) rejected promise  with TypeError: Type error.
-PASS crypto.subtle.deriveBits({name: "HKDF", salt: salt, info: info, hash: "sha-1"}, baseKey, null) rejected promise  with OperationError (DOM Exception 34): The operation failed for an operation-specific reason.
-PASS crypto.subtle.deriveBits({name: "HKDF", salt: salt, info: info, hash: "sha-1"}, baseKey, 0) rejected promise  with OperationError (DOM Exception 34): The operation failed for an operation-specific reason.
-PASS crypto.subtle.deriveBits({name: "HKDF", salt: salt, info: info, hash: "sha-1"}, baseKey, 5) rejected promise  with OperationError (DOM Exception 34): The operation failed for an operation-specific reason.
-PASS crypto.subtle.deriveBits({name: "HKDF", salt: salt, info: info, hash: "sha-1"}, baseKey, 100000) rejected promise  with OperationError (DOM Exception 34): The operation failed for an operation-specific reason.
+PASS crypto.subtle.deriveBits({name: "HKDF", salt: salt, info: info, hash: "sha-1"}, baseKey, null) rejected promise  with OperationError: The operation failed for an operation-specific reason.
+PASS crypto.subtle.deriveBits({name: "HKDF", salt: salt, info: info, hash: "sha-1"}, baseKey, 0) rejected promise  with OperationError: The operation failed for an operation-specific reason.
+PASS crypto.subtle.deriveBits({name: "HKDF", salt: salt, info: info, hash: "sha-1"}, baseKey, 5) rejected promise  with OperationError: The operation failed for an operation-specific reason.
+PASS crypto.subtle.deriveBits({name: "HKDF", salt: salt, info: info, hash: "sha-1"}, baseKey, 100000) rejected promise  with OperationError: The operation failed for an operation-specific reason.
 PASS successfullyParsed is true
 
 TEST COMPLETE
index 51bf5ea..c5dfd6e 100644 (file)
@@ -3,16 +3,16 @@ Test importing a HKDF raw key with malformed parameters
 On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
 
 
-PASS crypto.subtle.importKey("spki", rawKey, { name: "HKDF" }, nonExtractable, ["deriveKey", "deriveBits"]) rejected promise  with NotSupportedError (DOM Exception 9): The algorithm is not supported.
-PASS crypto.subtle.importKey("pkcs8", rawKey, { name: "HKDF" }, nonExtractable, ["deriveKey", "deriveBits"]) rejected promise  with NotSupportedError (DOM Exception 9): The algorithm is not supported.
-PASS crypto.subtle.importKey("jwk", jwkKey, { name: "HKDF" }, nonExtractable, ["deriveKey", "deriveBits"]) rejected promise  with NotSupportedError (DOM Exception 9): The algorithm is not supported.
-PASS crypto.subtle.importKey("raw", rawKey, { name: "HKDF" }, nonExtractable, ["encrypt"]) rejected promise  with SyntaxError (DOM Exception 12): A required parameter was missing or out-of-range.
-PASS crypto.subtle.importKey("raw", rawKey, { name: "HKDF" }, nonExtractable, ["decrypt"]) rejected promise  with SyntaxError (DOM Exception 12): A required parameter was missing or out-of-range.
-PASS crypto.subtle.importKey("raw", rawKey, { name: "HKDF" }, nonExtractable, ["sign"]) rejected promise  with SyntaxError (DOM Exception 12): A required parameter was missing or out-of-range.
-PASS crypto.subtle.importKey("raw", rawKey, { name: "HKDF" }, nonExtractable, ["verify"]) rejected promise  with SyntaxError (DOM Exception 12): A required parameter was missing or out-of-range.
-PASS crypto.subtle.importKey("raw", rawKey, { name: "HKDF" }, nonExtractable, ["wrapKey"]) rejected promise  with SyntaxError (DOM Exception 12): A required parameter was missing or out-of-range.
-PASS crypto.subtle.importKey("raw", rawKey, { name: "HKDF" }, nonExtractable, ["unwrapKey"]) rejected promise  with SyntaxError (DOM Exception 12): A required parameter was missing or out-of-range.
-PASS crypto.subtle.importKey("raw", rawKey, { name: "HKDF" }, true, ["deriveKey", "deriveBits"]) rejected promise  with SyntaxError (DOM Exception 12): A required parameter was missing or out-of-range.
+PASS crypto.subtle.importKey("spki", rawKey, { name: "HKDF" }, nonExtractable, ["deriveKey", "deriveBits"]) rejected promise  with NotSupportedError: The algorithm is not supported.
+PASS crypto.subtle.importKey("pkcs8", rawKey, { name: "HKDF" }, nonExtractable, ["deriveKey", "deriveBits"]) rejected promise  with NotSupportedError: The algorithm is not supported.
+PASS crypto.subtle.importKey("jwk", jwkKey, { name: "HKDF" }, nonExtractable, ["deriveKey", "deriveBits"]) rejected promise  with NotSupportedError: The algorithm is not supported.
+PASS crypto.subtle.importKey("raw", rawKey, { name: "HKDF" }, nonExtractable, ["encrypt"]) rejected promise  with SyntaxError: A required parameter was missing or out-of-range.
+PASS crypto.subtle.importKey("raw", rawKey, { name: "HKDF" }, nonExtractable, ["decrypt"]) rejected promise  with SyntaxError: A required parameter was missing or out-of-range.
+PASS crypto.subtle.importKey("raw", rawKey, { name: "HKDF" }, nonExtractable, ["sign"]) rejected promise  with SyntaxError: A required parameter was missing or out-of-range.
+PASS crypto.subtle.importKey("raw", rawKey, { name: "HKDF" }, nonExtractable, ["verify"]) rejected promise  with SyntaxError: A required parameter was missing or out-of-range.
+PASS crypto.subtle.importKey("raw", rawKey, { name: "HKDF" }, nonExtractable, ["wrapKey"]) rejected promise  with SyntaxError: A required parameter was missing or out-of-range.
+PASS crypto.subtle.importKey("raw", rawKey, { name: "HKDF" }, nonExtractable, ["unwrapKey"]) rejected promise  with SyntaxError: A required parameter was missing or out-of-range.
+PASS crypto.subtle.importKey("raw", rawKey, { name: "HKDF" }, true, ["deriveKey", "deriveBits"]) rejected promise  with SyntaxError: A required parameter was missing or out-of-range.
 PASS successfullyParsed is true
 
 TEST COMPLETE
index 58f37c9..dacfad4 100644 (file)
@@ -3,8 +3,8 @@ Test exporting an HMAC key with malformed parameters
 On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
 
 
-PASS crypto.subtle.exportKey("spki", key) rejected promise  with NotSupportedError (DOM Exception 9): The algorithm is not supported.
-PASS crypto.subtle.exportKey("pkcs8", key) rejected promise  with NotSupportedError (DOM Exception 9): The algorithm is not supported.
+PASS crypto.subtle.exportKey("spki", key) rejected promise  with NotSupportedError: The algorithm is not supported.
+PASS crypto.subtle.exportKey("pkcs8", key) rejected promise  with NotSupportedError: The algorithm is not supported.
 PASS successfullyParsed is true
 
 TEST COMPLETE
index 3ba6757..904c1f6 100644 (file)
@@ -5,18 +5,18 @@ On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE
 
 PASS crypto.subtle.generateKey("hmac", extractable, ["sign", "verify"]) rejected promise  with TypeError: Member HmacKeyParams.hash is required and must be an instance of any.
 PASS crypto.subtle.generateKey({name: "hmac"}, extractable, ["sign", "verify"]) rejected promise  with TypeError: Member HmacKeyParams.hash is required and must be an instance of any.
-PASS crypto.subtle.generateKey({name: "hmac", hash: "sha-1", length: null}, extractable, ["sign", "verify"]) rejected promise  with OperationError (DOM Exception 34): The operation failed for an operation-specific reason.
+PASS crypto.subtle.generateKey({name: "hmac", hash: "sha-1", length: null}, extractable, ["sign", "verify"]) rejected promise  with OperationError: The operation failed for an operation-specific reason.
 PASS crypto.subtle.generateKey({name: "hmac", hash: "sha-1", length: Symbol()}, extractable, ["sign", "verify"]) rejected promise  with TypeError: Cannot convert a symbol to a number.
 PASS crypto.subtle.generateKey({name: "hmac", hash: "sha-1", length: { }}, extractable, ["sign", "verify"]) rejected promise  with TypeError: Value NaN is outside the range [0, 4294967295].
 PASS crypto.subtle.generateKey({name: "hmac", hash: "sha-1", length: "foo"}, extractable, ["sign", "verify"]) rejected promise  with TypeError: Value NaN is outside the range [0, 4294967295].
-PASS crypto.subtle.generateKey({name: "hmac", hash: "sha-1"}, extractable, ["encrypt"]) rejected promise  with SyntaxError (DOM Exception 12): A required parameter was missing or out-of-range.
-PASS crypto.subtle.generateKey({name: "hmac", hash: "sha-1"}, extractable, ["decrypt"]) rejected promise  with SyntaxError (DOM Exception 12): A required parameter was missing or out-of-range.
-PASS crypto.subtle.generateKey({name: "hmac", hash: "sha-1"}, extractable, ["deriveKey"]) rejected promise  with SyntaxError (DOM Exception 12): A required parameter was missing or out-of-range.
-PASS crypto.subtle.generateKey({name: "hmac", hash: "sha-1"}, extractable, ["deriveBits"]) rejected promise  with SyntaxError (DOM Exception 12): A required parameter was missing or out-of-range.
-PASS crypto.subtle.generateKey({name: "hmac", hash: "sha-1"}, extractable, ["wrapKey"]) rejected promise  with SyntaxError (DOM Exception 12): A required parameter was missing or out-of-range.
-PASS crypto.subtle.generateKey({name: "hmac", hash: "sha-1"}, extractable, ["unwrapKey"]) rejected promise  with SyntaxError (DOM Exception 12): A required parameter was missing or out-of-range.
-PASS crypto.subtle.generateKey({name: "hmac", hash: "sha-1", length: 0}, extractable, ["sign", "verify"]) rejected promise  with OperationError (DOM Exception 34): The operation failed for an operation-specific reason.
-PASS crypto.subtle.generateKey({name: "hmac", hash: "sha-1", length: 5}, extractable, ["sign", "verify"]) rejected promise  with OperationError (DOM Exception 34): The operation failed for an operation-specific reason.
+PASS crypto.subtle.generateKey({name: "hmac", hash: "sha-1"}, extractable, ["encrypt"]) rejected promise  with SyntaxError: A required parameter was missing or out-of-range.
+PASS crypto.subtle.generateKey({name: "hmac", hash: "sha-1"}, extractable, ["decrypt"]) rejected promise  with SyntaxError: A required parameter was missing or out-of-range.
+PASS crypto.subtle.generateKey({name: "hmac", hash: "sha-1"}, extractable, ["deriveKey"]) rejected promise  with SyntaxError: A required parameter was missing or out-of-range.
+PASS crypto.subtle.generateKey({name: "hmac", hash: "sha-1"}, extractable, ["deriveBits"]) rejected promise  with SyntaxError: A required parameter was missing or out-of-range.
+PASS crypto.subtle.generateKey({name: "hmac", hash: "sha-1"}, extractable, ["wrapKey"]) rejected promise  with SyntaxError: A required parameter was missing or out-of-range.
+PASS crypto.subtle.generateKey({name: "hmac", hash: "sha-1"}, extractable, ["unwrapKey"]) rejected promise  with SyntaxError: A required parameter was missing or out-of-range.
+PASS crypto.subtle.generateKey({name: "hmac", hash: "sha-1", length: 0}, extractable, ["sign", "verify"]) rejected promise  with OperationError: The operation failed for an operation-specific reason.
+PASS crypto.subtle.generateKey({name: "hmac", hash: "sha-1", length: 5}, extractable, ["sign", "verify"]) rejected promise  with OperationError: The operation failed for an operation-specific reason.
 PASS successfullyParsed is true
 
 TEST COMPLETE
index b16c5e8..acfaaab 100644 (file)
@@ -3,28 +3,28 @@ Test importing an HMAC key with malformed parameters
 On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
 
 
-PASS crypto.subtle.importKey("raw", asciiToUint8Array(""), {name: "hmac", hash: "sha-1"}, extractable, ["sign", "verify"]) rejected promise  with DataError (DOM Exception 30): Data provided to an operation does not meet requirements.
-PASS crypto.subtle.importKey("raw", rawKey, {name: "hmac", hash: "sha-1", length: 257}, extractable, ["sign", "verify"]) rejected promise  with DataError (DOM Exception 30): Data provided to an operation does not meet requirements.
-PASS crypto.subtle.importKey("raw", rawKey, {name: "hmac", hash: "sha-1", length: 248}, extractable, ["sign", "verify"]) rejected promise  with DataError (DOM Exception 30): Data provided to an operation does not meet requirements.
-PASS crypto.subtle.importKey("jwk", {kty: "RSA"}, {name: "hmac", hash: "sha-1"}, extractable, ["sign", "verify"]) rejected promise  with DataError (DOM Exception 30): Data provided to an operation does not meet requirements.
-PASS crypto.subtle.importKey("jwk", {kty: "oct"}, {name: "hmac", hash: "sha-1"}, extractable, ["sign", "verify"]) rejected promise  with DataError (DOM Exception 30): Data provided to an operation does not meet requirements.
-PASS crypto.subtle.importKey("jwk", {kty: "oct", k: k, alg: "HS224"}, {name: "hmac", hash: "sha-1"}, extractable, ["sign", "verify"]) rejected promise  with DataError (DOM Exception 30): Data provided to an operation does not meet requirements.
-PASS crypto.subtle.importKey("jwk", {kty: "oct", k: k, alg: "HS256"}, {name: "hmac", hash: "sha-224"}, extractable, ["sign", "verify"]) rejected promise  with DataError (DOM Exception 30): Data provided to an operation does not meet requirements.
-PASS crypto.subtle.importKey("jwk", {kty: "oct", k: k, alg: "HS384"}, {name: "hmac", hash: "sha-256"}, extractable, ["sign", "verify"]) rejected promise  with DataError (DOM Exception 30): Data provided to an operation does not meet requirements.
-PASS crypto.subtle.importKey("jwk", {kty: "oct", k: k, alg: "HS512"}, {name: "hmac", hash: "sha-384"}, extractable, ["sign", "verify"]) rejected promise  with DataError (DOM Exception 30): Data provided to an operation does not meet requirements.
-PASS crypto.subtle.importKey("jwk", {kty: "oct", k: k, alg: "HS1"}, {name: "hmac", hash: "sha-512"}, extractable, ["sign", "verify"]) rejected promise  with DataError (DOM Exception 30): Data provided to an operation does not meet requirements.
-PASS crypto.subtle.importKey("jwk", {kty: "oct", k: k, alg: ""}, {name: "hmac", hash: "sha-1"}, extractable, ["sign", "verify"]) rejected promise  with DataError (DOM Exception 30): Data provided to an operation does not meet requirements.
-PASS crypto.subtle.importKey("jwk", {kty: "oct", k: k, alg: ""}, {name: "hmac", hash: "sha-224"}, extractable, ["sign", "verify"]) rejected promise  with DataError (DOM Exception 30): Data provided to an operation does not meet requirements.
-PASS crypto.subtle.importKey("jwk", {kty: "oct", k: k, alg: ""}, {name: "hmac", hash: "sha-256"}, extractable, ["sign", "verify"]) rejected promise  with DataError (DOM Exception 30): Data provided to an operation does not meet requirements.
-PASS crypto.subtle.importKey("jwk", {kty: "oct", k: k, alg: ""}, {name: "hmac", hash: "sha-384"}, extractable, ["sign", "verify"]) rejected promise  with DataError (DOM Exception 30): Data provided to an operation does not meet requirements.
-PASS crypto.subtle.importKey("jwk", {kty: "oct", k: k, alg: ""}, {name: "hmac", hash: "sha-512"}, extractable, ["sign", "verify"]) rejected promise  with DataError (DOM Exception 30): Data provided to an operation does not meet requirements.
-PASS crypto.subtle.importKey("jwk", {kty: "oct", k: "!!!", alg: "foo"}, {name: "hmac", hash: "sha-1"}, extractable, ["sign", "verify"]) rejected promise  with DataError (DOM Exception 30): Data provided to an operation does not meet requirements.
-PASS crypto.subtle.importKey("jwk", {kty: "oct", k: "", alg: "foo"}, {name: "hmac", hash: "sha-1"}, extractable, ["sign", "verify"]) rejected promise  with DataError (DOM Exception 30): Data provided to an operation does not meet requirements.
-PASS crypto.subtle.importKey("jwk", {kty: "oct", k: k, alg: "HS1", use: "enc"}, {name: "hmac", hash: "sha-1"}, extractable, ["sign", "verify"]) rejected promise  with DataError (DOM Exception 30): Data provided to an operation does not meet requirements.
-PASS crypto.subtle.importKey("jwk", {kty: "oct", k: k, alg: "HS1", use: ""}, {name: "hmac", hash: "sha-1"}, extractable, ["sign", "verify"]) rejected promise  with DataError (DOM Exception 30): Data provided to an operation does not meet requirements.
-PASS crypto.subtle.importKey("jwk", {kty: "oct", k: k, alg: "HS1", key_ops: ["sign"]}, {name: "hmac", hash: "sha-1"}, extractable, ["sign", "verify"]) rejected promise  with DataError (DOM Exception 30): Data provided to an operation does not meet requirements.
-PASS crypto.subtle.importKey("jwk", {kty: "oct", k: k, alg: "HS1", key_ops: [ ]}, {name: "hmac", hash: "sha-1"}, extractable, ["sign", "verify"]) rejected promise  with DataError (DOM Exception 30): Data provided to an operation does not meet requirements.
-PASS crypto.subtle.importKey("jwk", {kty: "oct", k: k, alg: "HS1", ext: false}, {name: "hmac", hash: "sha-1"}, extractable, ["sign", "verify"]) rejected promise  with DataError (DOM Exception 30): Data provided to an operation does not meet requirements.
+PASS crypto.subtle.importKey("raw", asciiToUint8Array(""), {name: "hmac", hash: "sha-1"}, extractable, ["sign", "verify"]) rejected promise  with DataError: Data provided to an operation does not meet requirements.
+PASS crypto.subtle.importKey("raw", rawKey, {name: "hmac", hash: "sha-1", length: 257}, extractable, ["sign", "verify"]) rejected promise  with DataError: Data provided to an operation does not meet requirements.
+PASS crypto.subtle.importKey("raw", rawKey, {name: "hmac", hash: "sha-1", length: 248}, extractable, ["sign", "verify"]) rejected promise  with DataError: Data provided to an operation does not meet requirements.
+PASS crypto.subtle.importKey("jwk", {kty: "RSA"}, {name: "hmac", hash: "sha-1"}, extractable, ["sign", "verify"]) rejected promise  with DataError: Data provided to an operation does not meet requirements.
+PASS crypto.subtle.importKey("jwk", {kty: "oct"}, {name: "hmac", hash: "sha-1"}, extractable, ["sign", "verify"]) rejected promise  with DataError: Data provided to an operation does not meet requirements.
+PASS crypto.subtle.importKey("jwk", {kty: "oct", k: k, alg: "HS224"}, {name: "hmac", hash: "sha-1"}, extractable, ["sign", "verify"]) rejected promise  with DataError: Data provided to an operation does not meet requirements.
+PASS crypto.subtle.importKey("jwk", {kty: "oct", k: k, alg: "HS256"}, {name: "hmac", hash: "sha-224"}, extractable, ["sign", "verify"]) rejected promise  with DataError: Data provided to an operation does not meet requirements.
+PASS crypto.subtle.importKey("jwk", {kty: "oct", k: k, alg: "HS384"}, {name: "hmac", hash: "sha-256"}, extractable, ["sign", "verify"]) rejected promise  with DataError: Data provided to an operation does not meet requirements.
+PASS crypto.subtle.importKey("jwk", {kty: "oct", k: k, alg: "HS512"}, {name: "hmac", hash: "sha-384"}, extractable, ["sign", "verify"]) rejected promise  with DataError: Data provided to an operation does not meet requirements.
+PASS crypto.subtle.importKey("jwk", {kty: "oct", k: k, alg: "HS1"}, {name: "hmac", hash: "sha-512"}, extractable, ["sign", "verify"]) rejected promise  with DataError: Data provided to an operation does not meet requirements.
+PASS crypto.subtle.importKey("jwk", {kty: "oct", k: k, alg: ""}, {name: "hmac", hash: "sha-1"}, extractable, ["sign", "verify"]) rejected promise  with DataError: Data provided to an operation does not meet requirements.
+PASS crypto.subtle.importKey("jwk", {kty: "oct", k: k, alg: ""}, {name: "hmac", hash: "sha-224"}, extractable, ["sign", "verify"]) rejected promise  with DataError: Data provided to an operation does not meet requirements.
+PASS crypto.subtle.importKey("jwk", {kty: "oct", k: k, alg: ""}, {name: "hmac", hash: "sha-256"}, extractable, ["sign", "verify"]) rejected promise  with DataError: Data provided to an operation does not meet requirements.
+PASS crypto.subtle.importKey("jwk", {kty: "oct", k: k, alg: ""}, {name: "hmac", hash: "sha-384"}, extractable, ["sign", "verify"]) rejected promise  with DataError: Data provided to an operation does not meet requirements.
+PASS crypto.subtle.importKey("jwk", {kty: "oct", k: k, alg: ""}, {name: "hmac", hash: "sha-512"}, extractable, ["sign", "verify"]) rejected promise  with DataError: Data provided to an operation does not meet requirements.
+PASS crypto.subtle.importKey("jwk", {kty: "oct", k: "!!!", alg: "foo"}, {name: "hmac", hash: "sha-1"}, extractable, ["sign", "verify"]) rejected promise  with DataError: Data provided to an operation does not meet requirements.
+PASS crypto.subtle.importKey("jwk", {kty: "oct", k: "", alg: "foo"}, {name: "hmac", hash: "sha-1"}, extractable, ["sign", "verify"]) rejected promise  with DataError: Data provided to an operation does not meet requirements.
+PASS crypto.subtle.importKey("jwk", {kty: "oct", k: k, alg: "HS1", use: "enc"}, {name: "hmac", hash: "sha-1"}, extractable, ["sign", "verify"]) rejected promise  with DataError: Data provided to an operation does not meet requirements.
+PASS crypto.subtle.importKey("jwk", {kty: "oct", k: k, alg: "HS1", use: ""}, {name: "hmac", hash: "sha-1"}, extractable, ["sign", "verify"]) rejected promise  with DataError: Data provided to an operation does not meet requirements.
+PASS crypto.subtle.importKey("jwk", {kty: "oct", k: k, alg: "HS1", key_ops: ["sign"]}, {name: "hmac", hash: "sha-1"}, extractable, ["sign", "verify"]) rejected promise  with DataError: Data provided to an operation does not meet requirements.
+PASS crypto.subtle.importKey("jwk", {kty: "oct", k: k, alg: "HS1", key_ops: [ ]}, {name: "hmac", hash: "sha-1"}, extractable, ["sign", "verify"]) rejected promise  with DataError: Data provided to an operation does not meet requirements.
+PASS crypto.subtle.importKey("jwk", {kty: "oct", k: k, alg: "HS1", ext: false}, {name: "hmac", hash: "sha-1"}, extractable, ["sign", "verify"]) rejected promise  with DataError: Data provided to an operation does not meet requirements.
 PASS successfullyParsed is true
 
 TEST COMPLETE
index 37ebd28..81ddaf1 100644 (file)
@@ -31,8 +31,8 @@ PASS crypto.subtle.importKey("jwk", { }, "aes-cbc", extractable, ["encrypt", "de
 PASS crypto.subtle.importKey("jwk", "foo", "aes-cbc", extractable, ["encrypt", "decrypt", "wrapKey", "unwrapKey"]) rejected promise  with TypeError: Type error.
 PASS crypto.subtle.importKey("jwk", undefined, "aes-cbc", extractable, ["encrypt", "decrypt", "wrapKey", "unwrapKey"]) rejected promise  with TypeError: Member JsonWebKey.kty is required and must be an instance of DOMString.
 PASS crypto.subtle.importKey("jwk", null, "aes-cbc", extractable, ["encrypt", "decrypt", "wrapKey", "unwrapKey"]) rejected promise  with TypeError: Member JsonWebKey.kty is required and must be an instance of DOMString.
-PASS crypto.subtle.importKey("raw", rawKey, "aes-cbc", extractable, [ ]) rejected promise  with SyntaxError (DOM Exception 12): A required parameter was missing or out-of-range.
-PASS crypto.subtle.importKey("jwk", jwkPrivateKey, "rsaes-pkcs1-v1_5", extractable, [ ]) rejected promise  with SyntaxError (DOM Exception 12): A required parameter was missing or out-of-range.
+PASS crypto.subtle.importKey("raw", rawKey, "aes-cbc", extractable, [ ]) rejected promise  with SyntaxError: A required parameter was missing or out-of-range.
+PASS crypto.subtle.importKey("jwk", jwkPrivateKey, "rsaes-pkcs1-v1_5", extractable, [ ]) rejected promise  with SyntaxError: A required parameter was missing or out-of-range.
 PASS crypto.subtle.importKey("jwk", {kty: undefined}, "aes-cbc", extractable, ["encrypt", "decrypt", "wrapKey", "unwrapKey"]) rejected promise  with TypeError: Member JsonWebKey.kty is required and must be an instance of DOMString.
 PASS crypto.subtle.importKey("jwk", {kty: "oct", key_ops: ["foo"]}, "aes-cbc", extractable, ["encrypt", "decrypt", "wrapKey", "unwrapKey"]) rejected promise  with TypeError: Type error.
 PASS successfullyParsed is true
index 171bc0c..4a69a5d 100644 (file)
@@ -13,10 +13,10 @@ PASS crypto.subtle.deriveBits({name: "PBKDF2", salt: { }, iterations: 100000, ha
 PASS crypto.subtle.deriveBits({name: "PBKDF2", salt: 1, iterations: 100000, hash: "sha-1"}, baseKey, 128) rejected promise  with TypeError: Type error.
 PASS crypto.subtle.deriveBits({name: "PBKDF2", salt: salt, iterations: undefined, hash: "sha-1"}, baseKey, 128) rejected promise  with TypeError: Member Pbkdf2Params.iterations is required and must be an instance of unsigned long.
 PASS crypto.subtle.deriveBits({name: "PBKDF2", salt: salt, iterations: Symbol(), hash: "sha-1"}, baseKey, 128) rejected promise  with TypeError: Cannot convert a symbol to a number.
-PASS crypto.subtle.deriveBits({name: "PBKDF2", salt: salt, iterations: 100000, hash: "sha-1"}, baseKey, null) rejected promise  with OperationError (DOM Exception 34): The operation failed for an operation-specific reason.
-PASS crypto.subtle.deriveBits({name: "PBKDF2", salt: salt, iterations: 100000, hash: "sha-1"}, baseKey, 0) rejected promise  with OperationError (DOM Exception 34): The operation failed for an operation-specific reason.
-PASS crypto.subtle.deriveBits({name: "PBKDF2", salt: salt, iterations: 100000, hash: "sha-1"}, baseKey, 5) rejected promise  with OperationError (DOM Exception 34): The operation failed for an operation-specific reason.
-PASS crypto.subtle.deriveBits({name: "PBKDF2", salt: salt, iterations: 0, hash: "sha-1"}, baseKey, 128) rejected promise  with OperationError (DOM Exception 34): The operation failed for an operation-specific reason.
+PASS crypto.subtle.deriveBits({name: "PBKDF2", salt: salt, iterations: 100000, hash: "sha-1"}, baseKey, null) rejected promise  with OperationError: The operation failed for an operation-specific reason.
+PASS crypto.subtle.deriveBits({name: "PBKDF2", salt: salt, iterations: 100000, hash: "sha-1"}, baseKey, 0) rejected promise  with OperationError: The operation failed for an operation-specific reason.
+PASS crypto.subtle.deriveBits({name: "PBKDF2", salt: salt, iterations: 100000, hash: "sha-1"}, baseKey, 5) rejected promise  with OperationError: The operation failed for an operation-specific reason.
+PASS crypto.subtle.deriveBits({name: "PBKDF2", salt: salt, iterations: 0, hash: "sha-1"}, baseKey, 128) rejected promise  with OperationError: The operation failed for an operation-specific reason.
 PASS successfullyParsed is true
 
 TEST COMPLETE
index 7a1b6ee..b5447c4 100644 (file)
@@ -3,16 +3,16 @@ Test importing a PBKDF2 raw key with malformed parameters
 On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
 
 
-PASS crypto.subtle.importKey("spki", rawKey, { name: "PBKDF2" }, nonExtractable, ["deriveKey", "deriveBits"]) rejected promise  with NotSupportedError (DOM Exception 9): The algorithm is not supported.
-PASS crypto.subtle.importKey("pkcs8", rawKey, { name: "PBKDF2" }, nonExtractable, ["deriveKey", "deriveBits"]) rejected promise  with NotSupportedError (DOM Exception 9): The algorithm is not supported.
-PASS crypto.subtle.importKey("jwk", jwkKey, { name: "PBKDF2" }, nonExtractable, ["deriveKey", "deriveBits"]) rejected promise  with NotSupportedError (DOM Exception 9): The algorithm is not supported.
-PASS crypto.subtle.importKey("raw", rawKey, { name: "PBKDF2" }, nonExtractable, ["encrypt"]) rejected promise  with SyntaxError (DOM Exception 12): A required parameter was missing or out-of-range.
-PASS crypto.subtle.importKey("raw", rawKey, { name: "PBKDF2" }, nonExtractable, ["decrypt"]) rejected promise  with SyntaxError (DOM Exception 12): A required parameter was missing or out-of-range.
-PASS crypto.subtle.importKey("raw", rawKey, { name: "PBKDF2" }, nonExtractable, ["sign"]) rejected promise  with SyntaxError (DOM Exception 12): A required parameter was missing or out-of-range.
-PASS crypto.subtle.importKey("raw", rawKey, { name: "PBKDF2" }, nonExtractable, ["verify"]) rejected promise  with SyntaxError (DOM Exception 12): A required parameter was missing or out-of-range.
-PASS crypto.subtle.importKey("raw", rawKey, { name: "PBKDF2" }, nonExtractable, ["wrapKey"]) rejected promise  with SyntaxError (DOM Exception 12): A required parameter was missing or out-of-range.
-PASS crypto.subtle.importKey("raw", rawKey, { name: "PBKDF2" }, nonExtractable, ["unwrapKey"]) rejected promise  with SyntaxError (DOM Exception 12): A required parameter was missing or out-of-range.
-PASS crypto.subtle.importKey("raw", rawKey, { name: "PBKDF2" }, true, ["deriveKey", "deriveBits"]) rejected promise  with SyntaxError (DOM Exception 12): A required parameter was missing or out-of-range.
+PASS crypto.subtle.importKey("spki", rawKey, { name: "PBKDF2" }, nonExtractable, ["deriveKey", "deriveBits"]) rejected promise  with NotSupportedError: The algorithm is not supported.
+PASS crypto.subtle.importKey("pkcs8", rawKey, { name: "PBKDF2" }, nonExtractable, ["deriveKey", "deriveBits"]) rejected promise  with NotSupportedError: The algorithm is not supported.
+PASS crypto.subtle.importKey("jwk", jwkKey, { name: "PBKDF2" }, nonExtractable, ["deriveKey", "deriveBits"]) rejected promise  with NotSupportedError: The algorithm is not supported.
+PASS crypto.subtle.importKey("raw", rawKey, { name: "PBKDF2" }, nonExtractable, ["encrypt"]) rejected promise  with SyntaxError: A required parameter was missing or out-of-range.
+PASS crypto.subtle.importKey("raw", rawKey, { name: "PBKDF2" }, nonExtractable, ["decrypt"]) rejected promise  with SyntaxError: A required parameter was missing or out-of-range.
+PASS crypto.subtle.importKey("raw", rawKey, { name: "PBKDF2" }, nonExtractable, ["sign"]) rejected promise  with SyntaxError: A required parameter was missing or out-of-range.
+PASS crypto.subtle.importKey("raw", rawKey, { name: "PBKDF2" }, nonExtractable, ["verify"]) rejected promise  with SyntaxError: A required parameter was missing or out-of-range.
+PASS crypto.subtle.importKey("raw", rawKey, { name: "PBKDF2" }, nonExtractable, ["wrapKey"]) rejected promise  with SyntaxError: A required parameter was missing or out-of-range.
+PASS crypto.subtle.importKey("raw", rawKey, { name: "PBKDF2" }, nonExtractable, ["unwrapKey"]) rejected promise  with SyntaxError: A required parameter was missing or out-of-range.
+PASS crypto.subtle.importKey("raw", rawKey, { name: "PBKDF2" }, true, ["deriveKey", "deriveBits"]) rejected promise  with SyntaxError: A required parameter was missing or out-of-range.
 PASS successfullyParsed is true
 
 TEST COMPLETE
index 98e1ed6..b8a2f1d 100644 (file)
@@ -3,9 +3,9 @@ Test exporting a RSA key with malformed parameters
 On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
 
 
-PASS crypto.subtle.exportKey("pkcs8", publicKey) rejected promise  with InvalidAccessError (DOM Exception 15): The requested operation is not valid for the provided key.
-PASS crypto.subtle.exportKey("raw", publicKey) rejected promise  with NotSupportedError (DOM Exception 9): The algorithm is not supported.
-PASS crypto.subtle.exportKey("spki", privateKey) rejected promise  with InvalidAccessError (DOM Exception 15): The requested operation is not valid for the provided key.
+PASS crypto.subtle.exportKey("pkcs8", publicKey) rejected promise  with InvalidAccessError: The requested operation is not valid for the provided key.
+PASS crypto.subtle.exportKey("raw", publicKey) rejected promise  with NotSupportedError: The algorithm is not supported.
+PASS crypto.subtle.exportKey("spki", privateKey) rejected promise  with InvalidAccessError: The requested operation is not valid for the provided key.
 PASS successfullyParsed is true
 
 TEST COMPLETE
index 2f95d25..22aeceb 100644 (file)
@@ -17,29 +17,29 @@ PASS crypto.subtle.generateKey({name: "RSAES-PKCS1-v1_5", modulusLength: 2048, p
 PASS crypto.subtle.generateKey({name: "RSAES-PKCS1-v1_5", modulusLength: 2048, publicExponent: [ ]}, extractable, ["encrypt", "decrypt"]) rejected promise  with TypeError: Type error.
 PASS crypto.subtle.generateKey({name: "RSASSA-PKCS1-v1_5", modulusLength: 2048, publicExponent: publicExponent}, extractable, ["sign", "verify"]) rejected promise  with TypeError: Member RsaHashedKeyGenParams.hash is required and must be an instance of any.
 PASS crypto.subtle.generateKey({name: "RSA-OAEP", modulusLength: 2048, publicExponent: publicExponent}, extractable, ["decrypt", "encrypt"]) rejected promise  with TypeError: Member RsaHashedKeyGenParams.hash is required and must be an instance of any.
-PASS crypto.subtle.generateKey({name: "RSAES-PKCS1-v1_5", modulusLength: 2048, publicExponent: publicExponent}, extractable, ["sign"]) rejected promise  with SyntaxError (DOM Exception 12): A required parameter was missing or out-of-range.
-PASS crypto.subtle.generateKey({name: "RSAES-PKCS1-v1_5", modulusLength: 2048, publicExponent: publicExponent}, extractable, ["verify"]) rejected promise  with SyntaxError (DOM Exception 12): A required parameter was missing or out-of-range.
-PASS crypto.subtle.generateKey({name: "RSAES-PKCS1-v1_5", modulusLength: 2048, publicExponent: publicExponent}, extractable, ["deriveKey"]) rejected promise  with SyntaxError (DOM Exception 12): A required parameter was missing or out-of-range.
-PASS crypto.subtle.generateKey({name: "RSAES-PKCS1-v1_5", modulusLength: 2048, publicExponent: publicExponent}, extractable, ["deriveBits"]) rejected promise  with SyntaxError (DOM Exception 12): A required parameter was missing or out-of-range.
-PASS crypto.subtle.generateKey({name: "RSAES-PKCS1-v1_5", modulusLength: 2048, publicExponent: publicExponent}, extractable, ["wrapKey"]) rejected promise  with SyntaxError (DOM Exception 12): A required parameter was missing or out-of-range.
-PASS crypto.subtle.generateKey({name: "RSAES-PKCS1-v1_5", modulusLength: 2048, publicExponent: publicExponent}, extractable, ["unwrapKey"]) rejected promise  with SyntaxError (DOM Exception 12): A required parameter was missing or out-of-range.
-PASS crypto.subtle.generateKey({name: "RSASSA-PKCS1-v1_5", modulusLength: 2048, publicExponent: publicExponent, hash: "sha-1"}, extractable, ["encrypt"]) rejected promise  with SyntaxError (DOM Exception 12): A required parameter was missing or out-of-range.
-PASS crypto.subtle.generateKey({name: "RSASSA-PKCS1-v1_5", modulusLength: 2048, publicExponent: publicExponent, hash: "sha-1"}, extractable, ["decrypt"]) rejected promise  with SyntaxError (DOM Exception 12): A required parameter was missing or out-of-range.
-PASS crypto.subtle.generateKey({name: "RSASSA-PKCS1-v1_5", modulusLength: 2048, publicExponent: publicExponent, hash: "sha-1"}, extractable, ["deriveKey"]) rejected promise  with SyntaxError (DOM Exception 12): A required parameter was missing or out-of-range.
-PASS crypto.subtle.generateKey({name: "RSASSA-PKCS1-v1_5", modulusLength: 2048, publicExponent: publicExponent, hash: "sha-1"}, extractable, ["deriveBits"]) rejected promise  with SyntaxError (DOM Exception 12): A required parameter was missing or out-of-range.
-PASS crypto.subtle.generateKey({name: "RSASSA-PKCS1-v1_5", modulusLength: 2048, publicExponent: publicExponent, hash: "sha-1"}, extractable, ["wrapKey"]) rejected promise  with SyntaxError (DOM Exception 12): A required parameter was missing or out-of-range.
-PASS crypto.subtle.generateKey({name: "RSASSA-PKCS1-v1_5", modulusLength: 2048, publicExponent: publicExponent, hash: "sha-1"}, extractable, ["unwrapKey"]) rejected promise  with SyntaxError (DOM Exception 12): A required parameter was missing or out-of-range.
-PASS crypto.subtle.generateKey({name: "RSA-OAEP", modulusLength: 2048, publicExponent: publicExponent, hash: "sha-1"}, extractable, ["sign"]) rejected promise  with SyntaxError (DOM Exception 12): A required parameter was missing or out-of-range.
-PASS crypto.subtle.generateKey({name: "RSA-OAEP", modulusLength: 2048, publicExponent: publicExponent, hash: "sha-1"}, extractable, ["verify"]) rejected promise  with SyntaxError (DOM Exception 12): A required parameter was missing or out-of-range.
-PASS crypto.subtle.generateKey({name: "RSA-OAEP", modulusLength: 2048, publicExponent: publicExponent, hash: "sha-1"}, extractable, ["deriveKey"]) rejected promise  with SyntaxError (DOM Exception 12): A required parameter was missing or out-of-range.
-PASS crypto.subtle.generateKey({name: "RSA-OAEP", modulusLength: 2048, publicExponent: publicExponent, hash: "sha-1"}, extractable, ["deriveBits"]) rejected promise  with SyntaxError (DOM Exception 12): A required parameter was missing or out-of-range.
-PASS crypto.subtle.generateKey({name: "RSA-PSS", modulusLength: 2048, publicExponent: publicExponent, hash: "sha-1"}, extractable, ["encrypt"]) rejected promise  with NotSupportedError (DOM Exception 9): The operation is not supported..
-PASS crypto.subtle.generateKey({name: "RSA-PSS", modulusLength: 2048, publicExponent: publicExponent, hash: "sha-1"}, extractable, ["decrypt"]) rejected promise  with NotSupportedError (DOM Exception 9): The operation is not supported..
-PASS crypto.subtle.generateKey({name: "RSA-PSS", modulusLength: 2048, publicExponent: publicExponent, hash: "sha-1"}, extractable, ["deriveKey"]) rejected promise  with NotSupportedError (DOM Exception 9): The operation is not supported..
-PASS crypto.subtle.generateKey({name: "RSA-PSS", modulusLength: 2048, publicExponent: publicExponent, hash: "sha-1"}, extractable, ["deriveBits"]) rejected promise  with NotSupportedError (DOM Exception 9): The operation is not supported..
-PASS crypto.subtle.generateKey({name: "RSA-PSS", modulusLength: 2048, publicExponent: publicExponent, hash: "sha-1"}, extractable, ["wrapKey"]) rejected promise  with NotSupportedError (DOM Exception 9): The operation is not supported..
-PASS crypto.subtle.generateKey({name: "RSA-PSS", modulusLength: 2048, publicExponent: publicExponent, hash: "sha-1"}, extractable, ["unwrapKey"]) rejected promise  with NotSupportedError (DOM Exception 9): The operation is not supported..
-PASS crypto.subtle.generateKey({name: "RSASSA-PKCS1-v1_5", modulusLength: 0, publicExponent: publicExponent, hash: "sha-1"}, extractable, ["sign", "verify"]) rejected promise  with OperationError (DOM Exception 34): The operation failed for an operation-specific reason.
+PASS crypto.subtle.generateKey({name: "RSAES-PKCS1-v1_5", modulusLength: 2048, publicExponent: publicExponent}, extractable, ["sign"]) rejected promise  with SyntaxError: A required parameter was missing or out-of-range.
+PASS crypto.subtle.generateKey({name: "RSAES-PKCS1-v1_5", modulusLength: 2048, publicExponent: publicExponent}, extractable, ["verify"]) rejected promise  with SyntaxError: A required parameter was missing or out-of-range.
+PASS crypto.subtle.generateKey({name: "RSAES-PKCS1-v1_5", modulusLength: 2048, publicExponent: publicExponent}, extractable, ["deriveKey"]) rejected promise  with SyntaxError: A required parameter was missing or out-of-range.
+PASS crypto.subtle.generateKey({name: "RSAES-PKCS1-v1_5", modulusLength: 2048, publicExponent: publicExponent}, extractable, ["deriveBits"]) rejected promise  with SyntaxError: A required parameter was missing or out-of-range.
+PASS crypto.subtle.generateKey({name: "RSAES-PKCS1-v1_5", modulusLength: 2048, publicExponent: publicExponent}, extractable, ["wrapKey"]) rejected promise  with SyntaxError: A required parameter was missing or out-of-range.
+PASS crypto.subtle.generateKey({name: "RSAES-PKCS1-v1_5", modulusLength: 2048, publicExponent: publicExponent}, extractable, ["unwrapKey"]) rejected promise  with SyntaxError: A required parameter was missing or out-of-range.
+PASS crypto.subtle.generateKey({name: "RSASSA-PKCS1-v1_5", modulusLength: 2048, publicExponent: publicExponent, hash: "sha-1"}, extractable, ["encrypt"]) rejected promise  with SyntaxError: A required parameter was missing or out-of-range.
+PASS crypto.subtle.generateKey({name: "RSASSA-PKCS1-v1_5", modulusLength: 2048, publicExponent: publicExponent, hash: "sha-1"}, extractable, ["decrypt"]) rejected promise  with SyntaxError: A required parameter was missing or out-of-range.
+PASS crypto.subtle.generateKey({name: "RSASSA-PKCS1-v1_5", modulusLength: 2048, publicExponent: publicExponent, hash: "sha-1"}, extractable, ["deriveKey"]) rejected promise  with SyntaxError: A required parameter was missing or out-of-range.
+PASS crypto.subtle.generateKey({name: "RSASSA-PKCS1-v1_5", modulusLength: 2048, publicExponent: publicExponent, hash: "sha-1"}, extractable, ["deriveBits"]) rejected promise  with SyntaxError: A required parameter was missing or out-of-range.
+PASS crypto.subtle.generateKey({name: "RSASSA-PKCS1-v1_5", modulusLength: 2048, publicExponent: publicExponent, hash: "sha-1"}, extractable, ["wrapKey"]) rejected promise  with SyntaxError: A required parameter was missing or out-of-range.
+PASS crypto.subtle.generateKey({name: "RSASSA-PKCS1-v1_5", modulusLength: 2048, publicExponent: publicExponent, hash: "sha-1"}, extractable, ["unwrapKey"]) rejected promise  with SyntaxError: A required parameter was missing or out-of-range.
+PASS crypto.subtle.generateKey({name: "RSA-OAEP", modulusLength: 2048, publicExponent: publicExponent, hash: "sha-1"}, extractable, ["sign"]) rejected promise  with SyntaxError: A required parameter was missing or out-of-range.
+PASS crypto.subtle.generateKey({name: "RSA-OAEP", modulusLength: 2048, publicExponent: publicExponent, hash: "sha-1"}, extractable, ["verify"]) rejected promise  with SyntaxError: A required parameter was missing or out-of-range.
+PASS crypto.subtle.generateKey({name: "RSA-OAEP", modulusLength: 2048, publicExponent: publicExponent, hash: "sha-1"}, extractable, ["deriveKey"]) rejected promise  with SyntaxError: A required parameter was missing or out-of-range.
+PASS crypto.subtle.generateKey({name: "RSA-OAEP", modulusLength: 2048, publicExponent: publicExponent, hash: "sha-1"}, extractable, ["deriveBits"]) rejected promise  with SyntaxError: A required parameter was missing or out-of-range.
+PASS crypto.subtle.generateKey({name: "RSA-PSS", modulusLength: 2048, publicExponent: publicExponent, hash: "sha-1"}, extractable, ["encrypt"]) rejected promise  with NotSupportedError: The operation is not supported..
+PASS crypto.subtle.generateKey({name: "RSA-PSS", modulusLength: 2048, publicExponent: publicExponent, hash: "sha-1"}, extractable, ["decrypt"]) rejected promise  with NotSupportedError: The operation is not supported..
+PASS crypto.subtle.generateKey({name: "RSA-PSS", modulusLength: 2048, publicExponent: publicExponent, hash: "sha-1"}, extractable, ["deriveKey"]) rejected promise  with NotSupportedError: The operation is not supported..
+PASS crypto.subtle.generateKey({name: "RSA-PSS", modulusLength: 2048, publicExponent: publicExponent, hash: "sha-1"}, extractable, ["deriveBits"]) rejected promise  with NotSupportedError: The operation is not supported..
+PASS crypto.subtle.generateKey({name: "RSA-PSS", modulusLength: 2048, publicExponent: publicExponent, hash: "sha-1"}, extractable, ["wrapKey"]) rejected promise  with NotSupportedError: The operation is not supported..
+PASS crypto.subtle.generateKey({name: "RSA-PSS", modulusLength: 2048, publicExponent: publicExponent, hash: "sha-1"}, extractable, ["unwrapKey"]) rejected promise  with NotSupportedError: The operation is not supported..
+PASS crypto.subtle.generateKey({name: "RSASSA-PKCS1-v1_5", modulusLength: 0, publicExponent: publicExponent, hash: "sha-1"}, extractable, ["sign", "verify"]) rejected promise  with OperationError: The operation failed for an operation-specific reason.
 PASS successfullyParsed is true
 
 TEST COMPLETE
index 866e7f1..e6a2e4f 100644 (file)
@@ -3,91 +3,91 @@ Test importing a RSA key with malformed parameters
 On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
 
 
-PASS crypto.subtle.importKey("jwk", {kty: "RSA", n: n, e: e}, "RSAES-PKCS1-v1_5", extractable, ["decrypt"]) rejected promise  with SyntaxError (DOM Exception 12): A required parameter was missing or out-of-range.
-PASS crypto.subtle.importKey("jwk", {kty: "RSA", n: n, e: e, d: d}, "RSAES-PKCS1-v1_5", extractable, ["encrypt"]) rejected promise  with SyntaxError (DOM Exception 12): A required parameter was missing or out-of-range.
-PASS crypto.subtle.importKey("jwk", {kty: "RSA", n: n, e: e, d: ""}, "RSAES-PKCS1-v1_5", extractable, ["encrypt"]) rejected promise  with SyntaxError (DOM Exception 12): A required parameter was missing or out-of-range.
-PASS crypto.subtle.importKey("jwk", {kty: "RSA", n: n, e: e}, {name: "RSASSA-PKCS1-v1_5", hash: "sha-1"}, extractable, ["sign"]) rejected promise  with SyntaxError (DOM Exception 12): A required parameter was missing or out-of-range.
-PASS crypto.subtle.importKey("jwk", {kty: "RSA", n: n, e: e, d: d}, {name: "RSASSA-PKCS1-v1_5", hash: "sha-1"}, extractable, ["verify"]) rejected promise  with SyntaxError (DOM Exception 12): A required parameter was missing or out-of-range.
-PASS crypto.subtle.importKey("jwk", {kty: "RSA", n: n, e: e, d: ""}, {name: "RSASSA-PKCS1-v1_5", hash: "sha-1"}, extractable, ["verify"]) rejected promise  with SyntaxError (DOM Exception 12): A required parameter was missing or out-of-range.
-PASS crypto.subtle.importKey("jwk", {kty: "RSA", n: n, e: e}, {name: "RSA-OAEP", hash: "sha-1"}, extractable, ["decrypt", "unwrapKey"]) rejected promise  with SyntaxError (DOM Exception 12): A required parameter was missing or out-of-range.
-PASS crypto.subtle.importKey("jwk", {kty: "RSA", n: n, e: e, d: d}, {name: "RSA-OAEP", hash: "sha-1"}, extractable, ["encrypt", "wrapKey"]) rejected promise  with SyntaxError (DOM Exception 12): A required parameter was missing or out-of-range.
-PASS crypto.subtle.importKey("jwk", {kty: "RSA", n: n, e: e, d: ""}, {name: "RSA-OAEP", hash: "sha-1"}, extractable, ["encrypt", "wrapKey"]) rejected promise  with SyntaxError (DOM Exception 12): A required parameter was missing or out-of-range.
-PASS crypto.subtle.importKey("jwk", {kty: "RSA", n: n, e: e}, {name: "RSA-PSS", hash: "sha-1"}, extractable, ["sign"]) rejected promise  with NotSupportedError (DOM Exception 9): The operation is not supported..
-PASS crypto.subtle.importKey("jwk", {kty: "RSA", n: n, e: e, d: d}, {name: "RSA-PSS", hash: "sha-1"}, extractable, ["verify"]) rejected promise  with NotSupportedError (DOM Exception 9): The operation is not supported..
-PASS crypto.subtle.importKey("jwk", {kty: "RSA", n: n, e: e, d: ""}, {name: "RSA-PSS", hash: "sha-1"}, extractable, ["verify"]) rejected promise  with NotSupportedError (DOM Exception 9): The operation is not supported..
-PASS crypto.subtle.importKey("jwk", {kty: "RSA", n: n, e: e, use: "sig"}, "RSAES-PKCS1-v1_5", extractable, ["encrypt"]) rejected promise  with DataError (DOM Exception 30): Data provided to an operation does not meet requirements.
-PASS crypto.subtle.importKey("jwk", {kty: "RSA", n: n, e: e, use: ""}, "RSAES-PKCS1-v1_5", extractable, ["encrypt"]) rejected promise  with DataError (DOM Exception 30): Data provided to an operation does not meet requirements.
-PASS crypto.subtle.importKey("jwk", {kty: "RSA", n: n, e: e, use: "enc"}, {name: "RSASSA-PKCS1-v1_5", hash: "sha-1"}, extractable, ["verify"]) rejected promise  with DataError (DOM Exception 30): Data provided to an operation does not meet requirements.
-PASS crypto.subtle.importKey("jwk", {kty: "RSA", n: n, e: e, use: ""}, {name: "RSASSA-PKCS1-v1_5", hash: "sha-1"}, extractable, ["verify"]) rejected promise  with DataError (DOM Exception 30): Data provided to an operation does not meet requirements.
-PASS crypto.subtle.importKey("jwk", {kty: "RSA", n: n, e: e, use: "sig"}, {name: "RSA-OAEP", hash: "sha-1"}, extractable, ["encrypt", "wrapKey"]) rejected promise  with DataError (DOM Exception 30): Data provided to an operation does not meet requirements.
-PASS crypto.subtle.importKey("jwk", {kty: "RSA", n: n, e: e, use: ""}, {name: "RSA-OAEP", hash: "sha-1"}, extractable, ["encrypt", "wrapKey"]) rejected promise  with DataError (DOM Exception 30): Data provided to an operation does not meet requirements.
-PASS crypto.subtle.importKey("jwk", {kty: "RSA", n: n, e: e, use: "enc"}, {name: "RSA-PSS", hash: "sha-1"}, extractable, ["verify"]) rejected promise  with NotSupportedError (DOM Exception 9): The operation is not supported..
-PASS crypto.subtle.importKey("jwk", {kty: "RSA", n: n, e: e, use: ""}, {name: "RSA-PSS", hash: "sha-1"}, extractable, ["verify"]) rejected promise  with NotSupportedError (DOM Exception 9): The operation is not supported..
-PASS crypto.subtle.importKey("jwk", {kty: "RSA", n: n, e: e, alg: "foo"}, "RSAES-PKCS1-v1_5", extractable, ["encrypt"]) rejected promise  with DataError (DOM Exception 30): Data provided to an operation does not meet requirements.
-PASS crypto.subtle.importKey("jwk", {kty: "RSA", n: n, e: e, alg: ""}, "RSAES-PKCS1-v1_5", extractable, ["encrypt"]) rejected promise  with DataError (DOM Exception 30): Data provided to an operation does not meet requirements.
-PASS crypto.subtle.importKey("jwk", {kty: "RSA", n: n, e: e, alg: "RS224"}, {name: "RSASSA-PKCS1-v1_5", hash: "sha-1"}, extractable, ["verify"]) rejected promise  with DataError (DOM Exception 30): Data provided to an operation does not meet requirements.
-PASS crypto.subtle.importKey("jwk", {kty: "RSA", n: n, e: e, alg: "RS256"}, {name: "RSASSA-PKCS1-v1_5", hash: "sha-224"}, extractable, ["verify"]) rejected promise  with DataError (DOM Exception 30): Data provided to an operation does not meet requirements.
-PASS crypto.subtle.importKey("jwk", {kty: "RSA", n: n, e: e, alg: "RS384"}, {name: "RSASSA-PKCS1-v1_5", hash: "sha-256"}, extractable, ["verify"]) rejected promise  with DataError (DOM Exception 30): Data provided to an operation does not meet requirements.
-PASS crypto.subtle.importKey("jwk", {kty: "RSA", n: n, e: e, alg: "RS512"}, {name: "RSASSA-PKCS1-v1_5", hash: "sha-384"}, extractable, ["verify"]) rejected promise  with DataError (DOM Exception 30): Data provided to an operation does not meet requirements.
-PASS crypto.subtle.importKey("jwk", {kty: "RSA", n: n, e: e, alg: "RS1"}, {name: "RSASSA-PKCS1-v1_5", hash: "sha-512"}, extractable, ["verify"]) rejected promise  with DataError (DOM Exception 30): Data provided to an operation does not meet requirements.
-PASS crypto.subtle.importKey("jwk", {kty: "RSA", n: n, e: e, alg: ""}, {name: "RSASSA-PKCS1-v1_5", hash: "sha-1"}, extractable, ["verify"]) rejected promise  with DataError (DOM Exception 30): Data provided to an operation does not meet requirements.
-PASS crypto.subtle.importKey("jwk", {kty: "RSA", n: n, e: e, alg: ""}, {name: "RSASSA-PKCS1-v1_5", hash: "sha-224"}, extractable, ["verify"]) rejected promise  with DataError (DOM Exception 30): Data provided to an operation does not meet requirements.
-PASS crypto.subtle.importKey("jwk", {kty: "RSA", n: n, e: e, alg: ""}, {name: "RSASSA-PKCS1-v1_5", hash: "sha-256"}, extractable, ["verify"]) rejected promise  with DataError (DOM Exception 30): Data provided to an operation does not meet requirements.
-PASS crypto.subtle.importKey("jwk", {kty: "RSA", n: n, e: e, alg: ""}, {name: "RSASSA-PKCS1-v1_5", hash: "sha-384"}, extractable, ["verify"]) rejected promise  with DataError (DOM Exception 30): Data provided to an operation does not meet requirements.
-PASS crypto.subtle.importKey("jwk", {kty: "RSA", n: n, e: e, alg: ""}, {name: "RSASSA-PKCS1-v1_5", hash: "sha-512"}, extractable, ["verify"]) rejected promise  with DataError (DOM Exception 30): Data provided to an operation does not meet requirements.
-PASS crypto.subtle.importKey("jwk", {kty: "RSA", n: n, e: e, alg: "RSA-OAEP-224"}, {name: "RSA-OAEP", hash: "sha-1"}, extractable, ["encrypt", "wrapKey"]) rejected promise  with DataError (DOM Exception 30): Data provided to an operation does not meet requirements.
-PASS crypto.subtle.importKey("jwk", {kty: "RSA", n: n, e: e, alg: "RSA-OAEP-256"}, {name: "RSA-OAEP", hash: "sha-224"}, extractable, ["encrypt", "wrapKey"]) rejected promise  with DataError (DOM Exception 30): Data provided to an operation does not meet requirements.
-PASS crypto.subtle.importKey("jwk", {kty: "RSA", n: n, e: e, alg: "RSA-OAEP-384"}, {name: "RSA-OAEP", hash: "sha-256"}, extractable, ["encrypt", "wrapKey"]) rejected promise  with DataError (DOM Exception 30): Data provided to an operation does not meet requirements.
-PASS crypto.subtle.importKey("jwk", {kty: "RSA", n: n, e: e, alg: "RSA-OAEP-512"}, {name: "RSA-OAEP", hash: "sha-384"}, extractable, ["encrypt", "wrapKey"]) rejected promise  with DataError (DOM Exception 30): Data provided to an operation does not meet requirements.
-PASS crypto.subtle.importKey("jwk", {kty: "RSA", n: n, e: e, alg: "RSA-OAEP"}, {name: "RSA-OAEP", hash: "sha-512"}, extractable, ["encrypt", "wrapKey"]) rejected promise  with DataError (DOM Exception 30): Data provided to an operation does not meet requirements.
-PASS crypto.subtle.importKey("jwk", {kty: "RSA", n: n, e: e, alg: ""}, {name: "RSA-OAEP", hash: "sha-1"}, extractable, ["encrypt", "wrapKey"]) rejected promise  with DataError (DOM Exception 30): Data provided to an operation does not meet requirements.
-PASS crypto.subtle.importKey("jwk", {kty: "RSA", n: n, e: e, alg: ""}, {name: "RSA-OAEP", hash: "sha-224"}, extractable, ["encrypt", "wrapKey"]) rejected promise  with DataError (DOM Exception 30): Data provided to an operation does not meet requirements.
-PASS crypto.subtle.importKey("jwk", {kty: "RSA", n: n, e: e, alg: ""}, {name: "RSA-OAEP", hash: "sha-256"}, extractable, ["encrypt", "wrapKey"]) rejected promise  with DataError (DOM Exception 30): Data provided to an operation does not meet requirements.
-PASS crypto.subtle.importKey("jwk", {kty: "RSA", n: n, e: e, alg: ""}, {name: "RSA-OAEP", hash: "sha-384"}, extractable, ["encrypt", "wrapKey"]) rejected promise  with DataError (DOM Exception 30): Data provided to an operation does not meet requirements.
-PASS crypto.subtle.importKey("jwk", {kty: "RSA", n: n, e: e, alg: ""}, {name: "RSA-OAEP", hash: "sha-512"}, extractable, ["encrypt", "wrapKey"]) rejected promise  with DataError (DOM Exception 30): Data provided to an operation does not meet requirements.
-PASS crypto.subtle.importKey("jwk", {kty: "RSA", n: n, e: e, alg: "PS224"}, {name: "RSA-PSS", hash: "sha-1"}, extractable, ["verify"]) rejected promise  with NotSupportedError (DOM Exception 9): The operation is not supported..
-PASS crypto.subtle.importKey("jwk", {kty: "RSA", n: n, e: e, alg: "PS256"}, {name: "RSA-PSS", hash: "sha-224"}, extractable, ["verify"]) rejected promise  with NotSupportedError (DOM Exception 9): The operation is not supported..
-PASS crypto.subtle.importKey("jwk", {kty: "RSA", n: n, e: e, alg: "PS384"}, {name: "RSA-PSS", hash: "sha-256"}, extractable, ["verify"]) rejected promise  with NotSupportedError (DOM Exception 9): The operation is not supported..
-PASS crypto.subtle.importKey("jwk", {kty: "RSA", n: n, e: e, alg: "PS512"}, {name: "RSA-PSS", hash: "sha-384"}, extractable, ["verify"]) rejected promise  with NotSupportedError (DOM Exception 9): The operation is not supported..
-PASS crypto.subtle.importKey("jwk", {kty: "RSA", n: n, e: e, alg: "PS1"}, {name: "RSA-PSS", hash: "sha-512"}, extractable, ["verify"]) rejected promise  with NotSupportedError (DOM Exception 9): The operation is not supported..
-PASS crypto.subtle.importKey("jwk", {kty: "RSA", n: n, e: e, alg: ""}, {name: "RSA-PSS", hash: "sha-1"}, extractable, ["verify"]) rejected promise  with NotSupportedError (DOM Exception 9): The operation is not supported..
-PASS crypto.subtle.importKey("jwk", {kty: "RSA", n: n, e: e, alg: ""}, {name: "RSA-PSS", hash: "sha-224"}, extractable, ["verify"]) rejected promise  with NotSupportedError (DOM Exception 9): The operation is not supported..
-PASS crypto.subtle.importKey("jwk", {kty: "RSA", n: n, e: e, alg: ""}, {name: "RSA-PSS", hash: "sha-256"}, extractable, ["verify"]) rejected promise  with NotSupportedError (DOM Exception 9): The operation is not supported..
-PASS crypto.subtle.importKey("jwk", {kty: "RSA", n: n, e: e, alg: ""}, {name: "RSA-PSS", hash: "sha-384"}, extractable, ["verify"]) rejected promise  with NotSupportedError (DOM Exception 9): The operation is not supported..
-PASS crypto.subtle.importKey("jwk", {kty: "RSA", n: n, e: e, alg: ""}, {name: "RSA-PSS", hash: "sha-512"}, extractable, ["verify"]) rejected promise  with NotSupportedError (DOM Exception 9): The operation is not supported..
-PASS crypto.subtle.importKey("jwk", {kty: "oct", n: n, e: e}, "RSAES-PKCS1-v1_5", extractable, ["encrypt"]) rejected promise  with DataError (DOM Exception 30): Data provided to an operation does not meet requirements.
-PASS crypto.subtle.importKey("jwk", {kty: "RSA", n: n, e: e, key_ops: ["sign", "verify"]}, "RSAES-PKCS1-v1_5", extractable, ["encrypt"]) rejected promise  with DataError (DOM Exception 30): Data provided to an operation does not meet requirements.
-PASS crypto.subtle.importKey("jwk", {kty: "RSA", n: n, e: e, key_ops: [ ]}, "RSAES-PKCS1-v1_5", extractable, ["encrypt"]) rejected promise  with DataError (DOM Exception 30): Data provided to an operation does not meet requirements.
-PASS crypto.subtle.importKey("jwk", {kty: "RSA", n: n, e: e, ext: false}, "RSAES-PKCS1-v1_5", extractable, ["encrypt"]) rejected promise  with DataError (DOM Exception 30): Data provided to an operation does not meet requirements.
-PASS crypto.subtle.importKey("jwk", {kty: "RSA"}, "RSAES-PKCS1-v1_5", extractable, ["encrypt"]) rejected promise  with DataError (DOM Exception 30): Data provided to an operation does not meet requirements.
-PASS crypto.subtle.importKey("jwk", {kty: "RSA", n: n}, "RSAES-PKCS1-v1_5", extractable, ["encrypt"]) rejected promise  with DataError (DOM Exception 30): Data provided to an operation does not meet requirements.
-PASS crypto.subtle.importKey("jwk", {kty: "RSA", e: e}, "RSAES-PKCS1-v1_5", extractable, ["encrypt"]) rejected promise  with DataError (DOM Exception 30): Data provided to an operation does not meet requirements.
-PASS crypto.subtle.importKey("jwk", {kty: "RSA", n: n, e: e, d: d}, "RSAES-PKCS1-v1_5", extractable, ["decrypt"]) rejected promise  with DataError (DOM Exception 30): Data provided to an operation does not meet requirements.
-PASS crypto.subtle.importKey("jwk", {kty: "RSA", n: n, e: e, d: d, p: p, q: q, dp: dp, dq: dq, qi: qi, oth: [{r: q, d: dq, t: qi}]}, "RSAES-PKCS1-v1_5", extractable, ["decrypt"]) rejected promise  with DataError (DOM Exception 30): Data provided to an operation does not meet requirements.
-PASS crypto.subtle.importKey("jwk", {kty: "RSA", n: n, e: e, d: d, q: q, dp: dp, dq: dq, qi: qi}, "RSAES-PKCS1-v1_5", extractable, ["decrypt"]) rejected promise  with DataError (DOM Exception 30): Data provided to an operation does not meet requirements.
-PASS crypto.subtle.importKey("jwk", {kty: "RSA", n: n, e: e, d: d, p: p, dp: dp, dq: dq, qi: qi}, "RSAES-PKCS1-v1_5", extractable, ["decrypt"]) rejected promise  with DataError (DOM Exception 30): Data provided to an operation does not meet requirements.
-PASS crypto.subtle.importKey("jwk", {kty: "RSA", n: n, e: e, d: d, p: p, q: q, dq: dq, qi: qi}, "RSAES-PKCS1-v1_5", extractable, ["decrypt"]) rejected promise  with DataError (DOM Exception 30): Data provided to an operation does not meet requirements.
-PASS crypto.subtle.importKey("jwk", {kty: "RSA", n: n, e: e, d: d, p: p, q: q, dp: dp, qi: qi}, "RSAES-PKCS1-v1_5", extractable, ["decrypt"]) rejected promise  with DataError (DOM Exception 30): Data provided to an operation does not meet requirements.
-PASS crypto.subtle.importKey("jwk", {kty: "RSA", n: n, e: e, d: d, p: p, q: q, dp: dp, dq: dq}, "RSAES-PKCS1-v1_5", extractable, ["decrypt"]) rejected promise  with DataError (DOM Exception 30): Data provided to an operation does not meet requirements.
-PASS crypto.subtle.importKey("jwk", {kty: "RSA", n: n, e: e, d: d, p: "", q: q, dp: dp, dq: dq, qi: qi}, "RSAES-PKCS1-v1_5", extractable, ["decrypt"]) rejected promise  with DataError (DOM Exception 30): Data provided to an operation does not meet requirements.
-PASS crypto.subtle.importKey("spki", spkiKey, "RSAES-PKCS1-v1_5", extractable, ["decrypt"]) rejected promise  with SyntaxError (DOM Exception 12): A required parameter was missing or out-of-range.
-PASS crypto.subtle.importKey("spki", spkiKey, {name: "RSASSA-PKCS1-v1_5", hash: "sha-1"}, extractable, ["sign"]) rejected promise  with SyntaxError (DOM Exception 12): A required parameter was missing or out-of-range.
-PASS crypto.subtle.importKey("spki", spkiKey, {name: "RSA-OAEP", hash: "sha-1"}, extractable, ["decrypt", "unwrapKey"]) rejected promise  with SyntaxError (DOM Exception 12): A required parameter was missing or out-of-range.
-PASS crypto.subtle.importKey("spki", spkiKey, {name: "RSA-PSS", hash: "sha-1"}, extractable, ["sign"]) rejected promise  with NotSupportedError (DOM Exception 9): The operation is not supported..
-PASS crypto.subtle.importKey("pkcs8", pkcs8Key, "RSAES-PKCS1-v1_5", extractable, ["encrypt"]) rejected promise  with SyntaxError (DOM Exception 12): A required parameter was missing or out-of-range.
-PASS crypto.subtle.importKey("pkcs8", pkcs8Key, {name: "RSASSA-PKCS1-v1_5", hash: "sha-1"}, extractable, ["verify"]) rejected promise  with SyntaxError (DOM Exception 12): A required parameter was missing or out-of-range.
-PASS crypto.subtle.importKey("pkcs8", pkcs8Key, {name: "RSA-OAEP", hash: "sha-1"}, extractable, ["encrypt", "wrapKey"]) rejected promise  with SyntaxError (DOM Exception 12): A required parameter was missing or out-of-range.
-PASS crypto.subtle.importKey("pkcs8", pkcs8Key, {name: "RSA-PSS", hash: "sha-1"}, extractable, ["verify"]) rejected promise  with NotSupportedError (DOM Exception 9): The operation is not supported..
-PASS crypto.subtle.importKey("spki", malformedKey0, "RSAES-PKCS1-v1_5", extractable, ["encrypt"]) rejected promise  with DataError (DOM Exception 30): Data provided to an operation does not meet requirements.
-PASS crypto.subtle.importKey("spki", malformedKey1, "RSAES-PKCS1-v1_5", extractable, ["encrypt"]) rejected promise  with DataError (DOM Exception 30): Data provided to an operation does not meet requirements.
-PASS crypto.subtle.importKey("spki", malformedKey2, "RSAES-PKCS1-v1_5", extractable, ["encrypt"]) rejected promise  with DataError (DOM Exception 30): Data provided to an operation does not meet requirements.
-PASS crypto.subtle.importKey("spki", malformedKey4, "RSAES-PKCS1-v1_5", extractable, ["encrypt"]) rejected promise  with DataError (DOM Exception 30): Data provided to an operation does not meet requirements.
-PASS crypto.subtle.importKey("spki", malformedKey6, "RSAES-PKCS1-v1_5", extractable, ["encrypt"]) rejected promise  with DataError (DOM Exception 30): Data provided to an operation does not meet requirements.
-PASS crypto.subtle.importKey("pkcs8", malformedKey0, "RSAES-PKCS1-v1_5", extractable, ["decrypt"]) rejected promise  with DataError (DOM Exception 30): Data provided to an operation does not meet requirements.
-PASS crypto.subtle.importKey("pkcs8", malformedKey1, "RSAES-PKCS1-v1_5", extractable, ["decrypt"]) rejected promise  with DataError (DOM Exception 30): Data provided to an operation does not meet requirements.
-PASS crypto.subtle.importKey("pkcs8", malformedKey3, "RSAES-PKCS1-v1_5", extractable, ["decrypt"]) rejected promise  with DataError (DOM Exception 30): Data provided to an operation does not meet requirements.
-PASS crypto.subtle.importKey("pkcs8", malformedKey5, "RSAES-PKCS1-v1_5", extractable, ["decrypt"]) rejected promise  with DataError (DOM Exception 30): Data provided to an operation does not meet requirements.
-PASS crypto.subtle.importKey("pkcs8", malformedKey7, "RSAES-PKCS1-v1_5", extractable, ["decrypt"]) rejected promise  with DataError (DOM Exception 30): Data provided to an operation does not meet requirements.
+PASS crypto.subtle.importKey("jwk", {kty: "RSA", n: n, e: e}, "RSAES-PKCS1-v1_5", extractable, ["decrypt"]) rejected promise  with SyntaxError: A required parameter was missing or out-of-range.
+PASS crypto.subtle.importKey("jwk", {kty: "RSA", n: n, e: e, d: d}, "RSAES-PKCS1-v1_5", extractable, ["encrypt"]) rejected promise  with SyntaxError: A required parameter was missing or out-of-range.
+PASS crypto.subtle.importKey("jwk", {kty: "RSA", n: n, e: e, d: ""}, "RSAES-PKCS1-v1_5", extractable, ["encrypt"]) rejected promise  with SyntaxError: A required parameter was missing or out-of-range.
+PASS crypto.subtle.importKey("jwk", {kty: "RSA", n: n, e: e}, {name: "RSASSA-PKCS1-v1_5", hash: "sha-1"}, extractable, ["sign"]) rejected promise  with SyntaxError: A required parameter was missing or out-of-range.
+PASS crypto.subtle.importKey("jwk", {kty: "RSA", n: n, e: e, d: d}, {name: "RSASSA-PKCS1-v1_5", hash: "sha-1"}, extractable, ["verify"]) rejected promise  with SyntaxError: A required parameter was missing or out-of-range.
+PASS crypto.subtle.importKey("jwk", {kty: "RSA", n: n, e: e, d: ""}, {name: "RSASSA-PKCS1-v1_5", hash: "sha-1"}, extractable, ["verify"]) rejected promise  with SyntaxError: A required parameter was missing or out-of-range.
+PASS crypto.subtle.importKey("jwk", {kty: "RSA", n: n, e: e}, {name: "RSA-OAEP", hash: "sha-1"}, extractable, ["decrypt", "unwrapKey"]) rejected promise  with SyntaxError: A required parameter was missing or out-of-range.
+PASS crypto.subtle.importKey("jwk", {kty: "RSA", n: n, e: e, d: d}, {name: "RSA-OAEP", hash: "sha-1"}, extractable, ["encrypt", "wrapKey"]) rejected promise  with SyntaxError: A required parameter was missing or out-of-range.
+PASS crypto.subtle.importKey("jwk", {kty: "RSA", n: n, e: e, d: ""}, {name: "RSA-OAEP", hash: "sha-1"}, extractable, ["encrypt", "wrapKey"]) rejected promise  with SyntaxError: A required parameter was missing or out-of-range.
+PASS crypto.subtle.importKey("jwk", {kty: "RSA", n: n, e: e}, {name: "RSA-PSS", hash: "sha-1"}, extractable, ["sign"]) rejected promise  with NotSupportedError: The operation is not supported..
+PASS crypto.subtle.importKey("jwk", {kty: "RSA", n: n, e: e, d: d}, {name: "RSA-PSS", hash: "sha-1"}, extractable, ["verify"]) rejected promise  with NotSupportedError: The operation is not supported..
+PASS crypto.subtle.importKey("jwk", {kty: "RSA", n: n, e: e, d: ""}, {name: "RSA-PSS", hash: "sha-1"}, extractable, ["verify"]) rejected promise  with NotSupportedError: The operation is not supported..
+PASS crypto.subtle.importKey("jwk", {kty: "RSA", n: n, e: e, use: "sig"}, "RSAES-PKCS1-v1_5", extractable, ["encrypt"]) rejected promise  with DataError: Data provided to an operation does not meet requirements.
+PASS crypto.subtle.importKey("jwk", {kty: "RSA", n: n, e: e, use: ""}, "RSAES-PKCS1-v1_5", extractable, ["encrypt"]) rejected promise  with DataError: Data provided to an operation does not meet requirements.
+PASS crypto.subtle.importKey("jwk", {kty: "RSA", n: n, e: e, use: "enc"}, {name: "RSASSA-PKCS1-v1_5", hash: "sha-1"}, extractable, ["verify"]) rejected promise  with DataError: Data provided to an operation does not meet requirements.
+PASS crypto.subtle.importKey("jwk", {kty: "RSA", n: n, e: e, use: ""}, {name: "RSASSA-PKCS1-v1_5", hash: "sha-1"}, extractable, ["verify"]) rejected promise  with DataError: Data provided to an operation does not meet requirements.
+PASS crypto.subtle.importKey("jwk", {kty: "RSA", n: n, e: e, use: "sig"}, {name: "RSA-OAEP", hash: "sha-1"}, extractable, ["encrypt", "wrapKey"]) rejected promise  with DataError: Data provided to an operation does not meet requirements.
+PASS crypto.subtle.importKey("jwk", {kty: "RSA", n: n, e: e, use: ""}, {name: "RSA-OAEP", hash: "sha-1"}, extractable, ["encrypt", "wrapKey"]) rejected promise  with DataError: Data provided to an operation does not meet requirements.
+PASS crypto.subtle.importKey("jwk", {kty: "RSA", n: n, e: e, use: "enc"}, {name: "RSA-PSS", hash: "sha-1"}, extractable, ["verify"]) rejected promise  with NotSupportedError: The operation is not supported..
+PASS crypto.subtle.importKey("jwk", {kty: "RSA", n: n, e: e, use: ""}, {name: "RSA-PSS", hash: "sha-1"}, extractable, ["verify"]) rejected promise  with NotSupportedError: The operation is not supported..
+PASS crypto.subtle.importKey("jwk", {kty: "RSA", n: n, e: e, alg: "foo"}, "RSAES-PKCS1-v1_5", extractable, ["encrypt"]) rejected promise  with DataError: Data provided to an operation does not meet requirements.
+PASS crypto.subtle.importKey("jwk", {kty: "RSA", n: n, e: e, alg: ""}, "RSAES-PKCS1-v1_5", extractable, ["encrypt"]) rejected promise  with DataError: Data provided to an operation does not meet requirements.
+PASS crypto.subtle.importKey("jwk", {kty: "RSA", n: n, e: e, alg: "RS224"}, {name: "RSASSA-PKCS1-v1_5", hash: "sha-1"}, extractable, ["verify"]) rejected promise  with DataError: Data provided to an operation does not meet requirements.
+PASS crypto.subtle.importKey("jwk", {kty: "RSA", n: n, e: e, alg: "RS256"}, {name: "RSASSA-PKCS1-v1_5", hash: "sha-224"}, extractable, ["verify"]) rejected promise  with DataError: Data provided to an operation does not meet requirements.
+PASS crypto.subtle.importKey("jwk", {kty: "RSA", n: n, e: e, alg: "RS384"}, {name: "RSASSA-PKCS1-v1_5", hash: "sha-256"}, extractable, ["verify"]) rejected promise  with DataError: Data provided to an operation does not meet requirements.
+PASS crypto.subtle.importKey("jwk", {kty: "RSA", n: n, e: e, alg: "RS512"}, {name: "RSASSA-PKCS1-v1_5", hash: "sha-384"}, extractable, ["verify"]) rejected promise  with DataError: Data provided to an operation does not meet requirements.
+PASS crypto.subtle.importKey("jwk", {kty: "RSA", n: n, e: e, alg: "RS1"}, {name: "RSASSA-PKCS1-v1_5", hash: "sha-512"}, extractable, ["verify"]) rejected promise  with DataError: Data provided to an operation does not meet requirements.
+PASS crypto.subtle.importKey("jwk", {kty: "RSA", n: n, e: e, alg: ""}, {name: "RSASSA-PKCS1-v1_5", hash: "sha-1"}, extractable, ["verify"]) rejected promise  with DataError: Data provided to an operation does not meet requirements.
+PASS crypto.subtle.importKey("jwk", {kty: "RSA", n: n, e: e, alg: ""}, {name: "RSASSA-PKCS1-v1_5", hash: "sha-224"}, extractable, ["verify"]) rejected promise  with DataError: Data provided to an operation does not meet requirements.
+PASS crypto.subtle.importKey("jwk", {kty: "RSA", n: n, e: e, alg: ""}, {name: "RSASSA-PKCS1-v1_5", hash: "sha-256"}, extractable, ["verify"]) rejected promise  with DataError: Data provided to an operation does not meet requirements.
+PASS crypto.subtle.importKey("jwk", {kty: "RSA", n: n, e: e, alg: ""}, {name: "RSASSA-PKCS1-v1_5", hash: "sha-384"}, extractable, ["verify"]) rejected promise  with DataError: Data provided to an operation does not meet requirements.
+PASS crypto.subtle.importKey("jwk", {kty: "RSA", n: n, e: e, alg: ""}, {name: "RSASSA-PKCS1-v1_5", hash: "sha-512"}, extractable, ["verify"]) rejected promise  with DataError: Data provided to an operation does not meet requirements.
+PASS crypto.subtle.importKey("jwk", {kty: "RSA", n: n, e: e, alg: "RSA-OAEP-224"}, {name: "RSA-OAEP", hash: "sha-1"}, extractable, ["encrypt", "wrapKey"]) rejected promise  with DataError: Data provided to an operation does not meet requirements.
+PASS crypto.subtle.importKey("jwk", {kty: "RSA", n: n, e: e, alg: "RSA-OAEP-256"}, {name: "RSA-OAEP", hash: "sha-224"}, extractable, ["encrypt", "wrapKey"]) rejected promise  with DataError: Data provided to an operation does not meet requirements.
+PASS crypto.subtle.importKey("jwk", {kty: "RSA", n: n, e: e, alg: "RSA-OAEP-384"}, {name: "RSA-OAEP", hash: "sha-256"}, extractable, ["encrypt", "wrapKey"]) rejected promise  with DataError: Data provided to an operation does not meet requirements.
+PASS crypto.subtle.importKey("jwk", {kty: "RSA", n: n, e: e, alg: "RSA-OAEP-512"}, {name: "RSA-OAEP", hash: "sha-384"}, extractable, ["encrypt", "wrapKey"]) rejected promise  with DataError: Data provided to an operation does not meet requirements.
+PASS crypto.subtle.importKey("jwk", {kty: "RSA", n: n, e: e, alg: "RSA-OAEP"}, {name: "RSA-OAEP", hash: "sha-512"}, extractable, ["encrypt", "wrapKey"]) rejected promise  with DataError: Data provided to an operation does not meet requirements.
+PASS crypto.subtle.importKey("jwk", {kty: "RSA", n: n, e: e, alg: ""}, {name: "RSA-OAEP", hash: "sha-1"}, extractable, ["encrypt", "wrapKey"]) rejected promise  with DataError: Data provided to an operation does not meet requirements.
+PASS crypto.subtle.importKey("jwk", {kty: "RSA", n: n, e: e, alg: ""}, {name: "RSA-OAEP", hash: "sha-224"}, extractable, ["encrypt", "wrapKey"]) rejected promise  with DataError: Data provided to an operation does not meet requirements.
+PASS crypto.subtle.importKey("jwk", {kty: "RSA", n: n, e: e, alg: ""}, {name: "RSA-OAEP", hash: "sha-256"}, extractable, ["encrypt", "wrapKey"]) rejected promise  with DataError: Data provided to an operation does not meet requirements.
+PASS crypto.subtle.importKey("jwk", {kty: "RSA", n: n, e: e, alg: ""}, {name: "RSA-OAEP", hash: "sha-384"}, extractable, ["encrypt", "wrapKey"]) rejected promise  with DataError: Data provided to an operation does not meet requirements.
+PASS crypto.subtle.importKey("jwk", {kty: "RSA", n: n, e: e, alg: ""}, {name: "RSA-OAEP", hash: "sha-512"}, extractable, ["encrypt", "wrapKey"]) rejected promise  with DataError: Data provided to an operation does not meet requirements.
+PASS crypto.subtle.importKey("jwk", {kty: "RSA", n: n, e: e, alg: "PS224"}, {name: "RSA-PSS", hash: "sha-1"}, extractable, ["verify"]) rejected promise  with NotSupportedError: The operation is not supported..
+PASS crypto.subtle.importKey("jwk", {kty: "RSA", n: n, e: e, alg: "PS256"}, {name: "RSA-PSS", hash: "sha-224"}, extractable, ["verify"]) rejected promise  with NotSupportedError: The operation is not supported..
+PASS crypto.subtle.importKey("jwk", {kty: "RSA", n: n, e: e, alg: "PS384"}, {name: "RSA-PSS", hash: "sha-256"}, extractable, ["verify"]) rejected promise  with NotSupportedError: The operation is not supported..
+PASS crypto.subtle.importKey("jwk", {kty: "RSA", n: n, e: e, alg: "PS512"}, {name: "RSA-PSS", hash: "sha-384"}, extractable, ["verify"]) rejected promise  with NotSupportedError: The operation is not supported..
+PASS crypto.subtle.importKey("jwk", {kty: "RSA", n: n, e: e, alg: "PS1"}, {name: "RSA-PSS", hash: "sha-512"}, extractable, ["verify"]) rejected promise  with NotSupportedError: The operation is not supported..
+PASS crypto.subtle.importKey("jwk", {kty: "RSA", n: n, e: e, alg: ""}, {name: "RSA-PSS", hash: "sha-1"}, extractable, ["verify"]) rejected promise  with NotSupportedError: The operation is not supported..
+PASS crypto.subtle.importKey("jwk", {kty: "RSA", n: n, e: e, alg: ""}, {name: "RSA-PSS", hash: "sha-224"}, extractable, ["verify"]) rejected promise  with NotSupportedError: The operation is not supported..
+PASS crypto.subtle.importKey("jwk", {kty: "RSA", n: n, e: e, alg: ""}, {name: "RSA-PSS", hash: "sha-256"}, extractable, ["verify"]) rejected promise  with NotSupportedError: The operation is not supported..
+PASS crypto.subtle.importKey("jwk", {kty: "RSA", n: n, e: e, alg: ""}, {name: "RSA-PSS", hash: "sha-384"}, extractable, ["verify"]) rejected promise  with NotSupportedError: The operation is not supported..
+PASS crypto.subtle.importKey("jwk", {kty: "RSA", n: n, e: e, alg: ""}, {name: "RSA-PSS", hash: "sha-512"}, extractable, ["verify"]) rejected promise  with NotSupportedError: The operation is not supported..
+PASS crypto.subtle.importKey("jwk", {kty: "oct", n: n, e: e}, "RSAES-PKCS1-v1_5", extractable, ["encrypt"]) rejected promise  with DataError: Data provided to an operation does not meet requirements.
+PASS crypto.subtle.importKey("jwk", {kty: "RSA", n: n, e: e, key_ops: ["sign", "verify"]}, "RSAES-PKCS1-v1_5", extractable, ["encrypt"]) rejected promise  with DataError: Data provided to an operation does not meet requirements.
+PASS crypto.subtle.importKey("jwk", {kty: "RSA", n: n, e: e, key_ops: [ ]}, "RSAES-PKCS1-v1_5", extractable, ["encrypt"]) rejected promise  with DataError: Data provided to an operation does not meet requirements.
+PASS crypto.subtle.importKey("jwk", {kty: "RSA", n: n, e: e, ext: false}, "RSAES-PKCS1-v1_5", extractable, ["encrypt"]) rejected promise  with DataError: Data provided to an operation does not meet requirements.
+PASS crypto.subtle.importKey("jwk", {kty: "RSA"}, "RSAES-PKCS1-v1_5", extractable, ["encrypt"]) rejected promise  with DataError: Data provided to an operation does not meet requirements.
+PASS crypto.subtle.importKey("jwk", {kty: "RSA", n: n}, "RSAES-PKCS1-v1_5", extractable, ["encrypt"]) rejected promise  with DataError: Data provided to an operation does not meet requirements.
+PASS crypto.subtle.importKey("jwk", {kty: "RSA", e: e}, "RSAES-PKCS1-v1_5", extractable, ["encrypt"]) rejected promise  with DataError: Data provided to an operation does not meet requirements.
+PASS crypto.subtle.importKey("jwk", {kty: "RSA", n: n, e: e, d: d}, "RSAES-PKCS1-v1_5", extractable, ["decrypt"]) rejected promise  with DataError: Data provided to an operation does not meet requirements.
+PASS crypto.subtle.importKey("jwk", {kty: "RSA", n: n, e: e, d: d, p: p, q: q, dp: dp, dq: dq, qi: qi, oth: [{r: q, d: dq, t: qi}]}, "RSAES-PKCS1-v1_5", extractable, ["decrypt"]) rejected promise  with DataError: Data provided to an operation does not meet requirements.
+PASS crypto.subtle.importKey("jwk", {kty: "RSA", n: n, e: e, d: d, q: q, dp: dp, dq: dq, qi: qi}, "RSAES-PKCS1-v1_5", extractable, ["decrypt"]) rejected promise  with DataError: Data provided to an operation does not meet requirements.
+PASS crypto.subtle.importKey("jwk", {kty: "RSA", n: n, e: e, d: d, p: p, dp: dp, dq: dq, qi: qi}, "RSAES-PKCS1-v1_5", extractable, ["decrypt"]) rejected promise  with DataError: Data provided to an operation does not meet requirements.
+PASS crypto.subtle.importKey("jwk", {kty: "RSA", n: n, e: e, d: d, p: p, q: q, dq: dq, qi: qi}, "RSAES-PKCS1-v1_5", extractable, ["decrypt"]) rejected promise  with DataError: Data provided to an operation does not meet requirements.
+PASS crypto.subtle.importKey("jwk", {kty: "RSA", n: n, e: e, d: d, p: p, q: q, dp: dp, qi: qi}, "RSAES-PKCS1-v1_5", extractable, ["decrypt"]) rejected promise  with DataError: Data provided to an operation does not meet requirements.
+PASS crypto.subtle.importKey("jwk", {kty: "RSA", n: n, e: e, d: d, p: p, q: q, dp: dp, dq: dq}, "RSAES-PKCS1-v1_5", extractable, ["decrypt"]) rejected promise  with DataError: Data provided to an operation does not meet requirements.
+PASS crypto.subtle.importKey("jwk", {kty: "RSA", n: n, e: e, d: d, p: "", q: q, dp: dp, dq: dq, qi: qi}, "RSAES-PKCS1-v1_5", extractable, ["decrypt"]) rejected promise  with DataError: Data provided to an operation does not meet requirements.
+PASS crypto.subtle.importKey("spki", spkiKey, "RSAES-PKCS1-v1_5", extractable, ["decrypt"]) rejected promise  with SyntaxError: A required parameter was missing or out-of-range.
+PASS crypto.subtle.importKey("spki", spkiKey, {name: "RSASSA-PKCS1-v1_5", hash: "sha-1"}, extractable, ["sign"]) rejected promise  with SyntaxError: A required parameter was missing or out-of-range.
+PASS crypto.subtle.importKey("spki", spkiKey, {name: "RSA-OAEP", hash: "sha-1"}, extractable, ["decrypt", "unwrapKey"]) rejected promise  with SyntaxError: A required parameter was missing or out-of-range.
+PASS crypto.subtle.importKey("spki", spkiKey, {name: "RSA-PSS", hash: "sha-1"}, extractable, ["sign"]) rejected promise  with NotSupportedError: The operation is not supported..
+PASS crypto.subtle.importKey("pkcs8", pkcs8Key, "RSAES-PKCS1-v1_5", extractable, ["encrypt"]) rejected promise  with SyntaxError: A required parameter was missing or out-of-range.
+PASS crypto.subtle.importKey("pkcs8", pkcs8Key, {name: "RSASSA-PKCS1-v1_5", hash: "sha-1"}, extractable, ["verify"]) rejected promise  with SyntaxError: A required parameter was missing or out-of-range.
+PASS crypto.subtle.importKey("pkcs8", pkcs8Key, {name: "RSA-OAEP", hash: "sha-1"}, extractable, ["encrypt", "wrapKey"]) rejected promise  with SyntaxError: A required parameter was missing or out-of-range.
+PASS crypto.subtle.importKey("pkcs8", pkcs8Key, {name: "RSA-PSS", hash: "sha-1"}, extractable, ["verify"]) rejected promise  with NotSupportedError: The operation is not supported..
+PASS crypto.subtle.importKey("spki", malformedKey0, "RSAES-PKCS1-v1_5", extractable, ["encrypt"]) rejected promise  with DataError: Data provided to an operation does not meet requirements.
+PASS crypto.subtle.importKey("spki", malformedKey1, "RSAES-PKCS1-v1_5", extractable, ["encrypt"]) rejected promise  with DataError: Data provided to an operation does not meet requirements.
+PASS crypto.subtle.importKey("spki", malformedKey2, "RSAES-PKCS1-v1_5", extractable, ["encrypt"]) rejected promise  with DataError: Data provided to an operation does not meet requirements.
+PASS crypto.subtle.importKey("spki", malformedKey4, "RSAES-PKCS1-v1_5", extractable, ["encrypt"]) rejected promise  with DataError: Data provided to an operation does not meet requirements.
+PASS crypto.subtle.importKey("spki", malformedKey6, "RSAES-PKCS1-v1_5", extractable, ["encrypt"]) rejected promise  with DataError: Data provided to an operation does not meet requirements.
+PASS crypto.subtle.importKey("pkcs8", malformedKey0, "RSAES-PKCS1-v1_5", extractable, ["decrypt"]) rejected promise  with DataError: Data provided to an operation does not meet requirements.
+PASS crypto.subtle.importKey("pkcs8", malformedKey1, "RSAES-PKCS1-v1_5", extractable, ["decrypt"]) rejected promise  with DataError: Data provided to an operation does not meet requirements.
+PASS crypto.subtle.importKey("pkcs8", malformedKey3, "RSAES-PKCS1-v1_5", extractable, ["decrypt"]) rejected promise  with DataError: Data provided to an operation does not meet requirements.
+PASS crypto.subtle.importKey("pkcs8", malformedKey5, "RSAES-PKCS1-v1_5", extractable, ["decrypt"]) rejected promise  with DataError: Data provided to an operation does not meet requirements.
+PASS crypto.subtle.importKey("pkcs8", malformedKey7, "RSAES-PKCS1-v1_5", extractable, ["decrypt"]) rejected promise  with DataError: Data provided to an operation does not meet requirements.
 PASS successfullyParsed is true
 
 TEST COMPLETE
index 419dfff..6e53602 100644 (file)
@@ -3,7 +3,7 @@ Test decrypting using RSA-OAEP with malformed parameters
 On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
 
 
-PASS crypto.subtle.decrypt(rsaOaepParams, key, cipherText) rejected promise  with OperationError (DOM Exception 34): The operation failed for an operation-specific reason.
+PASS crypto.subtle.decrypt(rsaOaepParams, key, cipherText) rejected promise  with OperationError: The operation failed for an operation-specific reason.
 PASS successfullyParsed is true
 
 TEST COMPLETE
index e398b6f..6fd2b5a 100644 (file)
@@ -3,11 +3,11 @@ Test RSA-PSS signing using an imported key with salt length larger than hash siz
 On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
 
 
-PASS crypto.subtle.sign({ name: "RSA-PSS", saltLength: 21 }, key, text) rejected promise  with OperationError (DOM Exception 34): The operation failed for an operation-specific reason.
-PASS crypto.subtle.sign({ name: "RSA-PSS", saltLength: 29 }, key, text) rejected promise  with OperationError (DOM Exception 34): The operation failed for an operation-specific reason.
-PASS crypto.subtle.sign({ name: "RSA-PSS", saltLength: 33 }, key, text) rejected promise  with OperationError (DOM Exception 34): The operation failed for an operation-specific reason.
-PASS crypto.subtle.sign({ name: "RSA-PSS", saltLength: 49 }, key, text) rejected promise  with OperationError (DOM Exception 34): The operation failed for an operation-specific reason.
-PASS crypto.subtle.sign({ name: "RSA-PSS", saltLength: 65 }, key, text) rejected promise  with OperationError (DOM Exception 34): The operation failed for an operation-specific reason.
+PASS crypto.subtle.sign({ name: "RSA-PSS", saltLength: 21 }, key, text) rejected promise  with OperationError: The operation failed for an operation-specific reason.
+PASS crypto.subtle.sign({ name: "RSA-PSS", saltLength: 29 }, key, text) rejected promise  with OperationError: The operation failed for an operation-specific reason.
+PASS crypto.subtle.sign({ name: "RSA-PSS", saltLength: 33 }, key, text) rejected promise  with OperationError: The operation failed for an operation-specific reason.
+PASS crypto.subtle.sign({ name: "RSA-PSS", saltLength: 49 }, key, text) rejected promise  with OperationError: The operation failed for an operation-specific reason.
+PASS crypto.subtle.sign({ name: "RSA-PSS", saltLength: 65 }, key, text) rejected promise  with OperationError: The operation failed for an operation-specific reason.
 PASS successfullyParsed is true
 
 TEST COMPLETE
index 8668e9e..6f95354 100644 (file)
@@ -6,8 +6,8 @@ On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE
 PASS crypto.subtle.sign() rejected promise  with TypeError: Not enough arguments.
 PASS crypto.subtle.sign(1) rejected promise  with TypeError: Not enough arguments.
 PASS crypto.subtle.sign(1, 2) rejected promise  with TypeError: Not enough arguments.
-PASS crypto.subtle.sign("rsassa-pkcs1-v1_5", wrongKey, text) rejected promise  with InvalidAccessError (DOM Exception 15): CryptoKey doesn't match AlgorithmIdentifier.
-PASS crypto.subtle.sign("hmac", wrongKey, text) rejected promise  with InvalidAccessError (DOM Exception 15): CryptoKey doesn't support signing.
+PASS crypto.subtle.sign("rsassa-pkcs1-v1_5", wrongKey, text) rejected promise  with InvalidAccessError: CryptoKey doesn't match AlgorithmIdentifier.
+PASS crypto.subtle.sign("hmac", wrongKey, text) rejected promise  with InvalidAccessError: CryptoKey doesn't support signing.
 PASS successfullyParsed is true
 
 TEST COMPLETE
index 7f8ec1b..4c4c8a0 100644 (file)
@@ -10,12 +10,12 @@ PASS crypto.subtle.unwrapKey(1, 2, 3) rejected promise  with TypeError: Not enou
 PASS crypto.subtle.unwrapKey(1, 2, 3, 4) rejected promise  with TypeError: Not enough arguments.
 PASS crypto.subtle.unwrapKey(1, 2, 3, 4, 5) rejected promise  with TypeError: Not enough arguments.
 PASS crypto.subtle.unwrapKey(1, 2, 3, 4, 5, 6) rejected promise  with TypeError: Not enough arguments.
-PASS crypto.subtle.unwrapKey("raw", wrappedRawKey, unwrappingKey, "HMAC", "AES-CBC", extractable, ["encrypt", "decrypt"]) rejected promise  with NotSupportedError (DOM Exception 9): The operation is not supported..
-PASS crypto.subtle.unwrapKey("raw", wrappedRawKey, unwrappingKey, aesCbcParams, "AES-CBC", extractable, ["encrypt", "decrypt"]) rejected promise  with InvalidAccessError (DOM Exception 15): Unwrapping CryptoKey doesn't match unwrap AlgorithmIdentifier.
-PASS crypto.subtle.unwrapKey("jwk", wrappedRawKey, unwrappingKey, "AES-KW", "AES-CBC", extractable, ["encrypt", "decrypt"]) rejected promise  with DataError (DOM Exception 30): WrappedKey cannot be converted to a JSON object.
-PASS crypto.subtle.unwrapKey("raw", wrappedRawKey, unwrappingKey, "AES-KW", "AES-CBC", extractable, [ ]) rejected promise  with SyntaxError (DOM Exception 12): A required parameter was missing or out-of-range.
-PASS crypto.subtle.unwrapKey("jwk", wrappedJwkKey, unwrappingKey, aesCbcParams, {name: "RSA-OAEP", hash: "SHA-1"}, extractable, [ ]) rejected promise  with SyntaxError (DOM Exception 12): A required parameter was missing or out-of-range.
-PASS crypto.subtle.unwrapKey("raw", wrappedRawKey, unwrappingKey, "AES-KW", "AES-CBC", extractable, ["encrypt", "decrypt"]) rejected promise  with InvalidAccessError (DOM Exception 15): Unwrapping CryptoKey doesn't support unwrapKey operation.
+PASS crypto.subtle.unwrapKey("raw", wrappedRawKey, unwrappingKey, "HMAC", "AES-CBC", extractable, ["encrypt", "decrypt"]) rejected promise  with NotSupportedError: The operation is not supported..
+PASS crypto.subtle.unwrapKey("raw", wrappedRawKey, unwrappingKey, aesCbcParams, "AES-CBC", extractable, ["encrypt", "decrypt"]) rejected promise  with InvalidAccessError: Unwrapping CryptoKey doesn't match unwrap AlgorithmIdentifier.
+PASS crypto.subtle.unwrapKey("jwk", wrappedRawKey, unwrappingKey, "AES-KW", "AES-CBC", extractable, ["encrypt", "decrypt"]) rejected promise  with DataError: WrappedKey cannot be converted to a JSON object.
+PASS crypto.subtle.unwrapKey("raw", wrappedRawKey, unwrappingKey, "AES-KW", "AES-CBC", extractable, [ ]) rejected promise  with SyntaxError: A required parameter was missing or out-of-range.
+PASS crypto.subtle.unwrapKey("jwk", wrappedJwkKey, unwrappingKey, aesCbcParams, {name: "RSA-OAEP", hash: "SHA-1"}, extractable, [ ]) rejected promise  with SyntaxError: A required parameter was missing or out-of-range.
+PASS crypto.subtle.unwrapKey("raw", wrappedRawKey, unwrappingKey, "AES-KW", "AES-CBC", extractable, ["encrypt", "decrypt"]) rejected promise  with InvalidAccessError: Unwrapping CryptoKey doesn't support unwrapKey operation.
 PASS successfullyParsed is true
 
 TEST COMPLETE
index 3fa84bc..dae56c0 100644 (file)
@@ -7,8 +7,8 @@ PASS crypto.subtle.verify() rejected promise  with TypeError: Not enough argumen
 PASS crypto.subtle.verify(1) rejected promise  with TypeError: Not enough arguments.
 PASS crypto.subtle.verify(1, 2) rejected promise  with TypeError: Not enough arguments.
 PASS crypto.subtle.verify(1, 2, 3) rejected promise  with TypeError: Not enough arguments.
-PASS crypto.subtle.verify("rsassa-pkcs1-v1_5", wrongKey, signature, text) rejected promise  with InvalidAccessError (DOM Exception 15): CryptoKey doesn't match AlgorithmIdentifier.
-PASS crypto.subtle.verify("hmac", wrongKey, signature, text) rejected promise  with InvalidAccessError (DOM Exception 15): CryptoKey doesn't support verification.
+PASS crypto.subtle.verify("rsassa-pkcs1-v1_5", wrongKey, signature, text) rejected promise  with InvalidAccessError: CryptoKey doesn't match AlgorithmIdentifier.
+PASS crypto.subtle.verify("hmac", wrongKey, signature, text) rejected promise  with InvalidAccessError: CryptoKey doesn't support verification.
 PASS successfullyParsed is true
 
 TEST COMPLETE
index 827bdf6..d7de555 100644 (file)
@@ -7,10 +7,10 @@ PASS crypto.subtle.wrapKey() rejected promise  with TypeError: Not enough argume
 PASS crypto.subtle.wrapKey(1) rejected promise  with TypeError: Not enough arguments.
 PASS crypto.subtle.wrapKey(1, 2) rejected promise  with TypeError: Not enough arguments.
 PASS crypto.subtle.wrapKey(1, 2, 3) rejected promise  with TypeError: Not enough arguments.
-PASS crypto.subtle.wrapKey("raw", key, wrappingKey, "HMAC") rejected promise  with NotSupportedError (DOM Exception 9): The operation is not supported..
-PASS crypto.subtle.wrapKey("raw", key, wrappingKey, aesCbcParams) rejected promise  with InvalidAccessError (DOM Exception 15): Wrapping CryptoKey doesn't match AlgorithmIdentifier.
-PASS crypto.subtle.wrapKey("raw", key, wrappingKey, "AES-KW") rejected promise  with InvalidAccessError (DOM Exception 15): The CryptoKey is nonextractable.
-PASS crypto.subtle.wrapKey("raw", key, wrappingKey, "AES-KW") rejected promise  with InvalidAccessError (DOM Exception 15): Wrapping CryptoKey doesn't support wrapKey operation.
+PASS crypto.subtle.wrapKey("raw", key, wrappingKey, "HMAC") rejected promise  with NotSupportedError: The operation is not supported..
+PASS crypto.subtle.wrapKey("raw", key, wrappingKey, aesCbcParams) rejected promise  with InvalidAccessError: Wrapping CryptoKey doesn't match AlgorithmIdentifier.
+PASS crypto.subtle.wrapKey("raw", key, wrappingKey, "AES-KW") rejected promise  with InvalidAccessError: The CryptoKey is nonextractable.
+PASS crypto.subtle.wrapKey("raw", key, wrappingKey, "AES-KW") rejected promise  with InvalidAccessError: Wrapping CryptoKey doesn't support wrapKey operation.
 PASS successfullyParsed is true
 
 TEST COMPLETE
index 9932fc4..3994709 100644 (file)
@@ -6,7 +6,7 @@ On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE
 
 Importing a raw HMAC key from string literal...
 Using the key to encrypt plaintext...
-PASS crypto.webkitSubtle.encrypt({name: "aes-cbc", iv: iv}, key, plaintext) threw exception NotSupportedError (DOM Exception 9): The operation is not supported..
+PASS crypto.webkitSubtle.encrypt({name: "aes-cbc", iv: iv}, key, plaintext) threw exception NotSupportedError: The operation is not supported..
 PASS successfullyParsed is true
 
 TEST COMPLETE
index c6a1cc1..8960553 100644 (file)
@@ -11,7 +11,7 @@ PASS key.algorithm.name is 'AES-KW'
 PASS key.algorithm.length is 256
 
 Testing that the key can't be used with AES-CBC...
-PASS crypto.webkitSubtle.encrypt({name: "aes-cbc", iv: iv}, key, hexStringToUint8Array("00")) threw exception NotSupportedError (DOM Exception 9): The operation is not supported..
+PASS crypto.webkitSubtle.encrypt({name: "aes-cbc", iv: iv}, key, hexStringToUint8Array("00")) threw exception NotSupportedError: The operation is not supported..
 
 Exporting the key to raw...
 PASS exportedKey.toString() is '[object ArrayBuffer]'
index 5730d8e..d822ff8 100644 (file)
@@ -22,17 +22,17 @@ PASS crypto.webkitSubtle.digest({name: 'sha-1'}, [10]) threw exception TypeError
 PASS crypto.webkitSubtle.digest({name: 'sha-1'}, [new Uint8Array([0])]) threw exception TypeError: Type error.
 
 Passing invalid algorithmIdentifiers to digest()
-PASS crypto.webkitSubtle.digest({ toString:function() { return 'sha-1' } }, data) threw exception NotSupportedError (DOM Exception 9): The operation is not supported..
-PASS crypto.webkitSubtle.digest({name: ''}, data) threw exception NotSupportedError (DOM Exception 9): The operation is not supported..
-PASS crypto.webkitSubtle.digest({name: null}, data) threw exception NotSupportedError (DOM Exception 9): The operation is not supported..
-PASS crypto.webkitSubtle.digest({name: undefined}, data) threw exception NotSupportedError (DOM Exception 9): The operation is not supported..
-PASS crypto.webkitSubtle.digest({name: 'sha'}, data) threw exception NotSupportedError (DOM Exception 9): The operation is not supported..
-PASS crypto.webkitSubtle.digest({name: 1}, data) threw exception NotSupportedError (DOM Exception 9): The operation is not supported..
-PASS crypto.webkitSubtle.digest('', data) threw exception NotSupportedError (DOM Exception 9): The operation is not supported..
-PASS crypto.webkitSubtle.digest(null, data) threw exception NotSupportedError (DOM Exception 9): The operation is not supported..
-PASS crypto.webkitSubtle.digest(undefined, data) threw exception NotSupportedError (DOM Exception 9): The operation is not supported..
-PASS crypto.webkitSubtle.digest(1, data) threw exception NotSupportedError (DOM Exception 9): The operation is not supported..
-PASS crypto.webkitSubtle.digest({}, data) threw exception NotSupportedError (DOM Exception 9): The operation is not supported..
+PASS crypto.webkitSubtle.digest({ toString:function() { return 'sha-1' } }, data) threw exception NotSupportedError: The operation is not supported..
+PASS crypto.webkitSubtle.digest({name: ''}, data) threw exception NotSupportedError: The operation is not supported..
+PASS crypto.webkitSubtle.digest({name: null}, data) threw exception NotSupportedError: The operation is not supported..
+PASS crypto.webkitSubtle.digest({name: undefined}, data) threw exception NotSupportedError: The operation is not supported..
+PASS crypto.webkitSubtle.digest({name: 'sha'}, data) threw exception NotSupportedError: The operation is not supported..
+PASS crypto.webkitSubtle.digest({name: 1}, data) threw exception NotSupportedError: The operation is not supported..
+PASS crypto.webkitSubtle.digest('', data) threw exception NotSupportedError: The operation is not supported..
+PASS crypto.webkitSubtle.digest(null, data) threw exception NotSupportedError: The operation is not supported..
+PASS crypto.webkitSubtle.digest(undefined, data) threw exception NotSupportedError: The operation is not supported..
+PASS crypto.webkitSubtle.digest(1, data) threw exception NotSupportedError: The operation is not supported..
+PASS crypto.webkitSubtle.digest({}, data) threw exception NotSupportedError: The operation is not supported..
 PASS successfullyParsed is true
 
 TEST COMPLETE
index 5a20961..264c9be 100644 (file)
@@ -4,7 +4,7 @@ On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE
 
 
 Starting worker: resources/disallowed-in-worker.js
-PASS [Worker] crypto.webkitSubtle threw exception NotSupportedError (DOM Exception 9): The operation is not supported..
+PASS [Worker] crypto.webkitSubtle threw exception NotSupportedError: The operation is not supported..
 PASS successfullyParsed is true
 
 TEST COMPLETE
index a0b5583..aea3c6e 100644 (file)
@@ -7,9 +7,9 @@ On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE
 Importing a raw HMAC SHA-1 key from string literal...
 Done
 PASS crypto.webkitSubtle.sign({name: 'hmac', hash: {name: 'sha-1'}}, key, asciiToUint8Array('foo')) did not throw exception.
-PASS crypto.webkitSubtle.sign({name: 'hmac', hash: {name: 'sha-256'}}, key, asciiToUint8Array('foo')) threw exception NotSupportedError (DOM Exception 9): The operation is not supported..
+PASS crypto.webkitSubtle.sign({name: 'hmac', hash: {name: 'sha-256'}}, key, asciiToUint8Array('foo')) threw exception NotSupportedError: The operation is not supported..
 PASS crypto.webkitSubtle.verify({name: 'hmac', hash: {name: 'sha-1'}}, key, asciiToUint8Array('fake signature'), asciiToUint8Array('foo')) did not throw exception.
-PASS crypto.webkitSubtle.verify({name: 'hmac', hash: {name: 'sha-256'}}, key, asciiToUint8Array('fake signature'), asciiToUint8Array('foo')) threw exception NotSupportedError (DOM Exception 9): The operation is not supported..
+PASS crypto.webkitSubtle.verify({name: 'hmac', hash: {name: 'sha-256'}}, key, asciiToUint8Array('fake signature'), asciiToUint8Array('foo')) threw exception NotSupportedError: The operation is not supported..
 PASS successfullyParsed is true
 
 TEST COMPLETE
index 654b5ea..5bf41e4 100644 (file)
@@ -5,9 +5,9 @@ On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE
 
 
 PASS crypto.webkitSubtle.generateKey("hmac", extractable, ["sign", "verify"]) threw exception TypeError: Type error.
-PASS crypto.webkitSubtle.generateKey({name: "hmac"}, extractable, ["sign", "verify"]) threw exception NotSupportedError (DOM Exception 9): The operation is not supported..
-PASS crypto.webkitSubtle.generateKey({name: "hmac", length: undefined}, extractable, ["sign", "verify"]) threw exception NotSupportedError (DOM Exception 9): The operation is not supported..
-PASS crypto.webkitSubtle.generateKey({name: "hmac", length: {}}, extractable, ["sign", "verify"]) threw exception NotSupportedError (DOM Exception 9): The operation is not supported..
+PASS crypto.webkitSubtle.generateKey({name: "hmac"}, extractable, ["sign", "verify"]) threw exception NotSupportedError: The operation is not supported..
+PASS crypto.webkitSubtle.generateKey({name: "hmac", length: undefined}, extractable, ["sign", "verify"]) threw exception NotSupportedError: The operation is not supported..
+PASS crypto.webkitSubtle.generateKey({name: "hmac", length: {}}, extractable, ["sign", "verify"]) threw exception NotSupportedError: The operation is not supported..
 
 Generating a key with default length...
 PASS key.type is 'secret'
index d711c49..c2047b9 100644 (file)
@@ -2,6 +2,6 @@ importScripts('../../../resources/js-test-pre.js');
 
 description("Tests that crypto.webkitSubtle will throw in workers.");
 
-shouldThrow("crypto.webkitSubtle", "'NotSupportedError (DOM Exception 9): The operation is not supported.'");
+shouldThrowErrorName("crypto.webkitSubtle", "NotSupportedError");
 
 finishJSTest();
index 1f2fd90..9977bb1 100644 (file)
@@ -18,8 +18,8 @@ PASS bytesToHexString(keyPair.privateKey.algorithm.publicExponent) is '010001'
 PASS keyPair.privateKey.algorithm.hash is undefined.
 
 Testing that the keys can't be used with different algorithms...
-PASS crypto.webkitSubtle.encrypt({name: "aes-cbc", iv: iv}, keyPair.privateKey, hexStringToUint8Array("00")) threw exception NotSupportedError (DOM Exception 9): The operation is not supported..
-PASS crypto.webkitSubtle.encrypt({name: "aes-cbc", iv: iv}, keyPair.publicKey, hexStringToUint8Array("00")) threw exception NotSupportedError (DOM Exception 9): The operation is not supported..
+PASS crypto.webkitSubtle.encrypt({name: "aes-cbc", iv: iv}, keyPair.privateKey, hexStringToUint8Array("00")) threw exception NotSupportedError: The operation is not supported..
+PASS crypto.webkitSubtle.encrypt({name: "aes-cbc", iv: iv}, keyPair.publicKey, hexStringToUint8Array("00")) threw exception NotSupportedError: The operation is not supported..
 
 Trying to export keys to raw...
 PASS Promise rejected for exporting public key
index 159b7e8..2c154a3 100644 (file)
@@ -10,7 +10,7 @@ SHA1 of [0x0]
 PASS bytesToHexString(new Uint8Array(digest)) is '5ba93c9db0cff93f52b521d7420e43f6eda2784f'
 SHA1 of [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
 PASS bytesToHexString(new Uint8Array(digest)) is '2c7e7c384f7829694282b1e3a6216def8082d055'
-PASS crypto.webkitSubtle.generateKey('sha-1') threw exception NotSupportedError (DOM Exception 9): The operation is not supported..
+PASS crypto.webkitSubtle.generateKey('sha-1') threw exception NotSupportedError: The operation is not supported..
 PASS successfullyParsed is true
 
 TEST COMPLETE
index 6239894..1f3516c 100644 (file)
@@ -9,7 +9,7 @@ Importing RSA keys...
 Importing an AES key...
 Wrapping it...
 Unwrapping it...
-PASS crypto.webkitSubtle.unwrapKey("raw", wrappedKey, privateKey, wrapAlgorithm, "aes-cbc", extractable, ["encrypt", "decrypt"]) threw exception NotSupportedError (DOM Exception 9): The operation is not supported..
+PASS crypto.webkitSubtle.unwrapKey("raw", wrappedKey, privateKey, wrapAlgorithm, "aes-cbc", extractable, ["encrypt", "decrypt"]) threw exception NotSupportedError: The operation is not supported..
 PASS successfullyParsed is true
 
 TEST COMPLETE
index f14c38f..72405f5 100644 (file)
@@ -8,7 +8,7 @@ On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE
 Importing an RSA key...
 Importing an AES key...
 Wrapping it...
-PASS crypto.webkitSubtle.wrapKey("raw", aesKey, publicKey, wrapAlgorithm) threw exception NotSupportedError (DOM Exception 9): The operation is not supported..
+PASS crypto.webkitSubtle.wrapKey("raw", aesKey, publicKey, wrapAlgorithm) threw exception NotSupportedError: The operation is not supported..
 PASS successfullyParsed is true
 
 TEST COMPLETE
index a3e84d2..58b2a19 100644 (file)
@@ -7,7 +7,7 @@ Starting worker: resources/crypto-random-limits-worker.js
 PASS [Worker] 'crypto' in self is true
 PASS [Worker] 'getRandomValues' in self.crypto is true
 PASS [Worker] crypto.getRandomValues(almostTooLargeArray) did not throw exception.
-PASS [Worker] crypto.getRandomValues(tooLargeArray) threw exception QuotaExceededError (DOM Exception 22): The quota has been exceeded..
+PASS [Worker] crypto.getRandomValues(tooLargeArray) threw exception QuotaExceededError: The quota has been exceeded..
 PASS successfullyParsed is true
 
 TEST COMPLETE
index 292b557..d9c8b5e 100644 (file)
@@ -41,12 +41,12 @@ PASS [Worker] random is an instance of Int32Array
 PASS [Worker] view = new Int32Array(3) is defined.
 PASS [Worker] random = crypto.getRandomValues(view) is defined.
 PASS [Worker] random is view
-PASS [Worker] crypto.getRandomValues(new Float32Array(3)) threw exception TypeMismatchError (DOM Exception 17): The type of an object was incompatible with the expected type of the parameter associated to the object..
-PASS [Worker] crypto.getRandomValues(new Float64Array(3)) threw exception TypeMismatchError (DOM Exception 17): The type of an object was incompatible with the expected type of the parameter associated to the object..
+PASS [Worker] crypto.getRandomValues(new Float32Array(3)) threw exception TypeMismatchError: The type of an object was incompatible with the expected type of the parameter associated to the object..
+PASS [Worker] crypto.getRandomValues(new Float64Array(3)) threw exception TypeMismatchError: The type of an object was incompatible with the expected type of the parameter associated to the object..
 PASS [Worker] buffer = new Uint8Array(32) is defined.
 PASS [Worker] buffer.buffer is defined.
 PASS [Worker] view = new DataView(buffer.buffer) is defined.
-PASS [Worker] crypto.getRandomValues(view) threw exception TypeMismatchError (DOM Exception 17): The type of an object was incompatible with the expected type of the parameter associated to the object..
+PASS [Worker] crypto.getRandomValues(view) threw exception TypeMismatchError: The type of an object was incompatible with the expected type of the parameter associated to the object..
 PASS successfullyParsed is true
 
 TEST COMPLETE
index 34586ef..f35250b 100644 (file)
@@ -6,8 +6,8 @@ On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE
 Starting worker: resources/aes-generate-export-key-raw.js
 [Worker] Generating a key...
 [Worker] Generating a key...
-PASS [Worker] crypto.subtle.exportKey("spki", key) rejected promise  with NotSupportedError (DOM Exception 9): The algorithm is not supported.
-PASS [Worker] crypto.subtle.exportKey("pkcs8", key) rejected promise  with NotSupportedError (DOM Exception 9): The algorithm is not supported.
+PASS [Worker] crypto.subtle.exportKey("spki", key) rejected promise  with NotSupportedError: The algorithm is not supported.
+PASS [Worker] crypto.subtle.exportKey("pkcs8", key) rejected promise  with NotSupportedError: The algorithm is not supported.
 [Worker] Exporting a key...
 PASS [Worker] key.byteLength is 16
 PASS successfullyParsed is true
index f473431..9974ff6 100644 (file)
@@ -5,8 +5,8 @@ On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE
 
 Starting worker: resources/aes-generate-key.js
 [Worker] Generating a key...
-PASS [Worker] crypto.subtle.generateKey({name: "aes-cbc", length: 128}, extractable, ["sign"]) rejected promise  with SyntaxError (DOM Exception 12): A required parameter was missing or out-of-range.
-PASS [Worker] crypto.subtle.generateKey({name: "aes-cbc", length: 111}, extractable, ["encrypt"]) rejected promise  with OperationError (DOM Exception 34): The operation failed for an operation-specific reason.
+PASS [Worker] crypto.subtle.generateKey({name: "aes-cbc", length: 128}, extractable, ["sign"]) rejected promise  with SyntaxError: A required parameter was missing or out-of-range.
+PASS [Worker] crypto.subtle.generateKey({name: "aes-cbc", length: 111}, extractable, ["encrypt"]) rejected promise  with OperationError: The operation failed for an operation-specific reason.
 PASS [Worker] key.type is 'secret'
 PASS [Worker] key.extractable is true
 PASS [Worker] key.algorithm.name is 'AES-CBC'
index 504c51c..caec6c9 100644 (file)
@@ -5,7 +5,7 @@ On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE
 
 Starting worker: resources/aes-import-jwk-key.js
 [Worker] Importing a key...
-PASS [Worker] crypto.subtle.importKey("jwk", {kty: "RSA"}, "aes-cbc", extractable, ["encrypt", "decrypt", "wrapKey", "unwrapKey"]) rejected promise  with DataError (DOM Exception 30): Data provided to an operation does not meet requirements.
+PASS [Worker] crypto.subtle.importKey("jwk", {kty: "RSA"}, "aes-cbc", extractable, ["encrypt", "decrypt", "wrapKey", "unwrapKey"]) rejected promise  with DataError: Data provided to an operation does not meet requirements.
 PASS [Worker] key.type is 'secret'
 PASS [Worker] key.extractable is true
 PASS [Worker] key.algorithm.name is 'AES-CBC'
index 272b01a..3e3de5d 100644 (file)
@@ -5,7 +5,7 @@ On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE
 
 Starting worker: resources/aes-import-raw-key.js
 [Worker] Importing a key...
-PASS [Worker] crypto.subtle.importKey("raw", asciiToUint8Array("jnOw97"), "aes-cbc", extractable, ["encrypt", "decrypt", "wrapKey", "unwrapKey"]) rejected promise  with DataError (DOM Exception 30): Data provided to an operation does not meet requirements.
+PASS [Worker] crypto.subtle.importKey("raw", asciiToUint8Array("jnOw97"), "aes-cbc", extractable, ["encrypt", "decrypt", "wrapKey", "unwrapKey"]) rejected promise  with DataError: Data provided to an operation does not meet requirements.
 PASS [Worker] key.type is 'secret'
 PASS [Worker] key.extractable is true
 PASS [Worker] key.algorithm.name is 'AES-CBC'
index e327dae..7d532fb 100644 (file)
@@ -5,7 +5,7 @@ On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE
 
 Starting worker: resources/aes-kw-import-key-wrap-key.js
 PASS [Worker] bytesToHexString(wrappedKey) is expectWrappedKey
-PASS [Worker] crypto.subtle.wrapKey("jwk", key, wrappingKey, "AES-KW") rejected promise  with OperationError (DOM Exception 34): The operation failed for an operation-specific reason.
+PASS [Worker] crypto.subtle.wrapKey("jwk", key, wrappingKey, "AES-KW") rejected promise  with OperationError: The operation failed for an operation-specific reason.
 PASS successfullyParsed is true
 
 TEST COMPLETE
index 1cc9fdb..b6e41bc 100644 (file)
@@ -6,8 +6,8 @@ On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE
 Starting worker: resources/hmac-generate-export-key-raw.js
 [Worker] Generating a key...
 [Worker] Generating a key...
-PASS [Worker] crypto.subtle.exportKey("spki", key) rejected promise  with NotSupportedError (DOM Exception 9): The algorithm is not supported.
-PASS [Worker] crypto.subtle.exportKey("pkcs8", key) rejected promise  with NotSupportedError (DOM Exception 9): The algorithm is not supported.
+PASS [Worker] crypto.subtle.exportKey("spki", key) rejected promise  with NotSupportedError: The algorithm is not supported.
+PASS [Worker] crypto.subtle.exportKey("pkcs8", key) rejected promise  with NotSupportedError: The algorithm is not supported.
 [Worker] Exporting a key...
 PASS [Worker] key.byteLength is 64
 PASS successfullyParsed is true