Changeset 215423 in webkit


Ignore:
Timestamp:
Apr 17, 2017 1:07:56 PM (7 years ago)
Author:
jiewen_tan@apple.com
Message:

[WebCrypto] Add support for ECDSA
https://bugs.webkit.org/show_bug.cgi?id=170789
<rdar://problem/31588604>

Reviewed by Brent Fulgham.

LayoutTests/imported/w3c:

  • web-platform-tests/WebCryptoAPI/generateKey/failures_ECDSA.worker-expected.txt:
  • web-platform-tests/WebCryptoAPI/generateKey/successes_ECDSA.worker-expected.txt:
  • web-platform-tests/WebCryptoAPI/generateKey/test_failures_ECDSA-expected.txt:
  • web-platform-tests/WebCryptoAPI/generateKey/test_successes_ECDSA-expected.txt:
  • web-platform-tests/WebCryptoAPI/import_export/ec_importKey.worker-expected.txt:
  • web-platform-tests/WebCryptoAPI/import_export/test_ec_importKey-expected.txt:
  • web-platform-tests/WebCryptoAPI/sign_verify/ecdsa.worker-expected.txt:
  • web-platform-tests/WebCryptoAPI/sign_verify/hmac.worker-expected.txt:
  • web-platform-tests/WebCryptoAPI/sign_verify/test_ecdsa-expected.txt:
  • web-platform-tests/WebCryptoAPI/sign_verify/test_hmac-expected.txt:

Source/WebCore:

This patch implements ECDSA according to the spec: https://www.w3.org/TR/WebCryptoAPI/#ecdsa.
Supported operations include sign, verify, generateKey, importKey and exportKey.

Tests: crypto/subtle/ecdh-generate-export-key-pkcs8-p256.html

crypto/subtle/ecdh-generate-export-key-pkcs8-p384.html
crypto/subtle/ecdsa-generate-export-jwk-key.html
crypto/subtle/ecdsa-generate-export-key-pkcs8.html
crypto/subtle/ecdsa-generate-export-key-raw.html
crypto/subtle/ecdsa-generate-export-key-spki.html
crypto/subtle/ecdsa-generate-key-sign-verify-p256.html
crypto/subtle/ecdsa-generate-key-sign-verify-p384.html
crypto/subtle/ecdsa-generate-key.html
crypto/subtle/ecdsa-import-jwk-private-key.html
crypto/subtle/ecdsa-import-jwk-public-key-alg-256.html
crypto/subtle/ecdsa-import-jwk-public-key-alg-384.html
crypto/subtle/ecdsa-import-jwk-public-key.html
crypto/subtle/ecdsa-import-key-sign-p256.html
crypto/subtle/ecdsa-import-key-sign-p384.html
crypto/subtle/ecdsa-import-key-verify-p256.html
crypto/subtle/ecdsa-import-key-verify-p384.html
crypto/subtle/ecdsa-import-pkcs8-key.html
crypto/subtle/ecdsa-import-raw-key.html
crypto/subtle/ecdsa-import-spki-key.html
crypto/subtle/ecdsa-verify-malformed-parameters.html
crypto/workers/subtle/ecdsa-import-key-sign.html
crypto/workers/subtle/ecdsa-import-key-verify.html

  • CMakeLists.txt:
  • DerivedSources.make:
  • PlatformGTK.cmake:
  • PlatformMac.cmake:
  • WebCore.xcodeproj/project.pbxproj:
  • bindings/js/JSSubtleCryptoCustom.cpp:

(WebCore::normalizeCryptoAlgorithmParameters):
(WebCore::jsSubtleCryptoFunctionSignPromise):
(WebCore::jsSubtleCryptoFunctionVerifyPromise):
Add missing parameters.

  • crypto/CommonCryptoUtilities.h:
  • crypto/CryptoAlgorithm.cpp:

(WebCore::CryptoAlgorithm::sign):
(WebCore::CryptoAlgorithm::verify):

  • crypto/CryptoAlgorithm.h:

Add missing parameters.

  • crypto/CryptoAlgorithmParameters.h:
  • crypto/algorithms/CryptoAlgorithmECDSA.cpp: Added.

(WebCore::CryptoAlgorithmECDSA::create):
(WebCore::CryptoAlgorithmECDSA::identifier):
(WebCore::CryptoAlgorithmECDSA::sign):
(WebCore::CryptoAlgorithmECDSA::verify):
(WebCore::CryptoAlgorithmECDSA::generateKey):
(WebCore::CryptoAlgorithmECDSA::importKey):
(WebCore::CryptoAlgorithmECDSA::exportKey):

  • crypto/algorithms/CryptoAlgorithmECDSA.h: Added.
  • crypto/algorithms/CryptoAlgorithmHMAC.cpp:

(WebCore::CryptoAlgorithmHMAC::sign):
(WebCore::CryptoAlgorithmHMAC::verify):

  • crypto/algorithms/CryptoAlgorithmHMAC.h:

Add missing parameters.

  • crypto/algorithms/CryptoAlgorithmRSASSA_PKCS1_v1_5.cpp:

(WebCore::CryptoAlgorithmRSASSA_PKCS1_v1_5::sign):
(WebCore::CryptoAlgorithmRSASSA_PKCS1_v1_5::verify):

  • crypto/algorithms/CryptoAlgorithmRSASSA_PKCS1_v1_5.h:

Add missing parameters.

  • crypto/gcrypt/CryptoAlgorithmECDSAGCrypt.cpp: Added.

(WebCore::CryptoAlgorithmECDSA::platformSign):
(WebCore::CryptoAlgorithmECDSA::platformVerify):

  • crypto/mac/CommonCryptoDERUtilities.cpp: Added.

(WebCore::bytesUsedToEncodedLength):
(WebCore::extraBytesNeededForEncodedLength):
(WebCore::addEncodedASN1Length):
(WebCore::bytesNeededForEncodedLength):

  • crypto/mac/CommonCryptoDERUtilities.h:

(WebCore::bytesUsedToEncodedLength): Deleted.
(WebCore::extraBytesNeededForEncodedLength): Deleted.
(WebCore::addEncodedASN1Length): Deleted.
(WebCore::bytesNeededForEncodedLength): Deleted.
Move implementations to a .cpp file.

  • crypto/mac/CryptoAlgorithmECDSAMac.cpp: Added.

(WebCore::cryptoDigestAlgorithm):
(WebCore::signECDSA):
(WebCore::verifyECDSA):
(WebCore::CryptoAlgorithmECDSA::platformSign):
(WebCore::CryptoAlgorithmECDSA::platformVerify):

  • crypto/mac/CryptoAlgorithmRegistryMac.cpp:

(WebCore::CryptoAlgorithmRegistry::platformRegisterAlgorithms):

  • crypto/parameters/CryptoAlgorithmEcdsaParams.h: Added.
  • crypto/parameters/EcdsaParams.idl: Added.

LayoutTests:

  • crypto/subtle/ec-generate-key-malformed-parameters-expected.txt:
  • crypto/subtle/ec-generate-key-malformed-parameters.html:
  • crypto/subtle/ec-import-key-malformed-parameters-expected.txt:
  • crypto/subtle/ec-import-key-malformed-parameters.html:
  • crypto/subtle/ecdh-generate-export-key-pkcs8-p256-expected.txt: Renamed from LayoutTests/crypto/subtle/ecdh-generate-export-pkcs8-p256-expected.txt.
  • crypto/subtle/ecdh-generate-export-key-pkcs8-p256.html: Renamed from LayoutTests/crypto/subtle/ecdh-generate-export-pkcs8-p256.html.
  • crypto/subtle/ecdh-generate-export-key-pkcs8-p384-expected.txt: Renamed from LayoutTests/crypto/subtle/ecdh-generate-export-pkcs8-p384-expected.txt.
  • crypto/subtle/ecdh-generate-export-key-pkcs8-p384.html: Renamed from LayoutTests/crypto/subtle/ecdh-generate-export-pkcs8-p384.html.
  • crypto/subtle/ecdsa-generate-export-jwk-key-expected.txt: Added.
  • crypto/subtle/ecdsa-generate-export-jwk-key.html: Added.
  • crypto/subtle/ecdsa-generate-export-key-pkcs8-expected.txt: Added.
  • crypto/subtle/ecdsa-generate-export-key-pkcs8.html: Added.
  • crypto/subtle/ecdsa-generate-export-key-raw-expected.txt: Added.
  • crypto/subtle/ecdsa-generate-export-key-raw.html: Added.
  • crypto/subtle/ecdsa-generate-export-key-spki-expected.txt: Added.
  • crypto/subtle/ecdsa-generate-export-key-spki.html: Added.
  • crypto/subtle/ecdsa-generate-key-expected.txt: Added.
  • crypto/subtle/ecdsa-generate-key-sign-verify-p256-expected.txt: Added.
  • crypto/subtle/ecdsa-generate-key-sign-verify-p256.html: Added.
  • crypto/subtle/ecdsa-generate-key-sign-verify-p384-expected.txt: Added.
  • crypto/subtle/ecdsa-generate-key-sign-verify-p384.html: Added.
  • crypto/subtle/ecdsa-generate-key.html: Added.
  • crypto/subtle/ecdsa-import-jwk-private-key-expected.txt: Added.
  • crypto/subtle/ecdsa-import-jwk-private-key.html: Added.
  • crypto/subtle/ecdsa-import-jwk-public-key-alg-256-expected.txt: Added.
  • crypto/subtle/ecdsa-import-jwk-public-key-alg-256.html: Added.
  • crypto/subtle/ecdsa-import-jwk-public-key-alg-384-expected.txt: Added.
  • crypto/subtle/ecdsa-import-jwk-public-key-alg-384.html: Added.
  • crypto/subtle/ecdsa-import-jwk-public-key-expected.txt: Added.
  • crypto/subtle/ecdsa-import-jwk-public-key.html: Added.
  • crypto/subtle/ecdsa-import-key-sign-p256-expected.txt: Added.
  • crypto/subtle/ecdsa-import-key-sign-p256.html: Added.
  • crypto/subtle/ecdsa-import-key-sign-p384-expected.txt: Added.
  • crypto/subtle/ecdsa-import-key-sign-p384.html: Added.
  • crypto/subtle/ecdsa-import-key-verify-p256-expected.txt: Added.
  • crypto/subtle/ecdsa-import-key-verify-p256.html: Added.
  • crypto/subtle/ecdsa-import-key-verify-p384-expected.txt: Added.
  • crypto/subtle/ecdsa-import-key-verify-p384.html: Added.
  • crypto/subtle/ecdsa-import-pkcs8-key-expected.txt: Added.
  • crypto/subtle/ecdsa-import-pkcs8-key.html: Added.
  • crypto/subtle/ecdsa-import-raw-key-expected.txt: Added.
  • crypto/subtle/ecdsa-import-raw-key.html: Added.
  • crypto/subtle/ecdsa-import-spki-key-expected.txt: Added.
  • crypto/subtle/ecdsa-import-spki-key.html: Added.
  • crypto/subtle/ecdsa-verify-malformed-parameters-expected.txt: Added.
  • crypto/subtle/ecdsa-verify-malformed-parameters.html: Added.
  • crypto/workers/subtle/ecdsa-import-key-sign-expected.txt: Added.
  • crypto/workers/subtle/ecdsa-import-key-sign.html: Added.
  • crypto/workers/subtle/ecdsa-import-key-verify-expected.txt: Added.
  • crypto/workers/subtle/ecdsa-import-key-verify.html: Added.
  • crypto/workers/subtle/resources/ecdsa-import-key-sign.js: Added.
  • crypto/workers/subtle/resources/ecdsa-import-key-verify.js: Added.
Location:
trunk
Files:
41 added
33 edited
10 copied
4 moved

Legend:

Unmodified
Added
Removed
  • trunk/LayoutTests/ChangeLog

    r215414 r215423  
     12017-04-14  Jiewen Tan  <jiewen_tan@apple.com>
     2
     3        [WebCrypto] Add support for ECDSA
     4        https://bugs.webkit.org/show_bug.cgi?id=170789
     5        <rdar://problem/31588604>
     6
     7        Reviewed by Brent Fulgham.
     8
     9        * crypto/subtle/ec-generate-key-malformed-parameters-expected.txt:
     10        * crypto/subtle/ec-generate-key-malformed-parameters.html:
     11        * crypto/subtle/ec-import-key-malformed-parameters-expected.txt:
     12        * crypto/subtle/ec-import-key-malformed-parameters.html:
     13        * crypto/subtle/ecdh-generate-export-key-pkcs8-p256-expected.txt: Renamed from LayoutTests/crypto/subtle/ecdh-generate-export-pkcs8-p256-expected.txt.
     14        * crypto/subtle/ecdh-generate-export-key-pkcs8-p256.html: Renamed from LayoutTests/crypto/subtle/ecdh-generate-export-pkcs8-p256.html.
     15        * crypto/subtle/ecdh-generate-export-key-pkcs8-p384-expected.txt: Renamed from LayoutTests/crypto/subtle/ecdh-generate-export-pkcs8-p384-expected.txt.
     16        * crypto/subtle/ecdh-generate-export-key-pkcs8-p384.html: Renamed from LayoutTests/crypto/subtle/ecdh-generate-export-pkcs8-p384.html.
     17        * crypto/subtle/ecdsa-generate-export-jwk-key-expected.txt: Added.
     18        * crypto/subtle/ecdsa-generate-export-jwk-key.html: Added.
     19        * crypto/subtle/ecdsa-generate-export-key-pkcs8-expected.txt: Added.
     20        * crypto/subtle/ecdsa-generate-export-key-pkcs8.html: Added.
     21        * crypto/subtle/ecdsa-generate-export-key-raw-expected.txt: Added.
     22        * crypto/subtle/ecdsa-generate-export-key-raw.html: Added.
     23        * crypto/subtle/ecdsa-generate-export-key-spki-expected.txt: Added.
     24        * crypto/subtle/ecdsa-generate-export-key-spki.html: Added.
     25        * crypto/subtle/ecdsa-generate-key-expected.txt: Added.
     26        * crypto/subtle/ecdsa-generate-key-sign-verify-p256-expected.txt: Added.
     27        * crypto/subtle/ecdsa-generate-key-sign-verify-p256.html: Added.
     28        * crypto/subtle/ecdsa-generate-key-sign-verify-p384-expected.txt: Added.
     29        * crypto/subtle/ecdsa-generate-key-sign-verify-p384.html: Added.
     30        * crypto/subtle/ecdsa-generate-key.html: Added.
     31        * crypto/subtle/ecdsa-import-jwk-private-key-expected.txt: Added.
     32        * crypto/subtle/ecdsa-import-jwk-private-key.html: Added.
     33        * crypto/subtle/ecdsa-import-jwk-public-key-alg-256-expected.txt: Added.
     34        * crypto/subtle/ecdsa-import-jwk-public-key-alg-256.html: Added.
     35        * crypto/subtle/ecdsa-import-jwk-public-key-alg-384-expected.txt: Added.
     36        * crypto/subtle/ecdsa-import-jwk-public-key-alg-384.html: Added.
     37        * crypto/subtle/ecdsa-import-jwk-public-key-expected.txt: Added.
     38        * crypto/subtle/ecdsa-import-jwk-public-key.html: Added.
     39        * crypto/subtle/ecdsa-import-key-sign-p256-expected.txt: Added.
     40        * crypto/subtle/ecdsa-import-key-sign-p256.html: Added.
     41        * crypto/subtle/ecdsa-import-key-sign-p384-expected.txt: Added.
     42        * crypto/subtle/ecdsa-import-key-sign-p384.html: Added.
     43        * crypto/subtle/ecdsa-import-key-verify-p256-expected.txt: Added.
     44        * crypto/subtle/ecdsa-import-key-verify-p256.html: Added.
     45        * crypto/subtle/ecdsa-import-key-verify-p384-expected.txt: Added.
     46        * crypto/subtle/ecdsa-import-key-verify-p384.html: Added.
     47        * crypto/subtle/ecdsa-import-pkcs8-key-expected.txt: Added.
     48        * crypto/subtle/ecdsa-import-pkcs8-key.html: Added.
     49        * crypto/subtle/ecdsa-import-raw-key-expected.txt: Added.
     50        * crypto/subtle/ecdsa-import-raw-key.html: Added.
     51        * crypto/subtle/ecdsa-import-spki-key-expected.txt: Added.
     52        * crypto/subtle/ecdsa-import-spki-key.html: Added.
     53        * crypto/subtle/ecdsa-verify-malformed-parameters-expected.txt: Added.
     54        * crypto/subtle/ecdsa-verify-malformed-parameters.html: Added.
     55        * crypto/workers/subtle/ecdsa-import-key-sign-expected.txt: Added.
     56        * crypto/workers/subtle/ecdsa-import-key-sign.html: Added.
     57        * crypto/workers/subtle/ecdsa-import-key-verify-expected.txt: Added.
     58        * crypto/workers/subtle/ecdsa-import-key-verify.html: Added.
     59        * crypto/workers/subtle/resources/ecdsa-import-key-sign.js: Added.
     60        * crypto/workers/subtle/resources/ecdsa-import-key-verify.js: Added.
     61
    1622017-04-17  Youenn Fablet  <youenn@apple.com>
    263
  • trunk/LayoutTests/crypto/subtle/ec-generate-key-malformed-parameters-expected.txt

    r213489 r215423  
    1818PASS 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.
    1919PASS 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.
     20PASS 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.
     21PASS 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.
     22PASS 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.
     23PASS 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.
     24PASS 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.
     25PASS 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.
    2026PASS crypto.subtle.generateKey({name: "ecdh", namedCurve: "P-521"}, extractable, ["deriveKey"]) rejected promise  with NotSupportedError (DOM Exception 9): The algorithm is not supported.
    2127PASS successfullyParsed is true
  • trunk/LayoutTests/crypto/subtle/ec-generate-key-malformed-parameters.html

    r213489 r215423  
    99<div id="console"></div>
    1010
    11 <script>
     11<script type="text/javascript">
    1212description("Test generating an EC key pair with malformed-paramters.");
    1313
     
    3030shouldReject('crypto.subtle.generateKey({name: "ecdh", namedCurve: "P-256"}, extractable, ["wrapKey"])');
    3131shouldReject('crypto.subtle.generateKey({name: "ecdh", namedCurve: "P-256"}, extractable, ["unwrapKey"])');
     32shouldReject('crypto.subtle.generateKey({name: "ecdsa", namedCurve: "P-256"}, extractable, ["encrypt"])');
     33shouldReject('crypto.subtle.generateKey({name: "ecdsa", namedCurve: "P-256"}, extractable, ["decrypt"])');
     34shouldReject('crypto.subtle.generateKey({name: "ecdsa", namedCurve: "P-256"}, extractable, ["deriveKey"])');
     35shouldReject('crypto.subtle.generateKey({name: "ecdsa", namedCurve: "P-256"}, extractable, ["deriveBits"])');
     36shouldReject('crypto.subtle.generateKey({name: "ecdsa", namedCurve: "P-256"}, extractable, ["wrapKey"])');
     37shouldReject('crypto.subtle.generateKey({name: "ecdsa", namedCurve: "P-256"}, extractable, ["unwrapKey"])');
    3238// Not supported NamedCurve
    3339shouldReject('crypto.subtle.generateKey({name: "ecdh", namedCurve: "P-521"}, extractable, ["deriveKey"])');
  • trunk/LayoutTests/crypto/subtle/ec-import-key-malformed-parameters-expected.txt

    r214074 r215423  
    77PASS 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.
    88PASS 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.
     9PASS 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.
    910PASS 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.
    1011PASS 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.
     
    1516PASS 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.
    1617PASS 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.
     18PASS 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.
     19PASS 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.
     20PASS 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.
     21PASS 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.
     22PASS 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.
     23PASS 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.
     24PASS 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.
     25PASS 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.
     26PASS 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.
     27PASS 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.
     28PASS 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.
     29PASS 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.
     30PASS 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.
     31PASS 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.
     32PASS 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.
     33PASS 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.
    1734PASS 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.
     35PASS 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.
    1836PASS 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.
    1937PASS 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.
     
    2947PASS 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.
    3048PASS 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.
     49PASS 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.
     50PASS 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.
     51PASS 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.
     52PASS 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.
     53PASS 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.
     54PASS 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.
     55PASS 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.
    3156PASS 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.
    3257PASS 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.
     
    4974PASS 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.
    5075PASS 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.
     76PASS 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.
     77PASS 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.
     78PASS 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.
     79PASS 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.
     80PASS 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.
     81PASS 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.
     82PASS 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.
    5183PASS 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.
    5284PASS 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.
  • trunk/LayoutTests/crypto/subtle/ec-import-key-malformed-parameters.html

    r214074 r215423  
    99<div id="console"></div>
    1010
    11 <script>
     11<script type="text/javascript">
    1212description("Test importing a EC key with malformed parameters");
    1313
     
    5555shouldReject('crypto.subtle.importKey("raw", rawP256Key, { name: "ECDH", namedCurve: "P-384" }, extractable, [ ])');
    5656shouldReject('crypto.subtle.importKey("raw", rawP384Key, { name: "ECDH", namedCurve: "P-256" }, extractable, [ ])');
    57 // Raw: Non-empty usages
     57// Raw: Wrong usages
    5858shouldReject('crypto.subtle.importKey("raw", rawP256Key, { name: "ECDH", namedCurve: "P-256" }, extractable, ["deriveBits"])');
     59shouldReject('crypto.subtle.importKey("raw", rawP256Key, { name: "ECDSA", namedCurve: "P-256" }, extractable, ["sign"])');
    5960// Raw: Not support named curve
    6061shouldReject('crypto.subtle.importKey("raw", rawP256Key, { name: "ECDH", namedCurve: "P-521" }, extractable, [ ])');
     
    6768shouldReject('crypto.subtle.importKey("jwk", {kty: "EC", crv: "P-256", x:x, y:y, d:d}, { name: "ECDH", namedCurve: "P-256" }, extractable, ["wrapKey"])');
    6869shouldReject('crypto.subtle.importKey("jwk", {kty: "EC", crv: "P-256", x:x, y:y, d:d}, { name: "ECDH", namedCurve: "P-256" }, extractable, ["unwrapKey"])');
     70shouldReject('crypto.subtle.importKey("jwk", {kty: "EC", crv: "P-256", x:x, y:y}, { name: "ECDSA", namedCurve: "P-256" }, extractable, ["encrypt"])');
     71shouldReject('crypto.subtle.importKey("jwk", {kty: "EC", crv: "P-256", x:x, y:y}, { name: "ECDSA", namedCurve: "P-256" }, extractable, ["decrypt"])');
     72shouldReject('crypto.subtle.importKey("jwk", {kty: "EC", crv: "P-256", x:x, y:y}, { name: "ECDSA", namedCurve: "P-256" }, extractable, ["sign"])');
     73shouldReject('crypto.subtle.importKey("jwk", {kty: "EC", crv: "P-256", x:x, y:y}, { name: "ECDSA", namedCurve: "P-256" }, extractable, ["deriveKey"])');
     74shouldReject('crypto.subtle.importKey("jwk", {kty: "EC", crv: "P-256", x:x, y:y}, { name: "ECDSA", namedCurve: "P-256" }, extractable, ["deriveBits"])');
     75shouldReject('crypto.subtle.importKey("jwk", {kty: "EC", crv: "P-256", x:x, y:y}, { name: "ECDSA", namedCurve: "P-256" }, extractable, ["wrapKey"])');
     76shouldReject('crypto.subtle.importKey("jwk", {kty: "EC", crv: "P-256", x:x, y:y}, { name: "ECDSA", namedCurve: "P-256" }, extractable, ["unwrapKey"])');
     77shouldReject('crypto.subtle.importKey("jwk", {kty: "EC", crv: "P-256", x:x, y:y, d:d}, { name: "ECDSA", namedCurve: "P-256" }, extractable, ["encrypt"])');
     78shouldReject('crypto.subtle.importKey("jwk", {kty: "EC", crv: "P-256", x:x, y:y, d:d}, { name: "ECDSA", namedCurve: "P-256" }, extractable, ["decrypt"])');
     79shouldReject('crypto.subtle.importKey("jwk", {kty: "EC", crv: "P-256", x:x, y:y, d:d}, { name: "ECDSA", namedCurve: "P-256" }, extractable, ["verify"])');
     80shouldReject('crypto.subtle.importKey("jwk", {kty: "EC", crv: "P-256", x:x, y:y, d:d}, { name: "ECDSA", namedCurve: "P-256" }, extractable, ["deriveKey"])');
     81shouldReject('crypto.subtle.importKey("jwk", {kty: "EC", crv: "P-256", x:x, y:y, d:d}, { name: "ECDSA", namedCurve: "P-256" }, extractable, ["deriveBits"])');
     82shouldReject('crypto.subtle.importKey("jwk", {kty: "EC", crv: "P-256", x:x, y:y, d:d}, { name: "ECDSA", namedCurve: "P-256" }, extractable, ["wrapKey"])');
     83shouldReject('crypto.subtle.importKey("jwk", {kty: "EC", crv: "P-256", x:x, y:y, d:d}, { name: "ECDSA", namedCurve: "P-256" }, extractable, ["unwrapKey"])');
     84// Jwk: Wrong alg
     85shouldReject('crypto.subtle.importKey("jwk", {kty: "EC", crv: "P-256", x:x, y:y, alg: "ES384"}, { name: "ECDSA", namedCurve: "P-256" }, extractable, ["verify"])');
     86shouldReject('crypto.subtle.importKey("jwk", {kty: "EC", crv: "P-384", x:x, y:y, alg: "ES256"}, { name: "ECDSA", namedCurve: "P-256" }, extractable, ["verify"])');
    6987// Jwk: Wrong use
    7088shouldReject('crypto.subtle.importKey("jwk", {kty: "EC", crv: "P-256", x:x, y:y, d:d, use: "sig"}, { name: "ECDH", namedCurve: "P-256" }, extractable, ["deriveKey"])');
     89shouldReject('crypto.subtle.importKey("jwk", {kty: "EC", crv: "P-256", x:x, y:y, d:d, use: "enc"}, { name: "ECDSA", namedCurve: "P-256" }, extractable, ["sign"])');
    7190// Jwk: Wrong kty
    7291shouldReject('crypto.subtle.importKey("jwk", {kty: "RSA", crv: "P-256", x:x, y:y}, { name: "ECDH", namedCurve: "P-256" }, extractable, [ ])');
     
    89108shouldReject('crypto.subtle.importKey("jwk", {kty: "EC", crv: "P-384", x:x, y:y384}, { name: "ECDH", namedCurve: "P-384" }, extractable, [ ])');
    90109shouldReject('crypto.subtle.importKey("jwk", {kty: "EC", crv: "P-384", x:x384, y:y384, d:d}, { name: "ECDH", namedCurve: "P-384" }, extractable, [ ])');
    91 // Spki: Non-empty usages
     110// Spki: Wrong usages
    92111shouldReject('crypto.subtle.importKey("spki", spkiP256Key, { name: "ECDH", namedCurve: "P-256" }, extractable, ["deriveBits"])');
     112shouldReject('crypto.subtle.importKey("spki", spkiP256Key, { name: "ECDSA", namedCurve: "P-256" }, extractable, ["encrypt"])');
     113shouldReject('crypto.subtle.importKey("spki", spkiP256Key, { name: "ECDSA", namedCurve: "P-256" }, extractable, ["decrypt"])');
     114shouldReject('crypto.subtle.importKey("spki", spkiP256Key, { name: "ECDSA", namedCurve: "P-256" }, extractable, ["sign"])');
     115shouldReject('crypto.subtle.importKey("spki", spkiP256Key, { name: "ECDSA", namedCurve: "P-256" }, extractable, ["deriveKey"])');
     116shouldReject('crypto.subtle.importKey("spki", spkiP256Key, { name: "ECDSA", namedCurve: "P-256" }, extractable, ["deriveBits"])');
     117shouldReject('crypto.subtle.importKey("spki", spkiP256Key, { name: "ECDSA", namedCurve: "P-256" }, extractable, ["wrapKey"])');
     118shouldReject('crypto.subtle.importKey("spki", spkiP256Key, { name: "ECDSA", namedCurve: "P-256" }, extractable, ["unwrapKey"])');
    93119// Spki: Truncated keys
    94120shouldReject('crypto.subtle.importKey("spki", truncatedSpkiP256Key1, { name: "ECDH", namedCurve: "P-256" }, extractable, [ ])');
     
    115141shouldReject('crypto.subtle.importKey("pkcs8", pkcs8P256Key, { name: "ECDH", namedCurve: "P-256" }, extractable, ["wrapKey"])');
    116142shouldReject('crypto.subtle.importKey("pkcs8", pkcs8P256Key, { name: "ECDH", namedCurve: "P-256" }, extractable, ["unwrapKey"])');
     143shouldReject('crypto.subtle.importKey("pkcs8", pkcs8P256Key, { name: "ECDSA", namedCurve: "P-256" }, extractable, ["encrypt"])');
     144shouldReject('crypto.subtle.importKey("pkcs8", pkcs8P256Key, { name: "ECDSA", namedCurve: "P-256" }, extractable, ["decrypt"])');
     145shouldReject('crypto.subtle.importKey("pkcs8", pkcs8P256Key, { name: "ECDSA", namedCurve: "P-256" }, extractable, ["verify"])');
     146shouldReject('crypto.subtle.importKey("pkcs8", pkcs8P256Key, { name: "ECDSA", namedCurve: "P-256" }, extractable, ["deriveKey"])');
     147shouldReject('crypto.subtle.importKey("pkcs8", pkcs8P256Key, { name: "ECDSA", namedCurve: "P-256" }, extractable, ["deriveBits"])');
     148shouldReject('crypto.subtle.importKey("pkcs8", pkcs8P256Key, { name: "ECDSA", namedCurve: "P-256" }, extractable, ["wrapKey"])');
     149shouldReject('crypto.subtle.importKey("pkcs8", pkcs8P256Key, { name: "ECDSA", namedCurve: "P-256" }, extractable, ["unwrapKey"])');
    117150// Pkcs8: Truncated keys
    118151shouldReject('crypto.subtle.importKey("pkcs8", truncatedPkcs8P256Key1, { name: "ECDH", namedCurve: "P-256" }, extractable, ["deriveKey"])');
  • trunk/LayoutTests/crypto/subtle/ecdsa-generate-export-key-pkcs8-expected.txt

    r215422 r215423  
    1 Test exporting a P-256 ECDH private key with PKCS8 format.
     1Test exporting an ECDSA private key with PKCS8 format.
    22
    33On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
  • trunk/LayoutTests/crypto/subtle/ecdsa-generate-export-key-pkcs8.html

    r215422 r215423  
    99<div id="console"></div>
    1010
    11 <script>
    12 description("Test exporting a P-256 ECDH private key with PKCS8 format.");
     11<script type="text/javascript">
     12description("Test exporting an ECDSA private key with PKCS8 format.");
    1313
    1414jsTestIsAsync = true;
    1515
    1616var algorithmKeyGen = {
    17     name: "ECDH",
     17    name: "ECDSA",
    1818    namedCurve: "P-256"
    1919};
     
    2222var keyPair;
    2323debug("Generating a key pair...");
    24 crypto.subtle.generateKey(algorithmKeyGen, extractable, ["deriveKey", "deriveBits"]).then(function(result) {
     24crypto.subtle.generateKey(algorithmKeyGen, extractable, ["sign", "verify"]).then(function(result) {
    2525    keyPair = result;
    2626    debug("Exporting the public key...");
  • trunk/LayoutTests/crypto/subtle/ecdsa-generate-export-key-raw-expected.txt

    r215422 r215423  
    1 Test exporting a P-384 ECDH private key with PKCS8 format.
     1Test exporting an ECDSA public key with raw format.
    22
    33On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
     
    66Generating a key pair...
    77Exporting the public key...
    8 PASS privateKey.byteLength is 185
     8PASS publicKey.byteLength is 65
    99PASS successfullyParsed is true
    1010
  • trunk/LayoutTests/crypto/subtle/ecdsa-generate-export-key-raw.html

    r215422 r215423  
    99<div id="console"></div>
    1010
    11 <script>
    12 description("Test exporting a P-256 ECDH private key with PKCS8 format.");
     11<script type="text/javascript">
     12description("Test exporting an ECDSA public key with raw format.");
    1313
    1414jsTestIsAsync = true;
    1515
    1616var algorithmKeyGen = {
    17     name: "ECDH",
     17    name: "ECDSA",
    1818    namedCurve: "P-256"
    1919};
     
    2222var keyPair;
    2323debug("Generating a key pair...");
    24 crypto.subtle.generateKey(algorithmKeyGen, extractable, ["deriveKey", "deriveBits"]).then(function(result) {
     24crypto.subtle.generateKey(algorithmKeyGen, extractable, ["sign", "verify"]).then(function(result) {
    2525    keyPair = result;
    2626    debug("Exporting the public key...");
    27     return crypto.subtle.exportKey("pkcs8", keyPair.privateKey);
     27    return crypto.subtle.exportKey("raw", keyPair.publicKey);
    2828}).then(function(result) {
    29     privateKey = result;
     29    publicKey = result;
    3030
    31     shouldBe("privateKey.byteLength", "138");
     31    shouldBe("publicKey.byteLength", "65");
    3232
    3333    finishJSTest();
  • trunk/LayoutTests/crypto/subtle/ecdsa-generate-export-key-spki-expected.txt

    r215422 r215423  
    1 Test exporting a P-384 ECDH private key with PKCS8 format.
     1Test exporting an ECDSA public key with SPKI format.
    22
    33On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
     
    66Generating a key pair...
    77Exporting the public key...
    8 PASS privateKey.byteLength is 185
     8PASS publicKey.byteLength is 91
    99PASS successfullyParsed is true
    1010
  • trunk/LayoutTests/crypto/subtle/ecdsa-generate-export-key-spki.html

    r215422 r215423  
    99<div id="console"></div>
    1010
    11 <script>
    12 description("Test exporting a P-256 ECDH private key with PKCS8 format.");
     11<script type="text/javascript">
     12description("Test exporting an ECDSA public key with SPKI format.");
    1313
    1414jsTestIsAsync = true;
    1515
    1616var algorithmKeyGen = {
    17     name: "ECDH",
     17    name: "ECDSA",
    1818    namedCurve: "P-256"
    1919};
     
    2222var keyPair;
    2323debug("Generating a key pair...");
    24 crypto.subtle.generateKey(algorithmKeyGen, extractable, ["deriveKey", "deriveBits"]).then(function(result) {
     24crypto.subtle.generateKey(algorithmKeyGen, extractable, ["sign", "verify"]).then(function(result) {
    2525    keyPair = result;
    2626    debug("Exporting the public key...");
    27     return crypto.subtle.exportKey("pkcs8", keyPair.privateKey);
     27    return crypto.subtle.exportKey("spki", keyPair.publicKey);
    2828}).then(function(result) {
    29     privateKey = result;
     29    publicKey = result;
    3030
    31     shouldBe("privateKey.byteLength", "138");
     31    shouldBe("publicKey.byteLength", "91");
    3232
    3333    finishJSTest();
  • trunk/LayoutTests/imported/w3c/ChangeLog

    r215419 r215423  
     12017-04-14  Jiewen Tan  <jiewen_tan@apple.com>
     2
     3        [WebCrypto] Add support for ECDSA
     4        https://bugs.webkit.org/show_bug.cgi?id=170789
     5        <rdar://problem/31588604>
     6
     7        Reviewed by Brent Fulgham.
     8
     9        * web-platform-tests/WebCryptoAPI/generateKey/failures_ECDSA.worker-expected.txt:
     10        * web-platform-tests/WebCryptoAPI/generateKey/successes_ECDSA.worker-expected.txt:
     11        * web-platform-tests/WebCryptoAPI/generateKey/test_failures_ECDSA-expected.txt:
     12        * web-platform-tests/WebCryptoAPI/generateKey/test_successes_ECDSA-expected.txt:
     13        * web-platform-tests/WebCryptoAPI/import_export/ec_importKey.worker-expected.txt:
     14        * web-platform-tests/WebCryptoAPI/import_export/test_ec_importKey-expected.txt:
     15        * web-platform-tests/WebCryptoAPI/sign_verify/ecdsa.worker-expected.txt:
     16        * web-platform-tests/WebCryptoAPI/sign_verify/hmac.worker-expected.txt:
     17        * web-platform-tests/WebCryptoAPI/sign_verify/test_ecdsa-expected.txt:
     18        * web-platform-tests/WebCryptoAPI/sign_verify/test_hmac-expected.txt:
     19
    1202017-04-17  Tim Horton  <timothy_horton@apple.com>
    221
  • trunk/LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/failures_ECDSA.worker-expected.txt

    r212124 r215423  
    324324PASS Bad algorithm: generateKey({name: EC, namedCurve: P521}, RED, [decrypt, sign, deriveBits, decrypt, sign, deriveBits])
    325325PASS Bad algorithm: generateKey({name: EC, namedCurve: P521}, 7, [decrypt, sign, deriveBits, decrypt, sign, deriveBits])
    326 FAIL Bad usages: generateKey({name: ECDSA, namedCurve: P-256}, true, [encrypt]) assert_equals: Bad usages not supported expected "SyntaxError" but got "NotSupportedError"
    327 FAIL Bad usages: generateKey({name: ECDSA, namedCurve: P-256}, true, [sign, encrypt]) assert_equals: Bad usages not supported expected "SyntaxError" but got "NotSupportedError"
    328 FAIL Bad usages: generateKey({name: ECDSA, namedCurve: P-256}, true, [verify, sign, encrypt]) assert_equals: Bad usages not supported expected "SyntaxError" but got "NotSupportedError"
    329 FAIL Bad usages: generateKey({name: ECDSA, namedCurve: P-256}, true, [sign, verify, sign, sign, verify, encrypt]) assert_equals: Bad usages not supported expected "SyntaxError" but got "NotSupportedError"
    330 FAIL Bad usages: generateKey({name: ECDSA, namedCurve: P-256}, true, [decrypt]) assert_equals: Bad usages not supported expected "SyntaxError" but got "NotSupportedError"
    331 FAIL Bad usages: generateKey({name: ECDSA, namedCurve: P-256}, true, [sign, decrypt]) assert_equals: Bad usages not supported expected "SyntaxError" but got "NotSupportedError"
    332 FAIL Bad usages: generateKey({name: ECDSA, namedCurve: P-256}, true, [verify, sign, decrypt]) assert_equals: Bad usages not supported expected "SyntaxError" but got "NotSupportedError"
    333 FAIL Bad usages: generateKey({name: ECDSA, namedCurve: P-256}, true, [sign, verify, sign, sign, verify, decrypt]) assert_equals: Bad usages not supported expected "SyntaxError" but got "NotSupportedError"
    334 FAIL Bad usages: generateKey({name: ECDSA, namedCurve: P-256}, true, [wrapKey]) assert_equals: Bad usages not supported expected "SyntaxError" but got "NotSupportedError"
    335 FAIL Bad usages: generateKey({name: ECDSA, namedCurve: P-256}, true, [sign, wrapKey]) assert_equals: Bad usages not supported expected "SyntaxError" but got "NotSupportedError"
    336 FAIL Bad usages: generateKey({name: ECDSA, namedCurve: P-256}, true, [verify, sign, wrapKey]) assert_equals: Bad usages not supported expected "SyntaxError" but got "NotSupportedError"
    337 FAIL Bad usages: generateKey({name: ECDSA, namedCurve: P-256}, true, [sign, verify, sign, sign, verify, wrapKey]) assert_equals: Bad usages not supported expected "SyntaxError" but got "NotSupportedError"
    338 FAIL Bad usages: generateKey({name: ECDSA, namedCurve: P-256}, true, [unwrapKey]) assert_equals: Bad usages not supported expected "SyntaxError" but got "NotSupportedError"
    339 FAIL Bad usages: generateKey({name: ECDSA, namedCurve: P-256}, true, [sign, unwrapKey]) assert_equals: Bad usages not supported expected "SyntaxError" but got "NotSupportedError"
    340 FAIL Bad usages: generateKey({name: ECDSA, namedCurve: P-256}, true, [verify, sign, unwrapKey]) assert_equals: Bad usages not supported expected "SyntaxError" but got "NotSupportedError"
    341 FAIL Bad usages: generateKey({name: ECDSA, namedCurve: P-256}, true, [sign, verify, sign, sign, verify, unwrapKey]) assert_equals: Bad usages not supported expected "SyntaxError" but got "NotSupportedError"
    342 FAIL Bad usages: generateKey({name: ECDSA, namedCurve: P-256}, true, [deriveKey]) assert_equals: Bad usages not supported expected "SyntaxError" but got "NotSupportedError"
    343 FAIL Bad usages: generateKey({name: ECDSA, namedCurve: P-256}, true, [sign, deriveKey]) assert_equals: Bad usages not supported expected "SyntaxError" but got "NotSupportedError"
    344 FAIL Bad usages: generateKey({name: ECDSA, namedCurve: P-256}, true, [verify, sign, deriveKey]) assert_equals: Bad usages not supported expected "SyntaxError" but got "NotSupportedError"
    345 FAIL Bad usages: generateKey({name: ECDSA, namedCurve: P-256}, true, [sign, verify, sign, sign, verify, deriveKey]) assert_equals: Bad usages not supported expected "SyntaxError" but got "NotSupportedError"
    346 FAIL Bad usages: generateKey({name: ECDSA, namedCurve: P-256}, true, [deriveBits]) assert_equals: Bad usages not supported expected "SyntaxError" but got "NotSupportedError"
    347 FAIL Bad usages: generateKey({name: ECDSA, namedCurve: P-256}, true, [sign, deriveBits]) assert_equals: Bad usages not supported expected "SyntaxError" but got "NotSupportedError"
    348 FAIL Bad usages: generateKey({name: ECDSA, namedCurve: P-256}, true, [verify, sign, deriveBits]) assert_equals: Bad usages not supported expected "SyntaxError" but got "NotSupportedError"
    349 FAIL Bad usages: generateKey({name: ECDSA, namedCurve: P-256}, true, [sign, verify, sign, sign, verify, deriveBits]) assert_equals: Bad usages not supported expected "SyntaxError" but got "NotSupportedError"
    350 FAIL Bad usages: generateKey({name: ECDSA, namedCurve: P-384}, true, [encrypt]) assert_equals: Bad usages not supported expected "SyntaxError" but got "NotSupportedError"
    351 FAIL Bad usages: generateKey({name: ECDSA, namedCurve: P-384}, true, [sign, encrypt]) assert_equals: Bad usages not supported expected "SyntaxError" but got "NotSupportedError"
    352 FAIL Bad usages: generateKey({name: ECDSA, namedCurve: P-384}, true, [verify, sign, encrypt]) assert_equals: Bad usages not supported expected "SyntaxError" but got "NotSupportedError"
    353 FAIL Bad usages: generateKey({name: ECDSA, namedCurve: P-384}, true, [sign, verify, sign, sign, verify, encrypt]) assert_equals: Bad usages not supported expected "SyntaxError" but got "NotSupportedError"
    354 FAIL Bad usages: generateKey({name: ECDSA, namedCurve: P-384}, true, [decrypt]) assert_equals: Bad usages not supported expected "SyntaxError" but got "NotSupportedError"
    355 FAIL Bad usages: generateKey({name: ECDSA, namedCurve: P-384}, true, [sign, decrypt]) assert_equals: Bad usages not supported expected "SyntaxError" but got "NotSupportedError"
    356 FAIL Bad usages: generateKey({name: ECDSA, namedCurve: P-384}, true, [verify, sign, decrypt]) assert_equals: Bad usages not supported expected "SyntaxError" but got "NotSupportedError"
    357 FAIL Bad usages: generateKey({name: ECDSA, namedCurve: P-384}, true, [sign, verify, sign, sign, verify, decrypt]) assert_equals: Bad usages not supported expected "SyntaxError" but got "NotSupportedError"
    358 FAIL Bad usages: generateKey({name: ECDSA, namedCurve: P-384}, true, [wrapKey]) assert_equals: Bad usages not supported expected "SyntaxError" but got "NotSupportedError"
    359 FAIL Bad usages: generateKey({name: ECDSA, namedCurve: P-384}, true, [sign, wrapKey]) assert_equals: Bad usages not supported expected "SyntaxError" but got "NotSupportedError"
    360 FAIL Bad usages: generateKey({name: ECDSA, namedCurve: P-384}, true, [verify, sign, wrapKey]) assert_equals: Bad usages not supported expected "SyntaxError" but got "NotSupportedError"
    361 FAIL Bad usages: generateKey({name: ECDSA, namedCurve: P-384}, true, [sign, verify, sign, sign, verify, wrapKey]) assert_equals: Bad usages not supported expected "SyntaxError" but got "NotSupportedError"
    362 FAIL Bad usages: generateKey({name: ECDSA, namedCurve: P-384}, true, [unwrapKey]) assert_equals: Bad usages not supported expected "SyntaxError" but got "NotSupportedError"
    363 FAIL Bad usages: generateKey({name: ECDSA, namedCurve: P-384}, true, [sign, unwrapKey]) assert_equals: Bad usages not supported expected "SyntaxError" but got "NotSupportedError"
    364 FAIL Bad usages: generateKey({name: ECDSA, namedCurve: P-384}, true, [verify, sign, unwrapKey]) assert_equals: Bad usages not supported expected "SyntaxError" but got "NotSupportedError"
    365 FAIL Bad usages: generateKey({name: ECDSA, namedCurve: P-384}, true, [sign, verify, sign, sign, verify, unwrapKey]) assert_equals: Bad usages not supported expected "SyntaxError" but got "NotSupportedError"
    366 FAIL Bad usages: generateKey({name: ECDSA, namedCurve: P-384}, true, [deriveKey]) assert_equals: Bad usages not supported expected "SyntaxError" but got "NotSupportedError"
    367 FAIL Bad usages: generateKey({name: ECDSA, namedCurve: P-384}, true, [sign, deriveKey]) assert_equals: Bad usages not supported expected "SyntaxError" but got "NotSupportedError"
    368 FAIL Bad usages: generateKey({name: ECDSA, namedCurve: P-384}, true, [verify, sign, deriveKey]) assert_equals: Bad usages not supported expected "SyntaxError" but got "NotSupportedError"
    369 FAIL Bad usages: generateKey({name: ECDSA, namedCurve: P-384}, true, [sign, verify, sign, sign, verify, deriveKey]) assert_equals: Bad usages not supported expected "SyntaxError" but got "NotSupportedError"
    370 FAIL Bad usages: generateKey({name: ECDSA, namedCurve: P-384}, true, [deriveBits]) assert_equals: Bad usages not supported expected "SyntaxError" but got "NotSupportedError"
    371 FAIL Bad usages: generateKey({name: ECDSA, namedCurve: P-384}, true, [sign, deriveBits]) assert_equals: Bad usages not supported expected "SyntaxError" but got "NotSupportedError"
    372 FAIL Bad usages: generateKey({name: ECDSA, namedCurve: P-384}, true, [verify, sign, deriveBits]) assert_equals: Bad usages not supported expected "SyntaxError" but got "NotSupportedError"
    373 FAIL Bad usages: generateKey({name: ECDSA, namedCurve: P-384}, true, [sign, verify, sign, sign, verify, deriveBits]) assert_equals: Bad usages not supported expected "SyntaxError" but got "NotSupportedError"
    374 FAIL Bad usages: generateKey({name: ECDSA, namedCurve: P-521}, true, [encrypt]) assert_equals: Bad usages not supported expected "SyntaxError" but got "NotSupportedError"
    375 FAIL Bad usages: generateKey({name: ECDSA, namedCurve: P-521}, true, [sign, encrypt]) assert_equals: Bad usages not supported expected "SyntaxError" but got "NotSupportedError"
    376 FAIL Bad usages: generateKey({name: ECDSA, namedCurve: P-521}, true, [verify, sign, encrypt]) assert_equals: Bad usages not supported expected "SyntaxError" but got "NotSupportedError"
    377 FAIL Bad usages: generateKey({name: ECDSA, namedCurve: P-521}, true, [sign, verify, sign, sign, verify, encrypt]) assert_equals: Bad usages not supported expected "SyntaxError" but got "NotSupportedError"
    378 FAIL Bad usages: generateKey({name: ECDSA, namedCurve: P-521}, true, [decrypt]) assert_equals: Bad usages not supported expected "SyntaxError" but got "NotSupportedError"
    379 FAIL Bad usages: generateKey({name: ECDSA, namedCurve: P-521}, true, [sign, decrypt]) assert_equals: Bad usages not supported expected "SyntaxError" but got "NotSupportedError"
    380 FAIL Bad usages: generateKey({name: ECDSA, namedCurve: P-521}, true, [verify, sign, decrypt]) assert_equals: Bad usages not supported expected "SyntaxError" but got "NotSupportedError"
    381 FAIL Bad usages: generateKey({name: ECDSA, namedCurve: P-521}, true, [sign, verify, sign, sign, verify, decrypt]) assert_equals: Bad usages not supported expected "SyntaxError" but got "NotSupportedError"
    382 FAIL Bad usages: generateKey({name: ECDSA, namedCurve: P-521}, true, [wrapKey]) assert_equals: Bad usages not supported expected "SyntaxError" but got "NotSupportedError"
    383 FAIL Bad usages: generateKey({name: ECDSA, namedCurve: P-521}, true, [sign, wrapKey]) assert_equals: Bad usages not supported expected "SyntaxError" but got "NotSupportedError"
    384 FAIL Bad usages: generateKey({name: ECDSA, namedCurve: P-521}, true, [verify, sign, wrapKey]) assert_equals: Bad usages not supported expected "SyntaxError" but got "NotSupportedError"
    385 FAIL Bad usages: generateKey({name: ECDSA, namedCurve: P-521}, true, [sign, verify, sign, sign, verify, wrapKey]) assert_equals: Bad usages not supported expected "SyntaxError" but got "NotSupportedError"
    386 FAIL Bad usages: generateKey({name: ECDSA, namedCurve: P-521}, true, [unwrapKey]) assert_equals: Bad usages not supported expected "SyntaxError" but got "NotSupportedError"
    387 FAIL Bad usages: generateKey({name: ECDSA, namedCurve: P-521}, true, [sign, unwrapKey]) assert_equals: Bad usages not supported expected "SyntaxError" but got "NotSupportedError"
    388 FAIL Bad usages: generateKey({name: ECDSA, namedCurve: P-521}, true, [verify, sign, unwrapKey]) assert_equals: Bad usages not supported expected "SyntaxError" but got "NotSupportedError"
    389 FAIL Bad usages: generateKey({name: ECDSA, namedCurve: P-521}, true, [sign, verify, sign, sign, verify, unwrapKey]) assert_equals: Bad usages not supported expected "SyntaxError" but got "NotSupportedError"
    390 FAIL Bad usages: generateKey({name: ECDSA, namedCurve: P-521}, true, [deriveKey]) assert_equals: Bad usages not supported expected "SyntaxError" but got "NotSupportedError"
    391 FAIL Bad usages: generateKey({name: ECDSA, namedCurve: P-521}, true, [sign, deriveKey]) assert_equals: Bad usages not supported expected "SyntaxError" but got "NotSupportedError"
    392 FAIL Bad usages: generateKey({name: ECDSA, namedCurve: P-521}, true, [verify, sign, deriveKey]) assert_equals: Bad usages not supported expected "SyntaxError" but got "NotSupportedError"
    393 FAIL Bad usages: generateKey({name: ECDSA, namedCurve: P-521}, true, [sign, verify, sign, sign, verify, deriveKey]) assert_equals: Bad usages not supported expected "SyntaxError" but got "NotSupportedError"
    394 FAIL Bad usages: generateKey({name: ECDSA, namedCurve: P-521}, true, [deriveBits]) assert_equals: Bad usages not supported expected "SyntaxError" but got "NotSupportedError"
    395 FAIL Bad usages: generateKey({name: ECDSA, namedCurve: P-521}, true, [sign, deriveBits]) assert_equals: Bad usages not supported expected "SyntaxError" but got "NotSupportedError"
    396 FAIL Bad usages: generateKey({name: ECDSA, namedCurve: P-521}, true, [verify, sign, deriveBits]) assert_equals: Bad usages not supported expected "SyntaxError" but got "NotSupportedError"
    397 FAIL Bad usages: generateKey({name: ECDSA, namedCurve: P-521}, true, [sign, verify, sign, sign, verify, deriveBits]) assert_equals: Bad usages not supported expected "SyntaxError" but got "NotSupportedError"
     326PASS Bad usages: generateKey({name: ECDSA, namedCurve: P-256}, true, [encrypt])
     327PASS Bad usages: generateKey({name: ECDSA, namedCurve: P-256}, true, [sign, encrypt])
     328PASS Bad usages: generateKey({name: ECDSA, namedCurve: P-256}, true, [verify, sign, encrypt])
     329PASS Bad usages: generateKey({name: ECDSA, namedCurve: P-256}, true, [sign, verify, sign, sign, verify, encrypt])
     330PASS Bad usages: generateKey({name: ECDSA, namedCurve: P-256}, true, [decrypt])
     331PASS Bad usages: generateKey({name: ECDSA, namedCurve: P-256}, true, [sign, decrypt])
     332PASS Bad usages: generateKey({name: ECDSA, namedCurve: P-256}, true, [verify, sign, decrypt])
     333PASS Bad usages: generateKey({name: ECDSA, namedCurve: P-256}, true, [sign, verify, sign, sign, verify, decrypt])
     334PASS Bad usages: generateKey({name: ECDSA, namedCurve: P-256}, true, [wrapKey])
     335PASS Bad usages: generateKey({name: ECDSA, namedCurve: P-256}, true, [sign, wrapKey])
     336PASS Bad usages: generateKey({name: ECDSA, namedCurve: P-256}, true, [verify, sign, wrapKey])
     337PASS Bad usages: generateKey({name: ECDSA, namedCurve: P-256}, true, [sign, verify, sign, sign, verify, wrapKey])
     338PASS Bad usages: generateKey({name: ECDSA, namedCurve: P-256}, true, [unwrapKey])
     339PASS Bad usages: generateKey({name: ECDSA, namedCurve: P-256}, true, [sign, unwrapKey])
     340PASS Bad usages: generateKey({name: ECDSA, namedCurve: P-256}, true, [verify, sign, unwrapKey])
     341PASS Bad usages: generateKey({name: ECDSA, namedCurve: P-256}, true, [sign, verify, sign, sign, verify, unwrapKey])
     342PASS Bad usages: generateKey({name: ECDSA, namedCurve: P-256}, true, [deriveKey])
     343PASS Bad usages: generateKey({name: ECDSA, namedCurve: P-256}, true, [sign, deriveKey])
     344PASS Bad usages: generateKey({name: ECDSA, namedCurve: P-256}, true, [verify, sign, deriveKey])
     345PASS Bad usages: generateKey({name: ECDSA, namedCurve: P-256}, true, [sign, verify, sign, sign, verify, deriveKey])
     346PASS Bad usages: generateKey({name: ECDSA, namedCurve: P-256}, true, [deriveBits])
     347PASS Bad usages: generateKey({name: ECDSA, namedCurve: P-256}, true, [sign, deriveBits])
     348PASS Bad usages: generateKey({name: ECDSA, namedCurve: P-256}, true, [verify, sign, deriveBits])
     349PASS Bad usages: generateKey({name: ECDSA, namedCurve: P-256}, true, [sign, verify, sign, sign, verify, deriveBits])
     350PASS Bad usages: generateKey({name: ECDSA, namedCurve: P-384}, true, [encrypt])
     351PASS Bad usages: generateKey({name: ECDSA, namedCurve: P-384}, true, [sign, encrypt])
     352PASS Bad usages: generateKey({name: ECDSA, namedCurve: P-384}, true, [verify, sign, encrypt])
     353PASS Bad usages: generateKey({name: ECDSA, namedCurve: P-384}, true, [sign, verify, sign, sign, verify, encrypt])
     354PASS Bad usages: generateKey({name: ECDSA, namedCurve: P-384}, true, [decrypt])
     355PASS Bad usages: generateKey({name: ECDSA, namedCurve: P-384}, true, [sign, decrypt])
     356PASS Bad usages: generateKey({name: ECDSA, namedCurve: P-384}, true, [verify, sign, decrypt])
     357PASS Bad usages: generateKey({name: ECDSA, namedCurve: P-384}, true, [sign, verify, sign, sign, verify, decrypt])
     358PASS Bad usages: generateKey({name: ECDSA, namedCurve: P-384}, true, [wrapKey])
     359PASS Bad usages: generateKey({name: ECDSA, namedCurve: P-384}, true, [sign, wrapKey])
     360PASS Bad usages: generateKey({name: ECDSA, namedCurve: P-384}, true, [verify, sign, wrapKey])
     361PASS Bad usages: generateKey({name: ECDSA, namedCurve: P-384}, true, [sign, verify, sign, sign, verify, wrapKey])
     362PASS Bad usages: generateKey({name: ECDSA, namedCurve: P-384}, true, [unwrapKey])
     363PASS Bad usages: generateKey({name: ECDSA, namedCurve: P-384}, true, [sign, unwrapKey])
     364PASS Bad usages: generateKey({name: ECDSA, namedCurve: P-384}, true, [verify, sign, unwrapKey])
     365PASS Bad usages: generateKey({name: ECDSA, namedCurve: P-384}, true, [sign, verify, sign, sign, verify, unwrapKey])
     366PASS Bad usages: generateKey({name: ECDSA, namedCurve: P-384}, true, [deriveKey])
     367PASS Bad usages: generateKey({name: ECDSA, namedCurve: P-384}, true, [sign, deriveKey])
     368PASS Bad usages: generateKey({name: ECDSA, namedCurve: P-384}, true, [verify, sign, deriveKey])
     369PASS Bad usages: generateKey({name: ECDSA, namedCurve: P-384}, true, [sign, verify, sign, sign, verify, deriveKey])
     370PASS Bad usages: generateKey({name: ECDSA, namedCurve: P-384}, true, [deriveBits])
     371PASS Bad usages: generateKey({name: ECDSA, namedCurve: P-384}, true, [sign, deriveBits])
     372PASS Bad usages: generateKey({name: ECDSA, namedCurve: P-384}, true, [verify, sign, deriveBits])
     373PASS Bad usages: generateKey({name: ECDSA, namedCurve: P-384}, true, [sign, verify, sign, sign, verify, deriveBits])
     374PASS Bad usages: generateKey({name: ECDSA, namedCurve: P-521}, true, [encrypt])
     375PASS Bad usages: generateKey({name: ECDSA, namedCurve: P-521}, true, [sign, encrypt])
     376PASS Bad usages: generateKey({name: ECDSA, namedCurve: P-521}, true, [verify, sign, encrypt])
     377PASS Bad usages: generateKey({name: ECDSA, namedCurve: P-521}, true, [sign, verify, sign, sign, verify, encrypt])
     378PASS Bad usages: generateKey({name: ECDSA, namedCurve: P-521}, true, [decrypt])
     379PASS Bad usages: generateKey({name: ECDSA, namedCurve: P-521}, true, [sign, decrypt])
     380PASS Bad usages: generateKey({name: ECDSA, namedCurve: P-521}, true, [verify, sign, decrypt])
     381PASS Bad usages: generateKey({name: ECDSA, namedCurve: P-521}, true, [sign, verify, sign, sign, verify, decrypt])
     382PASS Bad usages: generateKey({name: ECDSA, namedCurve: P-521}, true, [wrapKey])
     383PASS Bad usages: generateKey({name: ECDSA, namedCurve: P-521}, true, [sign, wrapKey])
     384PASS Bad usages: generateKey({name: ECDSA, namedCurve: P-521}, true, [verify, sign, wrapKey])
     385PASS Bad usages: generateKey({name: ECDSA, namedCurve: P-521}, true, [sign, verify, sign, sign, verify, wrapKey])
     386PASS Bad usages: generateKey({name: ECDSA, namedCurve: P-521}, true, [unwrapKey])
     387PASS Bad usages: generateKey({name: ECDSA, namedCurve: P-521}, true, [sign, unwrapKey])
     388PASS Bad usages: generateKey({name: ECDSA, namedCurve: P-521}, true, [verify, sign, unwrapKey])
     389PASS Bad usages: generateKey({name: ECDSA, namedCurve: P-521}, true, [sign, verify, sign, sign, verify, unwrapKey])
     390PASS Bad usages: generateKey({name: ECDSA, namedCurve: P-521}, true, [deriveKey])
     391PASS Bad usages: generateKey({name: ECDSA, namedCurve: P-521}, true, [sign, deriveKey])
     392PASS Bad usages: generateKey({name: ECDSA, namedCurve: P-521}, true, [verify, sign, deriveKey])
     393PASS Bad usages: generateKey({name: ECDSA, namedCurve: P-521}, true, [sign, verify, sign, sign, verify, deriveKey])
     394PASS Bad usages: generateKey({name: ECDSA, namedCurve: P-521}, true, [deriveBits])
     395PASS Bad usages: generateKey({name: ECDSA, namedCurve: P-521}, true, [sign, deriveBits])
     396PASS Bad usages: generateKey({name: ECDSA, namedCurve: P-521}, true, [verify, sign, deriveBits])
     397PASS Bad usages: generateKey({name: ECDSA, namedCurve: P-521}, true, [sign, verify, sign, sign, verify, deriveBits])
    398398PASS Bad algorithm property: generateKey({name: ECDSA, namedCurve: P-512}, false, [sign])
    399399PASS Bad algorithm property: generateKey({name: ECDSA, namedCurve: P-512}, true, [sign])
     
    412412PASS Bad algorithm property: generateKey({name: ECDSA, namedCurve: Curve25519}, false, [sign, verify, sign, sign, verify])
    413413PASS Bad algorithm property: generateKey({name: ECDSA, namedCurve: Curve25519}, true, [sign, verify, sign, sign, verify])
    414 FAIL Empty usages: generateKey({name: ECDSA, namedCurve: P-256}, false, []) assert_equals: Empty usages not supported expected "SyntaxError" but got "NotSupportedError"
    415 FAIL Empty usages: generateKey({name: ECDSA, namedCurve: P-256}, true, []) assert_equals: Empty usages not supported expected "SyntaxError" but got "NotSupportedError"
    416 FAIL Empty usages: generateKey({name: ECDSA, namedCurve: P-384}, false, []) assert_equals: Empty usages not supported expected "SyntaxError" but got "NotSupportedError"
    417 FAIL Empty usages: generateKey({name: ECDSA, namedCurve: P-384}, true, []) assert_equals: Empty usages not supported expected "SyntaxError" but got "NotSupportedError"
     414PASS Empty usages: generateKey({name: ECDSA, namedCurve: P-256}, false, [])
     415PASS Empty usages: generateKey({name: ECDSA, namedCurve: P-256}, true, [])
     416PASS Empty usages: generateKey({name: ECDSA, namedCurve: P-384}, false, [])
     417PASS Empty usages: generateKey({name: ECDSA, namedCurve: P-384}, true, [])
    418418FAIL Empty usages: generateKey({name: ECDSA, namedCurve: P-521}, false, []) assert_equals: Empty usages not supported expected "SyntaxError" but got "NotSupportedError"
    419419FAIL Empty usages: generateKey({name: ECDSA, namedCurve: P-521}, true, []) assert_equals: Empty usages not supported expected "SyntaxError" but got "NotSupportedError"
  • trunk/LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/successes_ECDSA.worker-expected.txt

    r212124 r215423  
    11
    2 FAIL Success: generateKey({name: ECDSA, namedCurve: P-256}, false, [sign]) assert_unreached: Threw an unexpected error: NotSupportedError (DOM Exception 9): The operation is not supported. Reached unreachable code
    3 FAIL Success: generateKey({name: ECDSA, namedCurve: P-256}, true, [sign]) assert_unreached: Threw an unexpected error: NotSupportedError (DOM Exception 9): The operation is not supported. Reached unreachable code
    4 FAIL Success: generateKey({name: ECDSA, namedCurve: P-256}, false, [verify, sign]) assert_unreached: Threw an unexpected error: NotSupportedError (DOM Exception 9): The operation is not supported. Reached unreachable code
    5 FAIL Success: generateKey({name: ECDSA, namedCurve: P-256}, true, [verify, sign]) assert_unreached: Threw an unexpected error: NotSupportedError (DOM Exception 9): The operation is not supported. Reached unreachable code
    6 FAIL Success: generateKey({name: ECDSA, namedCurve: P-256}, false, [sign, verify, sign, sign, verify]) assert_unreached: Threw an unexpected error: NotSupportedError (DOM Exception 9): The operation is not supported. Reached unreachable code
    7 FAIL Success: generateKey({name: ECDSA, namedCurve: P-256}, true, [sign, verify, sign, sign, verify]) assert_unreached: Threw an unexpected error: NotSupportedError (DOM Exception 9): The operation is not supported. Reached unreachable code
    8 FAIL Success: generateKey({name: ECDSA, namedCurve: P-384}, false, [sign]) assert_unreached: Threw an unexpected error: NotSupportedError (DOM Exception 9): The operation is not supported. Reached unreachable code
    9 FAIL Success: generateKey({name: ECDSA, namedCurve: P-384}, true, [sign]) assert_unreached: Threw an unexpected error: NotSupportedError (DOM Exception 9): The operation is not supported. Reached unreachable code
    10 FAIL Success: generateKey({name: ECDSA, namedCurve: P-384}, false, [verify, sign]) assert_unreached: Threw an unexpected error: NotSupportedError (DOM Exception 9): The operation is not supported. Reached unreachable code
    11 FAIL Success: generateKey({name: ECDSA, namedCurve: P-384}, true, [verify, sign]) assert_unreached: Threw an unexpected error: NotSupportedError (DOM Exception 9): The operation is not supported. Reached unreachable code
    12 FAIL Success: generateKey({name: ECDSA, namedCurve: P-384}, false, [sign, verify, sign, sign, verify]) assert_unreached: Threw an unexpected error: NotSupportedError (DOM Exception 9): The operation is not supported. Reached unreachable code
    13 FAIL Success: generateKey({name: ECDSA, namedCurve: P-384}, true, [sign, verify, sign, sign, verify]) assert_unreached: Threw an unexpected error: NotSupportedError (DOM Exception 9): The operation is not supported. Reached unreachable code
    14 FAIL Success: generateKey({name: ECDSA, namedCurve: P-521}, false, [sign]) assert_unreached: Threw an unexpected error: NotSupportedError (DOM Exception 9): The operation is not supported. Reached unreachable code
    15 FAIL Success: generateKey({name: ECDSA, namedCurve: P-521}, true, [sign]) assert_unreached: Threw an unexpected error: NotSupportedError (DOM Exception 9): The operation is not supported. Reached unreachable code
    16 FAIL Success: generateKey({name: ECDSA, namedCurve: P-521}, false, [verify, sign]) assert_unreached: Threw an unexpected error: NotSupportedError (DOM Exception 9): The operation is not supported. Reached unreachable code
    17 FAIL Success: generateKey({name: ECDSA, namedCurve: P-521}, true, [verify, sign]) assert_unreached: Threw an unexpected error: NotSupportedError (DOM Exception 9): The operation is not supported. Reached unreachable code
    18 FAIL Success: generateKey({name: ECDSA, namedCurve: P-521}, false, [sign, verify, sign, sign, verify]) assert_unreached: Threw an unexpected error: NotSupportedError (DOM Exception 9): The operation is not supported. Reached unreachable code
    19 FAIL Success: generateKey({name: ECDSA, namedCurve: P-521}, true, [sign, verify, sign, sign, verify]) assert_unreached: Threw an unexpected error: NotSupportedError (DOM Exception 9): The operation is not supported. Reached unreachable code
    20 FAIL Success: generateKey({name: ecdsa, namedCurve: P-256}, false, [sign]) assert_unreached: Threw an unexpected error: NotSupportedError (DOM Exception 9): The operation is not supported. Reached unreachable code
    21 FAIL Success: generateKey({name: ecdsa, namedCurve: P-256}, true, [sign]) assert_unreached: Threw an unexpected error: NotSupportedError (DOM Exception 9): The operation is not supported. Reached unreachable code
    22 FAIL Success: generateKey({name: ecdsa, namedCurve: P-256}, false, [verify, sign]) assert_unreached: Threw an unexpected error: NotSupportedError (DOM Exception 9): The operation is not supported. Reached unreachable code
    23 FAIL Success: generateKey({name: ecdsa, namedCurve: P-256}, true, [verify, sign]) assert_unreached: Threw an unexpected error: NotSupportedError (DOM Exception 9): The operation is not supported. Reached unreachable code
    24 FAIL Success: generateKey({name: ecdsa, namedCurve: P-256}, false, [sign, verify, sign, sign, verify]) assert_unreached: Threw an unexpected error: NotSupportedError (DOM Exception 9): The operation is not supported. Reached unreachable code
    25 FAIL Success: generateKey({name: ecdsa, namedCurve: P-256}, true, [sign, verify, sign, sign, verify]) assert_unreached: Threw an unexpected error: NotSupportedError (DOM Exception 9): The operation is not supported. Reached unreachable code
    26 FAIL Success: generateKey({name: ecdsa, namedCurve: P-384}, false, [sign]) assert_unreached: Threw an unexpected error: NotSupportedError (DOM Exception 9): The operation is not supported. Reached unreachable code
    27 FAIL Success: generateKey({name: ecdsa, namedCurve: P-384}, true, [sign]) assert_unreached: Threw an unexpected error: NotSupportedError (DOM Exception 9): The operation is not supported. Reached unreachable code
    28 FAIL Success: generateKey({name: ecdsa, namedCurve: P-384}, false, [verify, sign]) assert_unreached: Threw an unexpected error: NotSupportedError (DOM Exception 9): The operation is not supported. Reached unreachable code
    29 FAIL Success: generateKey({name: ecdsa, namedCurve: P-384}, true, [verify, sign]) assert_unreached: Threw an unexpected error: NotSupportedError (DOM Exception 9): The operation is not supported. Reached unreachable code
    30 FAIL Success: generateKey({name: ecdsa, namedCurve: P-384}, false, [sign, verify, sign, sign, verify]) assert_unreached: Threw an unexpected error: NotSupportedError (DOM Exception 9): The operation is not supported. Reached unreachable code
    31 FAIL Success: generateKey({name: ecdsa, namedCurve: P-384}, true, [sign, verify, sign, sign, verify]) assert_unreached: Threw an unexpected error: NotSupportedError (DOM Exception 9): The operation is not supported. Reached unreachable code
    32 FAIL Success: generateKey({name: ecdsa, namedCurve: P-521}, false, [sign]) assert_unreached: Threw an unexpected error: NotSupportedError (DOM Exception 9): The operation is not supported. Reached unreachable code
    33 FAIL Success: generateKey({name: ecdsa, namedCurve: P-521}, true, [sign]) assert_unreached: Threw an unexpected error: NotSupportedError (DOM Exception 9): The operation is not supported. Reached unreachable code
    34 FAIL Success: generateKey({name: ecdsa, namedCurve: P-521}, false, [verify, sign]) assert_unreached: Threw an unexpected error: NotSupportedError (DOM Exception 9): The operation is not supported. Reached unreachable code
    35 FAIL Success: generateKey({name: ecdsa, namedCurve: P-521}, true, [verify, sign]) assert_unreached: Threw an unexpected error: NotSupportedError (DOM Exception 9): The operation is not supported. Reached unreachable code
    36 FAIL Success: generateKey({name: ecdsa, namedCurve: P-521}, false, [sign, verify, sign, sign, verify]) assert_unreached: Threw an unexpected error: NotSupportedError (DOM Exception 9): The operation is not supported. Reached unreachable code
    37 FAIL Success: generateKey({name: ecdsa, namedCurve: P-521}, true, [sign, verify, sign, sign, verify]) assert_unreached: Threw an unexpected error: NotSupportedError (DOM Exception 9): The operation is not supported. Reached unreachable code
    38 FAIL Success: generateKey({name: Ecdsa, namedCurve: P-256}, false, [sign]) assert_unreached: Threw an unexpected error: NotSupportedError (DOM Exception 9): The operation is not supported. Reached unreachable code
    39 FAIL Success: generateKey({name: Ecdsa, namedCurve: P-256}, true, [sign]) assert_unreached: Threw an unexpected error: NotSupportedError (DOM Exception 9): The operation is not supported. Reached unreachable code
    40 FAIL Success: generateKey({name: Ecdsa, namedCurve: P-256}, false, [verify, sign]) assert_unreached: Threw an unexpected error: NotSupportedError (DOM Exception 9): The operation is not supported. Reached unreachable code
    41 FAIL Success: generateKey({name: Ecdsa, namedCurve: P-256}, true, [verify, sign]) assert_unreached: Threw an unexpected error: NotSupportedError (DOM Exception 9): The operation is not supported. Reached unreachable code
    42 FAIL Success: generateKey({name: Ecdsa, namedCurve: P-256}, false, [sign, verify, sign, sign, verify]) assert_unreached: Threw an unexpected error: NotSupportedError (DOM Exception 9): The operation is not supported. Reached unreachable code
    43 FAIL Success: generateKey({name: Ecdsa, namedCurve: P-256}, true, [sign, verify, sign, sign, verify]) assert_unreached: Threw an unexpected error: NotSupportedError (DOM Exception 9): The operation is not supported. Reached unreachable code
    44 FAIL Success: generateKey({name: Ecdsa, namedCurve: P-384}, false, [sign]) assert_unreached: Threw an unexpected error: NotSupportedError (DOM Exception 9): The operation is not supported. Reached unreachable code
    45 FAIL Success: generateKey({name: Ecdsa, namedCurve: P-384}, true, [sign]) assert_unreached: Threw an unexpected error: NotSupportedError (DOM Exception 9): The operation is not supported. Reached unreachable code
    46 FAIL Success: generateKey({name: Ecdsa, namedCurve: P-384}, false, [verify, sign]) assert_unreached: Threw an unexpected error: NotSupportedError (DOM Exception 9): The operation is not supported. Reached unreachable code
    47 FAIL Success: generateKey({name: Ecdsa, namedCurve: P-384}, true, [verify, sign]) assert_unreached: Threw an unexpected error: NotSupportedError (DOM Exception 9): The operation is not supported. Reached unreachable code
    48 FAIL Success: generateKey({name: Ecdsa, namedCurve: P-384}, false, [sign, verify, sign, sign, verify]) assert_unreached: Threw an unexpected error: NotSupportedError (DOM Exception 9): The operation is not supported. Reached unreachable code
    49 FAIL Success: generateKey({name: Ecdsa, namedCurve: P-384}, true, [sign, verify, sign, sign, verify]) assert_unreached: Threw an unexpected error: NotSupportedError (DOM Exception 9): The operation is not supported. Reached unreachable code
    50 FAIL Success: generateKey({name: Ecdsa, namedCurve: P-521}, false, [sign]) assert_unreached: Threw an unexpected error: NotSupportedError (DOM Exception 9): The operation is not supported. Reached unreachable code
    51 FAIL Success: generateKey({name: Ecdsa, namedCurve: P-521}, true, [sign]) assert_unreached: Threw an unexpected error: NotSupportedError (DOM Exception 9): The operation is not supported. Reached unreachable code
    52 FAIL Success: generateKey({name: Ecdsa, namedCurve: P-521}, false, [verify, sign]) assert_unreached: Threw an unexpected error: NotSupportedError (DOM Exception 9): The operation is not supported. Reached unreachable code
    53 FAIL Success: generateKey({name: Ecdsa, namedCurve: P-521}, true, [verify, sign]) assert_unreached: Threw an unexpected error: NotSupportedError (DOM Exception 9): The operation is not supported. Reached unreachable code
    54 FAIL Success: generateKey({name: Ecdsa, namedCurve: P-521}, false, [sign, verify, sign, sign, verify]) assert_unreached: Threw an unexpected error: NotSupportedError (DOM Exception 9): The operation is not supported. Reached unreachable code
    55 FAIL Success: generateKey({name: Ecdsa, namedCurve: P-521}, true, [sign, verify, sign, sign, verify]) assert_unreached: Threw an unexpected error: NotSupportedError (DOM Exception 9): The operation is not supported. Reached unreachable code
     2PASS Success: generateKey({name: ECDSA, namedCurve: P-256}, false, [sign])
     3PASS Success: generateKey({name: ECDSA, namedCurve: P-256}, true, [sign])
     4PASS Success: generateKey({name: ECDSA, namedCurve: P-256}, false, [verify, sign])
     5PASS Success: generateKey({name: ECDSA, namedCurve: P-256}, true, [verify, sign])
     6PASS Success: generateKey({name: ECDSA, namedCurve: P-256}, false, [sign, verify, sign, sign, verify])
     7PASS Success: generateKey({name: ECDSA, namedCurve: P-256}, true, [sign, verify, sign, sign, verify])
     8PASS Success: generateKey({name: ECDSA, namedCurve: P-384}, false, [sign])
     9PASS Success: generateKey({name: ECDSA, namedCurve: P-384}, true, [sign])
     10PASS Success: generateKey({name: ECDSA, namedCurve: P-384}, false, [verify, sign])
     11PASS Success: generateKey({name: ECDSA, namedCurve: P-384}, true, [verify, sign])
     12PASS Success: generateKey({name: ECDSA, namedCurve: P-384}, false, [sign, verify, sign, sign, verify])
     13PASS Success: generateKey({name: ECDSA, namedCurve: P-384}, true, [sign, verify, sign, sign, verify])
     14FAIL Success: generateKey({name: ECDSA, namedCurve: P-521}, false, [sign]) assert_unreached: Threw an unexpected error: NotSupportedError (DOM Exception 9): The algorithm is not supported Reached unreachable code
     15FAIL Success: generateKey({name: ECDSA, namedCurve: P-521}, true, [sign]) assert_unreached: Threw an unexpected error: NotSupportedError (DOM Exception 9): The algorithm is not supported Reached unreachable code
     16FAIL Success: generateKey({name: ECDSA, namedCurve: P-521}, false, [verify, sign]) assert_unreached: Threw an unexpected error: NotSupportedError (DOM Exception 9): The algorithm is not supported Reached unreachable code
     17FAIL Success: generateKey({name: ECDSA, namedCurve: P-521}, true, [verify, sign]) assert_unreached: Threw an unexpected error: NotSupportedError (DOM Exception 9): The algorithm is not supported Reached unreachable code
     18FAIL Success: generateKey({name: ECDSA, namedCurve: P-521}, false, [sign, verify, sign, sign, verify]) assert_unreached: Threw an unexpected error: NotSupportedError (DOM Exception 9): The algorithm is not supported Reached unreachable code
     19FAIL Success: generateKey({name: ECDSA, namedCurve: P-521}, true, [sign, verify, sign, sign, verify]) assert_unreached: Threw an unexpected error: NotSupportedError (DOM Exception 9): The algorithm is not supported Reached unreachable code
     20PASS Success: generateKey({name: ecdsa, namedCurve: P-256}, false, [sign])
     21PASS Success: generateKey({name: ecdsa, namedCurve: P-256}, true, [sign])
     22PASS Success: generateKey({name: ecdsa, namedCurve: P-256}, false, [verify, sign])
     23PASS Success: generateKey({name: ecdsa, namedCurve: P-256}, true, [verify, sign])
     24PASS Success: generateKey({name: ecdsa, namedCurve: P-256}, false, [sign, verify, sign, sign, verify])
     25PASS Success: generateKey({name: ecdsa, namedCurve: P-256}, true, [sign, verify, sign, sign, verify])
     26PASS Success: generateKey({name: ecdsa, namedCurve: P-384}, false, [sign])
     27PASS Success: generateKey({name: ecdsa, namedCurve: P-384}, true, [sign])
     28PASS Success: generateKey({name: ecdsa, namedCurve: P-384}, false, [verify, sign])
     29PASS Success: generateKey({name: ecdsa, namedCurve: P-384}, true, [verify, sign])
     30PASS Success: generateKey({name: ecdsa, namedCurve: P-384}, false, [sign, verify, sign, sign, verify])
     31PASS Success: generateKey({name: ecdsa, namedCurve: P-384}, true, [sign, verify, sign, sign, verify])
     32FAIL Success: generateKey({name: ecdsa, namedCurve: P-521}, false, [sign]) assert_unreached: Threw an unexpected error: NotSupportedError (DOM Exception 9): The algorithm is not supported Reached unreachable code
     33FAIL Success: generateKey({name: ecdsa, namedCurve: P-521}, true, [sign]) assert_unreached: Threw an unexpected error: NotSupportedError (DOM Exception 9): The algorithm is not supported Reached unreachable code
     34FAIL Success: generateKey({name: ecdsa, namedCurve: P-521}, false, [verify, sign]) assert_unreached: Threw an unexpected error: NotSupportedError (DOM Exception 9): The algorithm is not supported Reached unreachable code
     35FAIL Success: generateKey({name: ecdsa, namedCurve: P-521}, true, [verify, sign]) assert_unreached: Threw an unexpected error: NotSupportedError (DOM Exception 9): The algorithm is not supported Reached unreachable code
     36FAIL Success: generateKey({name: ecdsa, namedCurve: P-521}, false, [sign, verify, sign, sign, verify]) assert_unreached: Threw an unexpected error: NotSupportedError (DOM Exception 9): The algorithm is not supported Reached unreachable code
     37FAIL Success: generateKey({name: ecdsa, namedCurve: P-521}, true, [sign, verify, sign, sign, verify]) assert_unreached: Threw an unexpected error: NotSupportedError (DOM Exception 9): The algorithm is not supported Reached unreachable code
     38PASS Success: generateKey({name: Ecdsa, namedCurve: P-256}, false, [sign])
     39PASS Success: generateKey({name: Ecdsa, namedCurve: P-256}, true, [sign])
     40PASS Success: generateKey({name: Ecdsa, namedCurve: P-256}, false, [verify, sign])
     41PASS Success: generateKey({name: Ecdsa, namedCurve: P-256}, true, [verify, sign])
     42PASS Success: generateKey({name: Ecdsa, namedCurve: P-256}, false, [sign, verify, sign, sign, verify])
     43PASS Success: generateKey({name: Ecdsa, namedCurve: P-256}, true, [sign, verify, sign, sign, verify])
     44PASS Success: generateKey({name: Ecdsa, namedCurve: P-384}, false, [sign])
     45PASS Success: generateKey({name: Ecdsa, namedCurve: P-384}, true, [sign])
     46PASS Success: generateKey({name: Ecdsa, namedCurve: P-384}, false, [verify, sign])
     47PASS Success: generateKey({name: Ecdsa, namedCurve: P-384}, true, [verify, sign])
     48PASS Success: generateKey({name: Ecdsa, namedCurve: P-384}, false, [sign, verify, sign, sign, verify])
     49PASS Success: generateKey({name: Ecdsa, namedCurve: P-384}, true, [sign, verify, sign, sign, verify])
     50FAIL Success: generateKey({name: Ecdsa, namedCurve: P-521}, false, [sign]) assert_unreached: Threw an unexpected error: NotSupportedError (DOM Exception 9): The algorithm is not supported Reached unreachable code
     51FAIL Success: generateKey({name: Ecdsa, namedCurve: P-521}, true, [sign]) assert_unreached: Threw an unexpected error: NotSupportedError (DOM Exception 9): The algorithm is not supported Reached unreachable code
     52FAIL Success: generateKey({name: Ecdsa, namedCurve: P-521}, false, [verify, sign]) assert_unreached: Threw an unexpected error: NotSupportedError (DOM Exception 9): The algorithm is not supported Reached unreachable code
     53FAIL Success: generateKey({name: Ecdsa, namedCurve: P-521}, true, [verify, sign]) assert_unreached: Threw an unexpected error: NotSupportedError (DOM Exception 9): The algorithm is not supported Reached unreachable code
     54FAIL Success: generateKey({name: Ecdsa, namedCurve: P-521}, false, [sign, verify, sign, sign, verify]) assert_unreached: Threw an unexpected error: NotSupportedError (DOM Exception 9): The algorithm is not supported Reached unreachable code
     55FAIL Success: generateKey({name: Ecdsa, namedCurve: P-521}, true, [sign, verify, sign, sign, verify]) assert_unreached: Threw an unexpected error: NotSupportedError (DOM Exception 9): The algorithm is not supported Reached unreachable code
    5656
  • trunk/LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/test_failures_ECDSA-expected.txt

    r212124 r215423  
    326326PASS Bad algorithm: generateKey({name: EC, namedCurve: P521}, RED, [decrypt, sign, deriveBits, decrypt, sign, deriveBits])
    327327PASS Bad algorithm: generateKey({name: EC, namedCurve: P521}, 7, [decrypt, sign, deriveBits, decrypt, sign, deriveBits])
    328 FAIL Bad usages: generateKey({name: ECDSA, namedCurve: P-256}, true, [encrypt]) assert_equals: Bad usages not supported expected "SyntaxError" but got "NotSupportedError"
    329 FAIL Bad usages: generateKey({name: ECDSA, namedCurve: P-256}, true, [sign, encrypt]) assert_equals: Bad usages not supported expected "SyntaxError" but got "NotSupportedError"
    330 FAIL Bad usages: generateKey({name: ECDSA, namedCurve: P-256}, true, [verify, sign, encrypt]) assert_equals: Bad usages not supported expected "SyntaxError" but got "NotSupportedError"
    331 FAIL Bad usages: generateKey({name: ECDSA, namedCurve: P-256}, true, [sign, verify, sign, sign, verify, encrypt]) assert_equals: Bad usages not supported expected "SyntaxError" but got "NotSupportedError"
    332 FAIL Bad usages: generateKey({name: ECDSA, namedCurve: P-256}, true, [decrypt]) assert_equals: Bad usages not supported expected "SyntaxError" but got "NotSupportedError"
    333 FAIL Bad usages: generateKey({name: ECDSA, namedCurve: P-256}, true, [sign, decrypt]) assert_equals: Bad usages not supported expected "SyntaxError" but got "NotSupportedError"
    334 FAIL Bad usages: generateKey({name: ECDSA, namedCurve: P-256}, true, [verify, sign, decrypt]) assert_equals: Bad usages not supported expected "SyntaxError" but got "NotSupportedError"
    335 FAIL Bad usages: generateKey({name: ECDSA, namedCurve: P-256}, true, [sign, verify, sign, sign, verify, decrypt]) assert_equals: Bad usages not supported expected "SyntaxError" but got "NotSupportedError"
    336 FAIL Bad usages: generateKey({name: ECDSA, namedCurve: P-256}, true, [wrapKey]) assert_equals: Bad usages not supported expected "SyntaxError" but got "NotSupportedError"
    337 FAIL Bad usages: generateKey({name: ECDSA, namedCurve: P-256}, true, [sign, wrapKey]) assert_equals: Bad usages not supported expected "SyntaxError" but got "NotSupportedError"
    338 FAIL Bad usages: generateKey({name: ECDSA, namedCurve: P-256}, true, [verify, sign, wrapKey]) assert_equals: Bad usages not supported expected "SyntaxError" but got "NotSupportedError"
    339 FAIL Bad usages: generateKey({name: ECDSA, namedCurve: P-256}, true, [sign, verify, sign, sign, verify, wrapKey]) assert_equals: Bad usages not supported expected "SyntaxError" but got "NotSupportedError"
    340 FAIL Bad usages: generateKey({name: ECDSA, namedCurve: P-256}, true, [unwrapKey]) assert_equals: Bad usages not supported expected "SyntaxError" but got "NotSupportedError"
    341 FAIL Bad usages: generateKey({name: ECDSA, namedCurve: P-256}, true, [sign, unwrapKey]) assert_equals: Bad usages not supported expected "SyntaxError" but got "NotSupportedError"
    342 FAIL Bad usages: generateKey({name: ECDSA, namedCurve: P-256}, true, [verify, sign, unwrapKey]) assert_equals: Bad usages not supported expected "SyntaxError" but got "NotSupportedError"
    343 FAIL Bad usages: generateKey({name: ECDSA, namedCurve: P-256}, true, [sign, verify, sign, sign, verify, unwrapKey]) assert_equals: Bad usages not supported expected "SyntaxError" but got "NotSupportedError"
    344 FAIL Bad usages: generateKey({name: ECDSA, namedCurve: P-256}, true, [deriveKey]) assert_equals: Bad usages not supported expected "SyntaxError" but got "NotSupportedError"
    345 FAIL Bad usages: generateKey({name: ECDSA, namedCurve: P-256}, true, [sign, deriveKey]) assert_equals: Bad usages not supported expected "SyntaxError" but got "NotSupportedError"
    346 FAIL Bad usages: generateKey({name: ECDSA, namedCurve: P-256}, true, [verify, sign, deriveKey]) assert_equals: Bad usages not supported expected "SyntaxError" but got "NotSupportedError"
    347 FAIL Bad usages: generateKey({name: ECDSA, namedCurve: P-256}, true, [sign, verify, sign, sign, verify, deriveKey]) assert_equals: Bad usages not supported expected "SyntaxError" but got "NotSupportedError"
    348 FAIL Bad usages: generateKey({name: ECDSA, namedCurve: P-256}, true, [deriveBits]) assert_equals: Bad usages not supported expected "SyntaxError" but got "NotSupportedError"
    349 FAIL Bad usages: generateKey({name: ECDSA, namedCurve: P-256}, true, [sign, deriveBits]) assert_equals: Bad usages not supported expected "SyntaxError" but got "NotSupportedError"
    350 FAIL Bad usages: generateKey({name: ECDSA, namedCurve: P-256}, true, [verify, sign, deriveBits]) assert_equals: Bad usages not supported expected "SyntaxError" but got "NotSupportedError"
    351 FAIL Bad usages: generateKey({name: ECDSA, namedCurve: P-256}, true, [sign, verify, sign, sign, verify, deriveBits]) assert_equals: Bad usages not supported expected "SyntaxError" but got "NotSupportedError"
    352 FAIL Bad usages: generateKey({name: ECDSA, namedCurve: P-384}, true, [encrypt]) assert_equals: Bad usages not supported expected "SyntaxError" but got "NotSupportedError"
    353 FAIL Bad usages: generateKey({name: ECDSA, namedCurve: P-384}, true, [sign, encrypt]) assert_equals: Bad usages not supported expected "SyntaxError" but got "NotSupportedError"
    354 FAIL Bad usages: generateKey({name: ECDSA, namedCurve: P-384}, true, [verify, sign, encrypt]) assert_equals: Bad usages not supported expected "SyntaxError" but got "NotSupportedError"
    355 FAIL Bad usages: generateKey({name: ECDSA, namedCurve: P-384}, true, [sign, verify, sign, sign, verify, encrypt]) assert_equals: Bad usages not supported expected "SyntaxError" but got "NotSupportedError"
    356 FAIL Bad usages: generateKey({name: ECDSA, namedCurve: P-384}, true, [decrypt]) assert_equals: Bad usages not supported expected "SyntaxError" but got "NotSupportedError"
    357 FAIL Bad usages: generateKey({name: ECDSA, namedCurve: P-384}, true, [sign, decrypt]) assert_equals: Bad usages not supported expected "SyntaxError" but got "NotSupportedError"
    358 FAIL Bad usages: generateKey({name: ECDSA, namedCurve: P-384}, true, [verify, sign, decrypt]) assert_equals: Bad usages not supported expected "SyntaxError" but got "NotSupportedError"
    359 FAIL Bad usages: generateKey({name: ECDSA, namedCurve: P-384}, true, [sign, verify, sign, sign, verify, decrypt]) assert_equals: Bad usages not supported expected "SyntaxError" but got "NotSupportedError"
    360 FAIL Bad usages: generateKey({name: ECDSA, namedCurve: P-384}, true, [wrapKey]) assert_equals: Bad usages not supported expected "SyntaxError" but got "NotSupportedError"
    361 FAIL Bad usages: generateKey({name: ECDSA, namedCurve: P-384}, true, [sign, wrapKey]) assert_equals: Bad usages not supported expected "SyntaxError" but got "NotSupportedError"
    362 FAIL Bad usages: generateKey({name: ECDSA, namedCurve: P-384}, true, [verify, sign, wrapKey]) assert_equals: Bad usages not supported expected "SyntaxError" but got "NotSupportedError"
    363 FAIL Bad usages: generateKey({name: ECDSA, namedCurve: P-384}, true, [sign, verify, sign, sign, verify, wrapKey]) assert_equals: Bad usages not supported expected "SyntaxError" but got "NotSupportedError"
    364 FAIL Bad usages: generateKey({name: ECDSA, namedCurve: P-384}, true, [unwrapKey]) assert_equals: Bad usages not supported expected "SyntaxError" but got "NotSupportedError"
    365 FAIL Bad usages: generateKey({name: ECDSA, namedCurve: P-384}, true, [sign, unwrapKey]) assert_equals: Bad usages not supported expected "SyntaxError" but got "NotSupportedError"
    366 FAIL Bad usages: generateKey({name: ECDSA, namedCurve: P-384}, true, [verify, sign, unwrapKey]) assert_equals: Bad usages not supported expected "SyntaxError" but got "NotSupportedError"
    367 FAIL Bad usages: generateKey({name: ECDSA, namedCurve: P-384}, true, [sign, verify, sign, sign, verify, unwrapKey]) assert_equals: Bad usages not supported expected "SyntaxError" but got "NotSupportedError"
    368 FAIL Bad usages: generateKey({name: ECDSA, namedCurve: P-384}, true, [deriveKey]) assert_equals: Bad usages not supported expected "SyntaxError" but got "NotSupportedError"
    369 FAIL Bad usages: generateKey({name: ECDSA, namedCurve: P-384}, true, [sign, deriveKey]) assert_equals: Bad usages not supported expected "SyntaxError" but got "NotSupportedError"
    370 FAIL Bad usages: generateKey({name: ECDSA, namedCurve: P-384}, true, [verify, sign, deriveKey]) assert_equals: Bad usages not supported expected "SyntaxError" but got "NotSupportedError"
    371 FAIL Bad usages: generateKey({name: ECDSA, namedCurve: P-384}, true, [sign, verify, sign, sign, verify, deriveKey]) assert_equals: Bad usages not supported expected "SyntaxError" but got "NotSupportedError"
    372 FAIL Bad usages: generateKey({name: ECDSA, namedCurve: P-384}, true, [deriveBits]) assert_equals: Bad usages not supported expected "SyntaxError" but got "NotSupportedError"
    373 FAIL Bad usages: generateKey({name: ECDSA, namedCurve: P-384}, true, [sign, deriveBits]) assert_equals: Bad usages not supported expected "SyntaxError" but got "NotSupportedError"
    374 FAIL Bad usages: generateKey({name: ECDSA, namedCurve: P-384}, true, [verify, sign, deriveBits]) assert_equals: Bad usages not supported expected "SyntaxError" but got "NotSupportedError"
    375 FAIL Bad usages: generateKey({name: ECDSA, namedCurve: P-384}, true, [sign, verify, sign, sign, verify, deriveBits]) assert_equals: Bad usages not supported expected "SyntaxError" but got "NotSupportedError"
    376 FAIL Bad usages: generateKey({name: ECDSA, namedCurve: P-521}, true, [encrypt]) assert_equals: Bad usages not supported expected "SyntaxError" but got "NotSupportedError"
    377 FAIL Bad usages: generateKey({name: ECDSA, namedCurve: P-521}, true, [sign, encrypt]) assert_equals: Bad usages not supported expected "SyntaxError" but got "NotSupportedError"
    378 FAIL Bad usages: generateKey({name: ECDSA, namedCurve: P-521}, true, [verify, sign, encrypt]) assert_equals: Bad usages not supported expected "SyntaxError" but got "NotSupportedError"
    379 FAIL Bad usages: generateKey({name: ECDSA, namedCurve: P-521}, true, [sign, verify, sign, sign, verify, encrypt]) assert_equals: Bad usages not supported expected "SyntaxError" but got "NotSupportedError"
    380 FAIL Bad usages: generateKey({name: ECDSA, namedCurve: P-521}, true, [decrypt]) assert_equals: Bad usages not supported expected "SyntaxError" but got "NotSupportedError"
    381 FAIL Bad usages: generateKey({name: ECDSA, namedCurve: P-521}, true, [sign, decrypt]) assert_equals: Bad usages not supported expected "SyntaxError" but got "NotSupportedError"
    382 FAIL Bad usages: generateKey({name: ECDSA, namedCurve: P-521}, true, [verify, sign, decrypt]) assert_equals: Bad usages not supported expected "SyntaxError" but got "NotSupportedError"
    383 FAIL Bad usages: generateKey({name: ECDSA, namedCurve: P-521}, true, [sign, verify, sign, sign, verify, decrypt]) assert_equals: Bad usages not supported expected "SyntaxError" but got "NotSupportedError"
    384 FAIL Bad usages: generateKey({name: ECDSA, namedCurve: P-521}, true, [wrapKey]) assert_equals: Bad usages not supported expected "SyntaxError" but got "NotSupportedError"
    385 FAIL Bad usages: generateKey({name: ECDSA, namedCurve: P-521}, true, [sign, wrapKey]) assert_equals: Bad usages not supported expected "SyntaxError" but got "NotSupportedError"
    386 FAIL Bad usages: generateKey({name: ECDSA, namedCurve: P-521}, true, [verify, sign, wrapKey]) assert_equals: Bad usages not supported expected "SyntaxError" but got "NotSupportedError"
    387 FAIL Bad usages: generateKey({name: ECDSA, namedCurve: P-521}, true, [sign, verify, sign, sign, verify, wrapKey]) assert_equals: Bad usages not supported expected "SyntaxError" but got "NotSupportedError"
    388 FAIL Bad usages: generateKey({name: ECDSA, namedCurve: P-521}, true, [unwrapKey]) assert_equals: Bad usages not supported expected "SyntaxError" but got "NotSupportedError"
    389 FAIL Bad usages: generateKey({name: ECDSA, namedCurve: P-521}, true, [sign, unwrapKey]) assert_equals: Bad usages not supported expected "SyntaxError" but got "NotSupportedError"
    390 FAIL Bad usages: generateKey({name: ECDSA, namedCurve: P-521}, true, [verify, sign, unwrapKey]) assert_equals: Bad usages not supported expected "SyntaxError" but got "NotSupportedError"
    391 FAIL Bad usages: generateKey({name: ECDSA, namedCurve: P-521}, true, [sign, verify, sign, sign, verify, unwrapKey]) assert_equals: Bad usages not supported expected "SyntaxError" but got "NotSupportedError"
    392 FAIL Bad usages: generateKey({name: ECDSA, namedCurve: P-521}, true, [deriveKey]) assert_equals: Bad usages not supported expected "SyntaxError" but got "NotSupportedError"
    393 FAIL Bad usages: generateKey({name: ECDSA, namedCurve: P-521}, true, [sign, deriveKey]) assert_equals: Bad usages not supported expected "SyntaxError" but got "NotSupportedError"
    394 FAIL Bad usages: generateKey({name: ECDSA, namedCurve: P-521}, true, [verify, sign, deriveKey]) assert_equals: Bad usages not supported expected "SyntaxError" but got "NotSupportedError"
    395 FAIL Bad usages: generateKey({name: ECDSA, namedCurve: P-521}, true, [sign, verify, sign, sign, verify, deriveKey]) assert_equals: Bad usages not supported expected "SyntaxError" but got "NotSupportedError"
    396 FAIL Bad usages: generateKey({name: ECDSA, namedCurve: P-521}, true, [deriveBits]) assert_equals: Bad usages not supported expected "SyntaxError" but got "NotSupportedError"
    397 FAIL Bad usages: generateKey({name: ECDSA, namedCurve: P-521}, true, [sign, deriveBits]) assert_equals: Bad usages not supported expected "SyntaxError" but got "NotSupportedError"
    398 FAIL Bad usages: generateKey({name: ECDSA, namedCurve: P-521}, true, [verify, sign, deriveBits]) assert_equals: Bad usages not supported expected "SyntaxError" but got "NotSupportedError"
    399 FAIL Bad usages: generateKey({name: ECDSA, namedCurve: P-521}, true, [sign, verify, sign, sign, verify, deriveBits]) assert_equals: Bad usages not supported expected "SyntaxError" but got "NotSupportedError"
     328PASS Bad usages: generateKey({name: ECDSA, namedCurve: P-256}, true, [encrypt])
     329PASS Bad usages: generateKey({name: ECDSA, namedCurve: P-256}, true, [sign, encrypt])
     330PASS Bad usages: generateKey({name: ECDSA, namedCurve: P-256}, true, [verify, sign, encrypt])
     331PASS Bad usages: generateKey({name: ECDSA, namedCurve: P-256}, true, [sign, verify, sign, sign, verify, encrypt])
     332PASS Bad usages: generateKey({name: ECDSA, namedCurve: P-256}, true, [decrypt])
     333PASS Bad usages: generateKey({name: ECDSA, namedCurve: P-256}, true, [sign, decrypt])
     334PASS Bad usages: generateKey({name: ECDSA, namedCurve: P-256}, true, [verify, sign, decrypt])
     335PASS Bad usages: generateKey({name: ECDSA, namedCurve: P-256}, true, [sign, verify, sign, sign, verify, decrypt])
     336PASS Bad usages: generateKey({name: ECDSA, namedCurve: P-256}, true, [wrapKey])
     337PASS Bad usages: generateKey({name: ECDSA, namedCurve: P-256}, true, [sign, wrapKey])
     338PASS Bad usages: generateKey({name: ECDSA, namedCurve: P-256}, true, [verify, sign, wrapKey])
     339PASS Bad usages: generateKey({name: ECDSA, namedCurve: P-256}, true, [sign, verify, sign, sign, verify, wrapKey])
     340PASS Bad usages: generateKey({name: ECDSA, namedCurve: P-256}, true, [unwrapKey])
     341PASS Bad usages: generateKey({name: ECDSA, namedCurve: P-256}, true, [sign, unwrapKey])
     342PASS Bad usages: generateKey({name: ECDSA, namedCurve: P-256}, true, [verify, sign, unwrapKey])
     343PASS Bad usages: generateKey({name: ECDSA, namedCurve: P-256}, true, [sign, verify, sign, sign, verify, unwrapKey])
     344PASS Bad usages: generateKey({name: ECDSA, namedCurve: P-256}, true, [deriveKey])
     345PASS Bad usages: generateKey({name: ECDSA, namedCurve: P-256}, true, [sign, deriveKey])
     346PASS Bad usages: generateKey({name: ECDSA, namedCurve: P-256}, true, [verify, sign, deriveKey])
     347PASS Bad usages: generateKey({name: ECDSA, namedCurve: P-256}, true, [sign, verify, sign, sign, verify, deriveKey])
     348PASS Bad usages: generateKey({name: ECDSA, namedCurve: P-256}, true, [deriveBits])
     349PASS Bad usages: generateKey({name: ECDSA, namedCurve: P-256}, true, [sign, deriveBits])
     350PASS Bad usages: generateKey({name: ECDSA, namedCurve: P-256}, true, [verify, sign, deriveBits])
     351PASS Bad usages: generateKey({name: ECDSA, namedCurve: P-256}, true, [sign, verify, sign, sign, verify, deriveBits])
     352PASS Bad usages: generateKey({name: ECDSA, namedCurve: P-384}, true, [encrypt])
     353PASS Bad usages: generateKey({name: ECDSA, namedCurve: P-384}, true, [sign, encrypt])
     354PASS Bad usages: generateKey({name: ECDSA, namedCurve: P-384}, true, [verify, sign, encrypt])
     355PASS Bad usages: generateKey({name: ECDSA, namedCurve: P-384}, true, [sign, verify, sign, sign, verify, encrypt])
     356PASS Bad usages: generateKey({name: ECDSA, namedCurve: P-384}, true, [decrypt])
     357PASS Bad usages: generateKey({name: ECDSA, namedCurve: P-384}, true, [sign, decrypt])
     358PASS Bad usages: generateKey({name: ECDSA, namedCurve: P-384}, true, [verify, sign, decrypt])
     359PASS Bad usages: generateKey({name: ECDSA, namedCurve: P-384}, true, [sign, verify, sign, sign, verify, decrypt])
     360PASS Bad usages: generateKey({name: ECDSA, namedCurve: P-384}, true, [wrapKey])
     361PASS Bad usages: generateKey({name: ECDSA, namedCurve: P-384}, true, [sign, wrapKey])
     362PASS Bad usages: generateKey({name: ECDSA, namedCurve: P-384}, true, [verify, sign, wrapKey])
     363PASS Bad usages: generateKey({name: ECDSA, namedCurve: P-384}, true, [sign, verify, sign, sign, verify, wrapKey])
     364PASS Bad usages: generateKey({name: ECDSA, namedCurve: P-384}, true, [unwrapKey])
     365PASS Bad usages: generateKey({name: ECDSA, namedCurve: P-384}, true, [sign, unwrapKey])
     366PASS Bad usages: generateKey({name: ECDSA, namedCurve: P-384}, true, [verify, sign, unwrapKey])
     367PASS Bad usages: generateKey({name: ECDSA, namedCurve: P-384}, true, [sign, verify, sign, sign, verify, unwrapKey])
     368PASS Bad usages: generateKey({name: ECDSA, namedCurve: P-384}, true, [deriveKey])
     369PASS Bad usages: generateKey({name: ECDSA, namedCurve: P-384}, true, [sign, deriveKey])
     370PASS Bad usages: generateKey({name: ECDSA, namedCurve: P-384}, true, [verify, sign, deriveKey])
     371PASS Bad usages: generateKey({name: ECDSA, namedCurve: P-384}, true, [sign, verify, sign, sign, verify, deriveKey])
     372PASS Bad usages: generateKey({name: ECDSA, namedCurve: P-384}, true, [deriveBits])
     373PASS Bad usages: generateKey({name: ECDSA, namedCurve: P-384}, true, [sign, deriveBits])
     374PASS Bad usages: generateKey({name: ECDSA, namedCurve: P-384}, true, [verify, sign, deriveBits])
     375PASS Bad usages: generateKey({name: ECDSA, namedCurve: P-384}, true, [sign, verify, sign, sign, verify, deriveBits])
     376PASS Bad usages: generateKey({name: ECDSA, namedCurve: P-521}, true, [encrypt])
     377PASS Bad usages: generateKey({name: ECDSA, namedCurve: P-521}, true, [sign, encrypt])
     378PASS Bad usages: generateKey({name: ECDSA, namedCurve: P-521}, true, [verify, sign, encrypt])
     379PASS Bad usages: generateKey({name: ECDSA, namedCurve: P-521}, true, [sign, verify, sign, sign, verify, encrypt])
     380PASS Bad usages: generateKey({name: ECDSA, namedCurve: P-521}, true, [decrypt])
     381PASS Bad usages: generateKey({name: ECDSA, namedCurve: P-521}, true, [sign, decrypt])
     382PASS Bad usages: generateKey({name: ECDSA, namedCurve: P-521}, true, [verify, sign, decrypt])
     383PASS Bad usages: generateKey({name: ECDSA, namedCurve: P-521}, true, [sign, verify, sign, sign, verify, decrypt])
     384PASS Bad usages: generateKey({name: ECDSA, namedCurve: P-521}, true, [wrapKey])
     385PASS Bad usages: generateKey({name: ECDSA, namedCurve: P-521}, true, [sign, wrapKey])
     386PASS Bad usages: generateKey({name: ECDSA, namedCurve: P-521}, true, [verify, sign, wrapKey])
     387PASS Bad usages: generateKey({name: ECDSA, namedCurve: P-521}, true, [sign, verify, sign, sign, verify, wrapKey])
     388PASS Bad usages: generateKey({name: ECDSA, namedCurve: P-521}, true, [unwrapKey])
     389PASS Bad usages: generateKey({name: ECDSA, namedCurve: P-521}, true, [sign, unwrapKey])
     390PASS Bad usages: generateKey({name: ECDSA, namedCurve: P-521}, true, [verify, sign, unwrapKey])
     391PASS Bad usages: generateKey({name: ECDSA, namedCurve: P-521}, true, [sign, verify, sign, sign, verify, unwrapKey])
     392PASS Bad usages: generateKey({name: ECDSA, namedCurve: P-521}, true, [deriveKey])
     393PASS Bad usages: generateKey({name: ECDSA, namedCurve: P-521}, true, [sign, deriveKey])
     394PASS Bad usages: generateKey({name: ECDSA, namedCurve: P-521}, true, [verify, sign, deriveKey])
     395PASS Bad usages: generateKey({name: ECDSA, namedCurve: P-521}, true, [sign, verify, sign, sign, verify, deriveKey])
     396PASS Bad usages: generateKey({name: ECDSA, namedCurve: P-521}, true, [deriveBits])
     397PASS Bad usages: generateKey({name: ECDSA, namedCurve: P-521}, true, [sign, deriveBits])
     398PASS Bad usages: generateKey({name: ECDSA, namedCurve: P-521}, true, [verify, sign, deriveBits])
     399PASS Bad usages: generateKey({name: ECDSA, namedCurve: P-521}, true, [sign, verify, sign, sign, verify, deriveBits])
    400400PASS Bad algorithm property: generateKey({name: ECDSA, namedCurve: P-512}, false, [sign])
    401401PASS Bad algorithm property: generateKey({name: ECDSA, namedCurve: P-512}, true, [sign])
     
    414414PASS Bad algorithm property: generateKey({name: ECDSA, namedCurve: Curve25519}, false, [sign, verify, sign, sign, verify])
    415415PASS Bad algorithm property: generateKey({name: ECDSA, namedCurve: Curve25519}, true, [sign, verify, sign, sign, verify])
    416 FAIL Empty usages: generateKey({name: ECDSA, namedCurve: P-256}, false, []) assert_equals: Empty usages not supported expected "SyntaxError" but got "NotSupportedError"
    417 FAIL Empty usages: generateKey({name: ECDSA, namedCurve: P-256}, true, []) assert_equals: Empty usages not supported expected "SyntaxError" but got "NotSupportedError"
    418 FAIL Empty usages: generateKey({name: ECDSA, namedCurve: P-384}, false, []) assert_equals: Empty usages not supported expected "SyntaxError" but got "NotSupportedError"
    419 FAIL Empty usages: generateKey({name: ECDSA, namedCurve: P-384}, true, []) assert_equals: Empty usages not supported expected "SyntaxError" but got "NotSupportedError"
     416PASS Empty usages: generateKey({name: ECDSA, namedCurve: P-256}, false, [])
     417PASS Empty usages: generateKey({name: ECDSA, namedCurve: P-256}, true, [])
     418PASS Empty usages: generateKey({name: ECDSA, namedCurve: P-384}, false, [])
     419PASS Empty usages: generateKey({name: ECDSA, namedCurve: P-384}, true, [])
    420420FAIL Empty usages: generateKey({name: ECDSA, namedCurve: P-521}, false, []) assert_equals: Empty usages not supported expected "SyntaxError" but got "NotSupportedError"
    421421FAIL Empty usages: generateKey({name: ECDSA, namedCurve: P-521}, true, []) assert_equals: Empty usages not supported expected "SyntaxError" but got "NotSupportedError"
  • trunk/LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/test_successes_ECDSA-expected.txt

    r212124 r215423  
    44
    55
    6 FAIL Success: generateKey({name: ECDSA, namedCurve: P-256}, false, [sign]) assert_unreached: Threw an unexpected error: NotSupportedError (DOM Exception 9): The operation is not supported. Reached unreachable code
    7 FAIL Success: generateKey({name: ECDSA, namedCurve: P-256}, true, [sign]) assert_unreached: Threw an unexpected error: NotSupportedError (DOM Exception 9): The operation is not supported. Reached unreachable code
    8 FAIL Success: generateKey({name: ECDSA, namedCurve: P-256}, false, [verify, sign]) assert_unreached: Threw an unexpected error: NotSupportedError (DOM Exception 9): The operation is not supported. Reached unreachable code
    9 FAIL Success: generateKey({name: ECDSA, namedCurve: P-256}, true, [verify, sign]) assert_unreached: Threw an unexpected error: NotSupportedError (DOM Exception 9): The operation is not supported. Reached unreachable code
    10 FAIL Success: generateKey({name: ECDSA, namedCurve: P-256}, false, [sign, verify, sign, sign, verify]) assert_unreached: Threw an unexpected error: NotSupportedError (DOM Exception 9): The operation is not supported. Reached unreachable code
    11 FAIL Success: generateKey({name: ECDSA, namedCurve: P-256}, true, [sign, verify, sign, sign, verify]) assert_unreached: Threw an unexpected error: NotSupportedError (DOM Exception 9): The operation is not supported. Reached unreachable code
    12 FAIL Success: generateKey({name: ECDSA, namedCurve: P-384}, false, [sign]) assert_unreached: Threw an unexpected error: NotSupportedError (DOM Exception 9): The operation is not supported. Reached unreachable code
    13 FAIL Success: generateKey({name: ECDSA, namedCurve: P-384}, true, [sign]) assert_unreached: Threw an unexpected error: NotSupportedError (DOM Exception 9): The operation is not supported. Reached unreachable code
    14 FAIL Success: generateKey({name: ECDSA, namedCurve: P-384}, false, [verify, sign]) assert_unreached: Threw an unexpected error: NotSupportedError (DOM Exception 9): The operation is not supported. Reached unreachable code
    15 FAIL Success: generateKey({name: ECDSA, namedCurve: P-384}, true, [verify, sign]) assert_unreached: Threw an unexpected error: NotSupportedError (DOM Exception 9): The operation is not supported. Reached unreachable code
    16 FAIL Success: generateKey({name: ECDSA, namedCurve: P-384}, false, [sign, verify, sign, sign, verify]) assert_unreached: Threw an unexpected error: NotSupportedError (DOM Exception 9): The operation is not supported. Reached unreachable code
    17 FAIL Success: generateKey({name: ECDSA, namedCurve: P-384}, true, [sign, verify, sign, sign, verify]) assert_unreached: Threw an unexpected error: NotSupportedError (DOM Exception 9): The operation is not supported. Reached unreachable code
    18 FAIL Success: generateKey({name: ECDSA, namedCurve: P-521}, false, [sign]) assert_unreached: Threw an unexpected error: NotSupportedError (DOM Exception 9): The operation is not supported. Reached unreachable code
    19 FAIL Success: generateKey({name: ECDSA, namedCurve: P-521}, true, [sign]) assert_unreached: Threw an unexpected error: NotSupportedError (DOM Exception 9): The operation is not supported. Reached unreachable code
    20 FAIL Success: generateKey({name: ECDSA, namedCurve: P-521}, false, [verify, sign]) assert_unreached: Threw an unexpected error: NotSupportedError (DOM Exception 9): The operation is not supported. Reached unreachable code
    21 FAIL Success: generateKey({name: ECDSA, namedCurve: P-521}, true, [verify, sign]) assert_unreached: Threw an unexpected error: NotSupportedError (DOM Exception 9): The operation is not supported. Reached unreachable code
    22 FAIL Success: generateKey({name: ECDSA, namedCurve: P-521}, false, [sign, verify, sign, sign, verify]) assert_unreached: Threw an unexpected error: NotSupportedError (DOM Exception 9): The operation is not supported. Reached unreachable code
    23 FAIL Success: generateKey({name: ECDSA, namedCurve: P-521}, true, [sign, verify, sign, sign, verify]) assert_unreached: Threw an unexpected error: NotSupportedError (DOM Exception 9): The operation is not supported. Reached unreachable code
    24 FAIL Success: generateKey({name: ecdsa, namedCurve: P-256}, false, [sign]) assert_unreached: Threw an unexpected error: NotSupportedError (DOM Exception 9): The operation is not supported. Reached unreachable code
    25 FAIL Success: generateKey({name: ecdsa, namedCurve: P-256}, true, [sign]) assert_unreached: Threw an unexpected error: NotSupportedError (DOM Exception 9): The operation is not supported. Reached unreachable code
    26 FAIL Success: generateKey({name: ecdsa, namedCurve: P-256}, false, [verify, sign]) assert_unreached: Threw an unexpected error: NotSupportedError (DOM Exception 9): The operation is not supported. Reached unreachable code
    27 FAIL Success: generateKey({name: ecdsa, namedCurve: P-256}, true, [verify, sign]) assert_unreached: Threw an unexpected error: NotSupportedError (DOM Exception 9): The operation is not supported. Reached unreachable code
    28 FAIL Success: generateKey({name: ecdsa, namedCurve: P-256}, false, [sign, verify, sign, sign, verify]) assert_unreached: Threw an unexpected error: NotSupportedError (DOM Exception 9): The operation is not supported. Reached unreachable code
    29 FAIL Success: generateKey({name: ecdsa, namedCurve: P-256}, true, [sign, verify, sign, sign, verify]) assert_unreached: Threw an unexpected error: NotSupportedError (DOM Exception 9): The operation is not supported. Reached unreachable code
    30 FAIL Success: generateKey({name: ecdsa, namedCurve: P-384}, false, [sign]) assert_unreached: Threw an unexpected error: NotSupportedError (DOM Exception 9): The operation is not supported. Reached unreachable code
    31 FAIL Success: generateKey({name: ecdsa, namedCurve: P-384}, true, [sign]) assert_unreached: Threw an unexpected error: NotSupportedError (DOM Exception 9): The operation is not supported. Reached unreachable code
    32 FAIL Success: generateKey({name: ecdsa, namedCurve: P-384}, false, [verify, sign]) assert_unreached: Threw an unexpected error: NotSupportedError (DOM Exception 9): The operation is not supported. Reached unreachable code
    33 FAIL Success: generateKey({name: ecdsa, namedCurve: P-384}, true, [verify, sign]) assert_unreached: Threw an unexpected error: NotSupportedError (DOM Exception 9): The operation is not supported. Reached unreachable code
    34 FAIL Success: generateKey({name: ecdsa, namedCurve: P-384}, false, [sign, verify, sign, sign, verify]) assert_unreached: Threw an unexpected error: NotSupportedError (DOM Exception 9): The operation is not supported. Reached unreachable code
    35 FAIL Success: generateKey({name: ecdsa, namedCurve: P-384}, true, [sign, verify, sign, sign, verify]) assert_unreached: Threw an unexpected error: NotSupportedError (DOM Exception 9): The operation is not supported. Reached unreachable code
    36 FAIL Success: generateKey({name: ecdsa, namedCurve: P-521}, false, [sign]) assert_unreached: Threw an unexpected error: NotSupportedError (DOM Exception 9): The operation is not supported. Reached unreachable code
    37 FAIL Success: generateKey({name: ecdsa, namedCurve: P-521}, true, [sign]) assert_unreached: Threw an unexpected error: NotSupportedError (DOM Exception 9): The operation is not supported. Reached unreachable code
    38 FAIL Success: generateKey({name: ecdsa, namedCurve: P-521}, false, [verify, sign]) assert_unreached: Threw an unexpected error: NotSupportedError (DOM Exception 9): The operation is not supported. Reached unreachable code
    39 FAIL Success: generateKey({name: ecdsa, namedCurve: P-521}, true, [verify, sign]) assert_unreached: Threw an unexpected error: NotSupportedError (DOM Exception 9): The operation is not supported. Reached unreachable code
    40 FAIL Success: generateKey({name: ecdsa, namedCurve: P-521}, false, [sign, verify, sign, sign, verify]) assert_unreached: Threw an unexpected error: NotSupportedError (DOM Exception 9): The operation is not supported. Reached unreachable code
    41 FAIL Success: generateKey({name: ecdsa, namedCurve: P-521}, true, [sign, verify, sign, sign, verify]) assert_unreached: Threw an unexpected error: NotSupportedError (DOM Exception 9): The operation is not supported. Reached unreachable code
    42 FAIL Success: generateKey({name: Ecdsa, namedCurve: P-256}, false, [sign]) assert_unreached: Threw an unexpected error: NotSupportedError (DOM Exception 9): The operation is not supported. Reached unreachable code
    43 FAIL Success: generateKey({name: Ecdsa, namedCurve: P-256}, true, [sign]) assert_unreached: Threw an unexpected error: NotSupportedError (DOM Exception 9): The operation is not supported. Reached unreachable code
    44 FAIL Success: generateKey({name: Ecdsa, namedCurve: P-256}, false, [verify, sign]) assert_unreached: Threw an unexpected error: NotSupportedError (DOM Exception 9): The operation is not supported. Reached unreachable code
    45 FAIL Success: generateKey({name: Ecdsa, namedCurve: P-256}, true, [verify, sign]) assert_unreached: Threw an unexpected error: NotSupportedError (DOM Exception 9): The operation is not supported. Reached unreachable code
    46 FAIL Success: generateKey({name: Ecdsa, namedCurve: P-256}, false, [sign, verify, sign, sign, verify]) assert_unreached: Threw an unexpected error: NotSupportedError (DOM Exception 9): The operation is not supported. Reached unreachable code
    47 FAIL Success: generateKey({name: Ecdsa, namedCurve: P-256}, true, [sign, verify, sign, sign, verify]) assert_unreached: Threw an unexpected error: NotSupportedError (DOM Exception 9): The operation is not supported. Reached unreachable code
    48 FAIL Success: generateKey({name: Ecdsa, namedCurve: P-384}, false, [sign]) assert_unreached: Threw an unexpected error: NotSupportedError (DOM Exception 9): The operation is not supported. Reached unreachable code
    49 FAIL Success: generateKey({name: Ecdsa, namedCurve: P-384}, true, [sign]) assert_unreached: Threw an unexpected error: NotSupportedError (DOM Exception 9): The operation is not supported. Reached unreachable code
    50 FAIL Success: generateKey({name: Ecdsa, namedCurve: P-384}, false, [verify, sign]) assert_unreached: Threw an unexpected error: NotSupportedError (DOM Exception 9): The operation is not supported. Reached unreachable code
    51 FAIL Success: generateKey({name: Ecdsa, namedCurve: P-384}, true, [verify, sign]) assert_unreached: Threw an unexpected error: NotSupportedError (DOM Exception 9): The operation is not supported. Reached unreachable code
    52 FAIL Success: generateKey({name: Ecdsa, namedCurve: P-384}, false, [sign, verify, sign, sign, verify]) assert_unreached: Threw an unexpected error: NotSupportedError (DOM Exception 9): The operation is not supported. Reached unreachable code
    53 FAIL Success: generateKey({name: Ecdsa, namedCurve: P-384}, true, [sign, verify, sign, sign, verify]) assert_unreached: Threw an unexpected error: NotSupportedError (DOM Exception 9): The operation is not supported. Reached unreachable code
    54 FAIL Success: generateKey({name: Ecdsa, namedCurve: P-521}, false, [sign]) assert_unreached: Threw an unexpected error: NotSupportedError (DOM Exception 9): The operation is not supported. Reached unreachable code
    55 FAIL Success: generateKey({name: Ecdsa, namedCurve: P-521}, true, [sign]) assert_unreached: Threw an unexpected error: NotSupportedError (DOM Exception 9): The operation is not supported. Reached unreachable code
    56 FAIL Success: generateKey({name: Ecdsa, namedCurve: P-521}, false, [verify, sign]) assert_unreached: Threw an unexpected error: NotSupportedError (DOM Exception 9): The operation is not supported. Reached unreachable code
    57 FAIL Success: generateKey({name: Ecdsa, namedCurve: P-521}, true, [verify, sign]) assert_unreached: Threw an unexpected error: NotSupportedError (DOM Exception 9): The operation is not supported. Reached unreachable code
    58 FAIL Success: generateKey({name: Ecdsa, namedCurve: P-521}, false, [sign, verify, sign, sign, verify]) assert_unreached: Threw an unexpected error: NotSupportedError (DOM Exception 9): The operation is not supported. Reached unreachable code
    59 FAIL Success: generateKey({name: Ecdsa, namedCurve: P-521}, true, [sign, verify, sign, sign, verify]) assert_unreached: Threw an unexpected error: NotSupportedError (DOM Exception 9): The operation is not supported. Reached unreachable code
     6PASS Success: generateKey({name: ECDSA, namedCurve: P-256}, false, [sign])
     7PASS Success: generateKey({name: ECDSA, namedCurve: P-256}, true, [sign])
     8PASS Success: generateKey({name: ECDSA, namedCurve: P-256}, false, [verify, sign])
     9PASS Success: generateKey({name: ECDSA, namedCurve: P-256}, true, [verify, sign])
     10PASS Success: generateKey({name: ECDSA, namedCurve: P-256}, false, [sign, verify, sign, sign, verify])
     11PASS Success: generateKey({name: ECDSA, namedCurve: P-256}, true, [sign, verify, sign, sign, verify])
     12PASS Success: generateKey({name: ECDSA, namedCurve: P-384}, false, [sign])
     13PASS Success: generateKey({name: ECDSA, namedCurve: P-384}, true, [sign])
     14PASS Success: generateKey({name: ECDSA, namedCurve: P-384}, false, [verify, sign])
     15PASS Success: generateKey({name: ECDSA, namedCurve: P-384}, true, [verify, sign])
     16PASS Success: generateKey({name: ECDSA, namedCurve: P-384}, false, [sign, verify, sign, sign, verify])
     17PASS Success: generateKey({name: ECDSA, namedCurve: P-384}, true, [sign, verify, sign, sign, verify])
     18FAIL Success: generateKey({name: ECDSA, namedCurve: P-521}, false, [sign]) assert_unreached: Threw an unexpected error: NotSupportedError (DOM Exception 9): The algorithm is not supported Reached unreachable code
     19FAIL Success: generateKey({name: ECDSA, namedCurve: P-521}, true, [sign]) assert_unreached: Threw an unexpected error: NotSupportedError (DOM Exception 9): The algorithm is not supported Reached unreachable code
     20FAIL Success: generateKey({name: ECDSA, namedCurve: P-521}, false, [verify, sign]) assert_unreached: Threw an unexpected error: NotSupportedError (DOM Exception 9): The algorithm is not supported Reached unreachable code
     21FAIL Success: generateKey({name: ECDSA, namedCurve: P-521}, true, [verify, sign]) assert_unreached: Threw an unexpected error: NotSupportedError (DOM Exception 9): The algorithm is not supported Reached unreachable code
     22FAIL Success: generateKey({name: ECDSA, namedCurve: P-521}, false, [sign, verify, sign, sign, verify]) assert_unreached: Threw an unexpected error: NotSupportedError (DOM Exception 9): The algorithm is not supported Reached unreachable code
     23FAIL Success: generateKey({name: ECDSA, namedCurve: P-521}, true, [sign, verify, sign, sign, verify]) assert_unreached: Threw an unexpected error: NotSupportedError (DOM Exception 9): The algorithm is not supported Reached unreachable code
     24PASS Success: generateKey({name: ecdsa, namedCurve: P-256}, false, [sign])
     25PASS Success: generateKey({name: ecdsa, namedCurve: P-256}, true, [sign])
     26PASS Success: generateKey({name: ecdsa, namedCurve: P-256}, false, [verify, sign])
     27PASS Success: generateKey({name: ecdsa, namedCurve: P-256}, true, [verify, sign])
     28PASS Success: generateKey({name: ecdsa, namedCurve: P-256}, false, [sign, verify, sign, sign, verify])
     29PASS Success: generateKey({name: ecdsa, namedCurve: P-256}, true, [sign, verify, sign, sign, verify])
     30PASS Success: generateKey({name: ecdsa, namedCurve: P-384}, false, [sign])
     31PASS Success: generateKey({name: ecdsa, namedCurve: P-384}, true, [sign])
     32PASS Success: generateKey({name: ecdsa, namedCurve: P-384}, false, [verify, sign])
     33PASS Success: generateKey({name: ecdsa, namedCurve: P-384}, true, [verify, sign])
     34PASS Success: generateKey({name: ecdsa, namedCurve: P-384}, false, [sign, verify, sign, sign, verify])
     35PASS Success: generateKey({name: ecdsa, namedCurve: P-384}, true, [sign, verify, sign, sign, verify])
     36FAIL Success: generateKey({name: ecdsa, namedCurve: P-521}, false, [sign]) assert_unreached: Threw an unexpected error: NotSupportedError (DOM Exception 9): The algorithm is not supported Reached unreachable code
     37FAIL Success: generateKey({name: ecdsa, namedCurve: P-521}, true, [sign]) assert_unreached: Threw an unexpected error: NotSupportedError (DOM Exception 9): The algorithm is not supported Reached unreachable code
     38FAIL Success: generateKey({name: ecdsa, namedCurve: P-521}, false, [verify, sign]) assert_unreached: Threw an unexpected error: NotSupportedError (DOM Exception 9): The algorithm is not supported Reached unreachable code
     39FAIL Success: generateKey({name: ecdsa, namedCurve: P-521}, true, [verify, sign]) assert_unreached: Threw an unexpected error: NotSupportedError (DOM Exception 9): The algorithm is not supported Reached unreachable code
     40FAIL Success: generateKey({name: ecdsa, namedCurve: P-521}, false, [sign, verify, sign, sign, verify]) assert_unreached: Threw an unexpected error: NotSupportedError (DOM Exception 9): The algorithm is not supported Reached unreachable code
     41FAIL Success: generateKey({name: ecdsa, namedCurve: P-521}, true, [sign, verify, sign, sign, verify]) assert_unreached: Threw an unexpected error: NotSupportedError (DOM Exception 9): The algorithm is not supported Reached unreachable code
     42PASS Success: generateKey({name: Ecdsa, namedCurve: P-256}, false, [sign])
     43PASS Success: generateKey({name: Ecdsa, namedCurve: P-256}, true, [sign])
     44PASS Success: generateKey({name: Ecdsa, namedCurve: P-256}, false, [verify, sign])
     45PASS Success: generateKey({name: Ecdsa, namedCurve: P-256}, true, [verify, sign])
     46PASS Success: generateKey({name: Ecdsa, namedCurve: P-256}, false, [sign, verify, sign, sign, verify])
     47PASS Success: generateKey({name: Ecdsa, namedCurve: P-256}, true, [sign, verify, sign, sign, verify])
     48PASS Success: generateKey({name: Ecdsa, namedCurve: P-384}, false, [sign])
     49PASS Success: generateKey({name: Ecdsa, namedCurve: P-384}, true, [sign])
     50PASS Success: generateKey({name: Ecdsa, namedCurve: P-384}, false, [verify, sign])
     51PASS Success: generateKey({name: Ecdsa, namedCurve: P-384}, true, [verify, sign])
     52PASS Success: generateKey({name: Ecdsa, namedCurve: P-384}, false, [sign, verify, sign, sign, verify])
     53PASS Success: generateKey({name: Ecdsa, namedCurve: P-384}, true, [sign, verify, sign, sign, verify])
     54FAIL Success: generateKey({name: Ecdsa, namedCurve: P-521}, false, [sign]) assert_unreached: Threw an unexpected error: NotSupportedError (DOM Exception 9): The algorithm is not supported Reached unreachable code
     55FAIL Success: generateKey({name: Ecdsa, namedCurve: P-521}, true, [sign]) assert_unreached: Threw an unexpected error: NotSupportedError (DOM Exception 9): The algorithm is not supported Reached unreachable code
     56FAIL Success: generateKey({name: Ecdsa, namedCurve: P-521}, false, [verify, sign]) assert_unreached: Threw an unexpected error: NotSupportedError (DOM Exception 9): The algorithm is not supported Reached unreachable code
     57FAIL Success: generateKey({name: Ecdsa, namedCurve: P-521}, true, [verify, sign]) assert_unreached: Threw an unexpected error: NotSupportedError (DOM Exception 9): The algorithm is not supported Reached unreachable code
     58FAIL Success: generateKey({name: Ecdsa, namedCurve: P-521}, false, [sign, verify, sign, sign, verify]) assert_unreached: Threw an unexpected error: NotSupportedError (DOM Exception 9): The algorithm is not supported Reached unreachable code
     59FAIL Success: generateKey({name: Ecdsa, namedCurve: P-521}, true, [sign, verify, sign, sign, verify]) assert_unreached: Threw an unexpected error: NotSupportedError (DOM Exception 9): The algorithm is not supported Reached unreachable code
    6060
  • trunk/LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/import_export/ec_importKey.worker-expected.txt

    r214074 r215423  
    11
    2 FAIL Good parameters: P-256 bits (spki, buffer(91), {name: ECDSA, namedCurve: P-256}, true, []) assert_unreached: Threw an unexpected error: NotSupportedError (DOM Exception 9): The operation is not supported. Reached unreachable code
    3 FAIL Good parameters: P-256 bits (jwk, object(kty, crv, x, y), {name: ECDSA, namedCurve: P-256}, true, []) assert_unreached: Threw an unexpected error: NotSupportedError (DOM Exception 9): The operation is not supported. Reached unreachable code
    4 FAIL Good parameters: P-256 bits (pkcs8, buffer(138), {name: ECDSA, namedCurve: P-256}, true, [sign]) assert_unreached: Threw an unexpected error: NotSupportedError (DOM Exception 9): The operation is not supported. Reached unreachable code
    5 FAIL Good parameters: P-256 bits (jwk, object(kty, crv, x, y, d), {name: ECDSA, namedCurve: P-256}, true, [sign]) assert_unreached: Threw an unexpected error: NotSupportedError (DOM Exception 9): The operation is not supported. Reached unreachable code
    6 FAIL Good parameters: P-256 bits (spki, buffer(91), {name: ECDSA, namedCurve: P-256}, false, []) assert_unreached: Threw an unexpected error: NotSupportedError (DOM Exception 9): The operation is not supported. Reached unreachable code
    7 FAIL Good parameters: P-256 bits (jwk, object(kty, crv, x, y), {name: ECDSA, namedCurve: P-256}, false, []) assert_unreached: Threw an unexpected error: NotSupportedError (DOM Exception 9): The operation is not supported. Reached unreachable code
    8 FAIL Good parameters: P-256 bits (pkcs8, buffer(138), {name: ECDSA, namedCurve: P-256}, false, [sign]) assert_unreached: Threw an unexpected error: NotSupportedError (DOM Exception 9): The operation is not supported. Reached unreachable code
    9 FAIL Good parameters: P-256 bits (jwk, object(kty, crv, x, y, d), {name: ECDSA, namedCurve: P-256}, false, [sign]) assert_unreached: Threw an unexpected error: NotSupportedError (DOM Exception 9): The operation is not supported. Reached unreachable code
    10 FAIL Good parameters: P-384 bits (spki, buffer(120), {name: ECDSA, namedCurve: P-384}, true, []) assert_unreached: Threw an unexpected error: NotSupportedError (DOM Exception 9): The operation is not supported. Reached unreachable code
    11 FAIL Good parameters: P-384 bits (jwk, object(kty, crv, x, y), {name: ECDSA, namedCurve: P-384}, true, []) assert_unreached: Threw an unexpected error: NotSupportedError (DOM Exception 9): The operation is not supported. Reached unreachable code
    12 FAIL Good parameters: P-384 bits (pkcs8, buffer(185), {name: ECDSA, namedCurve: P-384}, true, [sign]) assert_unreached: Threw an unexpected error: NotSupportedError (DOM Exception 9): The operation is not supported. Reached unreachable code
    13 FAIL Good parameters: P-384 bits (jwk, object(kty, crv, x, y, d), {name: ECDSA, namedCurve: P-384}, true, [sign]) assert_unreached: Threw an unexpected error: NotSupportedError (DOM Exception 9): The operation is not supported. Reached unreachable code
    14 FAIL Good parameters: P-384 bits (spki, buffer(120), {name: ECDSA, namedCurve: P-384}, false, []) assert_unreached: Threw an unexpected error: NotSupportedError (DOM Exception 9): The operation is not supported. Reached unreachable code
    15 FAIL Good parameters: P-384 bits (jwk, object(kty, crv, x, y), {name: ECDSA, namedCurve: P-384}, false, []) assert_unreached: Threw an unexpected error: NotSupportedError (DOM Exception 9): The operation is not supported. Reached unreachable code
    16 FAIL Good parameters: P-384 bits (pkcs8, buffer(185), {name: ECDSA, namedCurve: P-384}, false, [sign]) assert_unreached: Threw an unexpected error: NotSupportedError (DOM Exception 9): The operation is not supported. Reached unreachable code
    17 FAIL Good parameters: P-384 bits (jwk, object(kty, crv, x, y, d), {name: ECDSA, namedCurve: P-384}, false, [sign]) assert_unreached: Threw an unexpected error: NotSupportedError (DOM Exception 9): The operation is not supported. Reached unreachable code
    18 FAIL Good parameters: P-521 bits (spki, buffer(158), {name: ECDSA, namedCurve: P-521}, true, []) assert_unreached: Threw an unexpected error: NotSupportedError (DOM Exception 9): The operation is not supported. Reached unreachable code
    19 FAIL Good parameters: P-521 bits (jwk, object(kty, crv, x, y), {name: ECDSA, namedCurve: P-521}, true, []) assert_unreached: Threw an unexpected error: NotSupportedError (DOM Exception 9): The operation is not supported. Reached unreachable code
    20 FAIL Good parameters: P-521 bits (pkcs8, buffer(241), {name: ECDSA, namedCurve: P-521}, true, [sign]) assert_unreached: Threw an unexpected error: NotSupportedError (DOM Exception 9): The operation is not supported. Reached unreachable code
    21 FAIL Good parameters: P-521 bits (jwk, object(kty, crv, x, y, d), {name: ECDSA, namedCurve: P-521}, true, [sign]) assert_unreached: Threw an unexpected error: NotSupportedError (DOM Exception 9): The operation is not supported. Reached unreachable code
    22 FAIL Good parameters: P-521 bits (spki, buffer(158), {name: ECDSA, namedCurve: P-521}, false, []) assert_unreached: Threw an unexpected error: NotSupportedError (DOM Exception 9): The operation is not supported. Reached unreachable code
    23 FAIL Good parameters: P-521 bits (jwk, object(kty, crv, x, y), {name: ECDSA, namedCurve: P-521}, false, []) assert_unreached: Threw an unexpected error: NotSupportedError (DOM Exception 9): The operation is not supported. Reached unreachable code
    24 FAIL Good parameters: P-521 bits (pkcs8, buffer(241), {name: ECDSA, namedCurve: P-521}, false, [sign]) assert_unreached: Threw an unexpected error: NotSupportedError (DOM Exception 9): The operation is not supported. Reached unreachable code
    25 FAIL Good parameters: P-521 bits (jwk, object(kty, crv, x, y, d), {name: ECDSA, namedCurve: P-521}, false, [sign]) assert_unreached: Threw an unexpected error: NotSupportedError (DOM Exception 9): The operation is not supported. Reached unreachable code
     2PASS Good parameters: P-256 bits (spki, buffer(91), {name: ECDSA, namedCurve: P-256}, true, [])
     3PASS Good parameters: P-256 bits (jwk, object(kty, crv, x, y), {name: ECDSA, namedCurve: P-256}, true, [])
     4PASS Good parameters: P-256 bits (pkcs8, buffer(138), {name: ECDSA, namedCurve: P-256}, true, [sign])
     5PASS Good parameters: P-256 bits (jwk, object(kty, crv, x, y, d), {name: ECDSA, namedCurve: P-256}, true, [sign])
     6PASS Good parameters: P-256 bits (spki, buffer(91), {name: ECDSA, namedCurve: P-256}, false, [])
     7PASS Good parameters: P-256 bits (jwk, object(kty, crv, x, y), {name: ECDSA, namedCurve: P-256}, false, [])
     8PASS Good parameters: P-256 bits (pkcs8, buffer(138), {name: ECDSA, namedCurve: P-256}, false, [sign])
     9PASS Good parameters: P-256 bits (jwk, object(kty, crv, x, y, d), {name: ECDSA, namedCurve: P-256}, false, [sign])
     10PASS Good parameters: P-384 bits (spki, buffer(120), {name: ECDSA, namedCurve: P-384}, true, [])
     11PASS Good parameters: P-384 bits (jwk, object(kty, crv, x, y), {name: ECDSA, namedCurve: P-384}, true, [])
     12PASS Good parameters: P-384 bits (pkcs8, buffer(185), {name: ECDSA, namedCurve: P-384}, true, [sign])
     13PASS Good parameters: P-384 bits (jwk, object(kty, crv, x, y, d), {name: ECDSA, namedCurve: P-384}, true, [sign])
     14PASS Good parameters: P-384 bits (spki, buffer(120), {name: ECDSA, namedCurve: P-384}, false, [])
     15PASS Good parameters: P-384 bits (jwk, object(kty, crv, x, y), {name: ECDSA, namedCurve: P-384}, false, [])
     16PASS Good parameters: P-384 bits (pkcs8, buffer(185), {name: ECDSA, namedCurve: P-384}, false, [sign])
     17PASS Good parameters: P-384 bits (jwk, object(kty, crv, x, y, d), {name: ECDSA, namedCurve: P-384}, false, [sign])
     18FAIL Good parameters: P-521 bits (spki, buffer(158), {name: ECDSA, namedCurve: P-521}, true, []) assert_unreached: Threw an unexpected error: DataError (DOM Exception 30): Data provided to an operation does not meet requirements Reached unreachable code
     19FAIL Good parameters: P-521 bits (jwk, object(kty, crv, x, y), {name: ECDSA, namedCurve: P-521}, true, []) assert_unreached: Threw an unexpected error: DataError (DOM Exception 30): Data provided to an operation does not meet requirements Reached unreachable code
     20FAIL Good parameters: P-521 bits (pkcs8, buffer(241), {name: ECDSA, namedCurve: P-521}, true, [sign]) assert_unreached: Threw an unexpected error: DataError (DOM Exception 30): Data provided to an operation does not meet requirements Reached unreachable code
     21FAIL Good parameters: P-521 bits (jwk, object(kty, crv, x, y, d), {name: ECDSA, namedCurve: P-521}, true, [sign]) assert_unreached: Threw an unexpected error: DataError (DOM Exception 30): Data provided to an operation does not meet requirements Reached unreachable code
     22FAIL Good parameters: P-521 bits (spki, buffer(158), {name: ECDSA, namedCurve: P-521}, false, []) assert_unreached: Threw an unexpected error: DataError (DOM Exception 30): Data provided to an operation does not meet requirements Reached unreachable code
     23FAIL Good parameters: P-521 bits (jwk, object(kty, crv, x, y), {name: ECDSA, namedCurve: P-521}, false, []) assert_unreached: Threw an unexpected error: DataError (DOM Exception 30): Data provided to an operation does not meet requirements Reached unreachable code
     24FAIL Good parameters: P-521 bits (pkcs8, buffer(241), {name: ECDSA, namedCurve: P-521}, false, [sign]) assert_unreached: Threw an unexpected error: DataError (DOM Exception 30): Data provided to an operation does not meet requirements Reached unreachable code
     25FAIL Good parameters: P-521 bits (jwk, object(kty, crv, x, y, d), {name: ECDSA, namedCurve: P-521}, false, [sign]) assert_unreached: Threw an unexpected error: DataError (DOM Exception 30): Data provided to an operation does not meet requirements Reached unreachable code
    2626PASS Good parameters: P-256 bits (spki, buffer(91), {name: ECDH, namedCurve: P-256}, true, [])
    2727PASS Good parameters: P-256 bits (jwk, object(kty, crv, x, y), {name: ECDH, namedCurve: P-256}, true, [])
  • trunk/LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/import_export/test_ec_importKey-expected.txt

    r214074 r215423  
    11
    2 FAIL Good parameters: P-256 bits (spki, buffer(91), {name: ECDSA, namedCurve: P-256}, true, []) assert_unreached: Threw an unexpected error: NotSupportedError (DOM Exception 9): The operation is not supported. Reached unreachable code
    3 FAIL Good parameters: P-256 bits (jwk, object(kty, crv, x, y), {name: ECDSA, namedCurve: P-256}, true, []) assert_unreached: Threw an unexpected error: NotSupportedError (DOM Exception 9): The operation is not supported. Reached unreachable code
    4 FAIL Good parameters: P-256 bits (pkcs8, buffer(138), {name: ECDSA, namedCurve: P-256}, true, [sign]) assert_unreached: Threw an unexpected error: NotSupportedError (DOM Exception 9): The operation is not supported. Reached unreachable code
    5 FAIL Good parameters: P-256 bits (jwk, object(kty, crv, x, y, d), {name: ECDSA, namedCurve: P-256}, true, [sign]) assert_unreached: Threw an unexpected error: NotSupportedError (DOM Exception 9): The operation is not supported. Reached unreachable code
    6 FAIL Good parameters: P-256 bits (spki, buffer(91), {name: ECDSA, namedCurve: P-256}, false, []) assert_unreached: Threw an unexpected error: NotSupportedError (DOM Exception 9): The operation is not supported. Reached unreachable code
    7 FAIL Good parameters: P-256 bits (jwk, object(kty, crv, x, y), {name: ECDSA, namedCurve: P-256}, false, []) assert_unreached: Threw an unexpected error: NotSupportedError (DOM Exception 9): The operation is not supported. Reached unreachable code
    8 FAIL Good parameters: P-256 bits (pkcs8, buffer(138), {name: ECDSA, namedCurve: P-256}, false, [sign]) assert_unreached: Threw an unexpected error: NotSupportedError (DOM Exception 9): The operation is not supported. Reached unreachable code
    9 FAIL Good parameters: P-256 bits (jwk, object(kty, crv, x, y, d), {name: ECDSA, namedCurve: P-256}, false, [sign]) assert_unreached: Threw an unexpected error: NotSupportedError (DOM Exception 9): The operation is not supported. Reached unreachable code
    10 FAIL Good parameters: P-384 bits (spki, buffer(120), {name: ECDSA, namedCurve: P-384}, true, []) assert_unreached: Threw an unexpected error: NotSupportedError (DOM Exception 9): The operation is not supported. Reached unreachable code
    11 FAIL Good parameters: P-384 bits (jwk, object(kty, crv, x, y), {name: ECDSA, namedCurve: P-384}, true, []) assert_unreached: Threw an unexpected error: NotSupportedError (DOM Exception 9): The operation is not supported. Reached unreachable code
    12 FAIL Good parameters: P-384 bits (pkcs8, buffer(185), {name: ECDSA, namedCurve: P-384}, true, [sign]) assert_unreached: Threw an unexpected error: NotSupportedError (DOM Exception 9): The operation is not supported. Reached unreachable code
    13 FAIL Good parameters: P-384 bits (jwk, object(kty, crv, x, y, d), {name: ECDSA, namedCurve: P-384}, true, [sign]) assert_unreached: Threw an unexpected error: NotSupportedError (DOM Exception 9): The operation is not supported. Reached unreachable code
    14 FAIL Good parameters: P-384 bits (spki, buffer(120), {name: ECDSA, namedCurve: P-384}, false, []) assert_unreached: Threw an unexpected error: NotSupportedError (DOM Exception 9): The operation is not supported. Reached unreachable code
    15 FAIL Good parameters: P-384 bits (jwk, object(kty, crv, x, y), {name: ECDSA, namedCurve: P-384}, false, []) assert_unreached: Threw an unexpected error: NotSupportedError (DOM Exception 9): The operation is not supported. Reached unreachable code
    16 FAIL Good parameters: P-384 bits (pkcs8, buffer(185), {name: ECDSA, namedCurve: P-384}, false, [sign]) assert_unreached: Threw an unexpected error: NotSupportedError (DOM Exception 9): The operation is not supported. Reached unreachable code
    17 FAIL Good parameters: P-384 bits (jwk, object(kty, crv, x, y, d), {name: ECDSA, namedCurve: P-384}, false, [sign]) assert_unreached: Threw an unexpected error: NotSupportedError (DOM Exception 9): The operation is not supported. Reached unreachable code
    18 FAIL Good parameters: P-521 bits (spki, buffer(158), {name: ECDSA, namedCurve: P-521}, true, []) assert_unreached: Threw an unexpected error: NotSupportedError (DOM Exception 9): The operation is not supported. Reached unreachable code
    19 FAIL Good parameters: P-521 bits (jwk, object(kty, crv, x, y), {name: ECDSA, namedCurve: P-521}, true, []) assert_unreached: Threw an unexpected error: NotSupportedError (DOM Exception 9): The operation is not supported. Reached unreachable code
    20 FAIL Good parameters: P-521 bits (pkcs8, buffer(241), {name: ECDSA, namedCurve: P-521}, true, [sign]) assert_unreached: Threw an unexpected error: NotSupportedError (DOM Exception 9): The operation is not supported. Reached unreachable code
    21 FAIL Good parameters: P-521 bits (jwk, object(kty, crv, x, y, d), {name: ECDSA, namedCurve: P-521}, true, [sign]) assert_unreached: Threw an unexpected error: NotSupportedError (DOM Exception 9): The operation is not supported. Reached unreachable code
    22 FAIL Good parameters: P-521 bits (spki, buffer(158), {name: ECDSA, namedCurve: P-521}, false, []) assert_unreached: Threw an unexpected error: NotSupportedError (DOM Exception 9): The operation is not supported. Reached unreachable code
    23 FAIL Good parameters: P-521 bits (jwk, object(kty, crv, x, y), {name: ECDSA, namedCurve: P-521}, false, []) assert_unreached: Threw an unexpected error: NotSupportedError (DOM Exception 9): The operation is not supported. Reached unreachable code
    24 FAIL Good parameters: P-521 bits (pkcs8, buffer(241), {name: ECDSA, namedCurve: P-521}, false, [sign]) assert_unreached: Threw an unexpected error: NotSupportedError (DOM Exception 9): The operation is not supported. Reached unreachable code
    25 FAIL Good parameters: P-521 bits (jwk, object(kty, crv, x, y, d), {name: ECDSA, namedCurve: P-521}, false, [sign]) assert_unreached: Threw an unexpected error: NotSupportedError (DOM Exception 9): The operation is not supported. Reached unreachable code
     2PASS Good parameters: P-256 bits (spki, buffer(91), {name: ECDSA, namedCurve: P-256}, true, [])
     3PASS Good parameters: P-256 bits (jwk, object(kty, crv, x, y), {name: ECDSA, namedCurve: P-256}, true, [])
     4PASS Good parameters: P-256 bits (pkcs8, buffer(138), {name: ECDSA, namedCurve: P-256}, true, [sign])
     5PASS Good parameters: P-256 bits (jwk, object(kty, crv, x, y, d), {name: ECDSA, namedCurve: P-256}, true, [sign])
     6PASS Good parameters: P-256 bits (spki, buffer(91), {name: ECDSA, namedCurve: P-256}, false, [])
     7PASS Good parameters: P-256 bits (jwk, object(kty, crv, x, y), {name: ECDSA, namedCurve: P-256}, false, [])
     8PASS Good parameters: P-256 bits (pkcs8, buffer(138), {name: ECDSA, namedCurve: P-256}, false, [sign])
     9PASS Good parameters: P-256 bits (jwk, object(kty, crv, x, y, d), {name: ECDSA, namedCurve: P-256}, false, [sign])
     10PASS Good parameters: P-384 bits (spki, buffer(120), {name: ECDSA, namedCurve: P-384}, true, [])
     11PASS Good parameters: P-384 bits (jwk, object(kty, crv, x, y), {name: ECDSA, namedCurve: P-384}, true, [])
     12PASS Good parameters: P-384 bits (pkcs8, buffer(185), {name: ECDSA, namedCurve: P-384}, true, [sign])
     13PASS Good parameters: P-384 bits (jwk, object(kty, crv, x, y, d), {name: ECDSA, namedCurve: P-384}, true, [sign])
     14PASS Good parameters: P-384 bits (spki, buffer(120), {name: ECDSA, namedCurve: P-384}, false, [])
     15PASS Good parameters: P-384 bits (jwk, object(kty, crv, x, y), {name: ECDSA, namedCurve: P-384}, false, [])
     16PASS Good parameters: P-384 bits (pkcs8, buffer(185), {name: ECDSA, namedCurve: P-384}, false, [sign])
     17PASS Good parameters: P-384 bits (jwk, object(kty, crv, x, y, d), {name: ECDSA, namedCurve: P-384}, false, [sign])
     18FAIL Good parameters: P-521 bits (spki, buffer(158), {name: ECDSA, namedCurve: P-521}, true, []) assert_unreached: Threw an unexpected error: DataError (DOM Exception 30): Data provided to an operation does not meet requirements Reached unreachable code
     19FAIL Good parameters: P-521 bits (jwk, object(kty, crv, x, y), {name: ECDSA, namedCurve: P-521}, true, []) assert_unreached: Threw an unexpected error: DataError (DOM Exception 30): Data provided to an operation does not meet requirements Reached unreachable code
     20FAIL Good parameters: P-521 bits (pkcs8, buffer(241), {name: ECDSA, namedCurve: P-521}, true, [sign]) assert_unreached: Threw an unexpected error: DataError (DOM Exception 30): Data provided to an operation does not meet requirements Reached unreachable code
     21FAIL Good parameters: P-521 bits (jwk, object(kty, crv, x, y, d), {name: ECDSA, namedCurve: P-521}, true, [sign]) assert_unreached: Threw an unexpected error: DataError (DOM Exception 30): Data provided to an operation does not meet requirements Reached unreachable code
     22FAIL Good parameters: P-521 bits (spki, buffer(158), {name: ECDSA, namedCurve: P-521}, false, []) assert_unreached: Threw an unexpected error: DataError (DOM Exception 30): Data provided to an operation does not meet requirements Reached unreachable code
     23FAIL Good parameters: P-521 bits (jwk, object(kty, crv, x, y), {name: ECDSA, namedCurve: P-521}, false, []) assert_unreached: Threw an unexpected error: DataError (DOM Exception 30): Data provided to an operation does not meet requirements Reached unreachable code
     24FAIL Good parameters: P-521 bits (pkcs8, buffer(241), {name: ECDSA, namedCurve: P-521}, false, [sign]) assert_unreached: Threw an unexpected error: DataError (DOM Exception 30): Data provided to an operation does not meet requirements Reached unreachable code
     25FAIL Good parameters: P-521 bits (jwk, object(kty, crv, x, y, d), {name: ECDSA, namedCurve: P-521}, false, [sign]) assert_unreached: Threw an unexpected error: DataError (DOM Exception 30): Data provided to an operation does not meet requirements Reached unreachable code
    2626PASS Good parameters: P-256 bits (spki, buffer(91), {name: ECDH, namedCurve: P-256}, true, [])
    2727PASS Good parameters: P-256 bits (jwk, object(kty, crv, x, y), {name: ECDH, namedCurve: P-256}, true, [])
  • trunk/LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/sign_verify/ecdsa.worker-expected.txt

    r212124 r215423  
    11
    2 FAIL importVectorKeys step: ECDSA P-256 with SHA-1 verification assert_unreached: importVectorKeys failed for ECDSA P-256 with SHA-1. Message: ''The operation is not supported.'' Reached unreachable code
    3 FAIL importVectorKeys step: ECDSA P-256 with SHA-256 verification assert_unreached: importVectorKeys failed for ECDSA P-256 with SHA-256. Message: ''The operation is not supported.'' Reached unreachable code
    4 FAIL importVectorKeys step: ECDSA P-256 with SHA-384 verification assert_unreached: importVectorKeys failed for ECDSA P-256 with SHA-384. Message: ''The operation is not supported.'' Reached unreachable code
    5 FAIL importVectorKeys step: ECDSA P-256 with SHA-512 verification assert_unreached: importVectorKeys failed for ECDSA P-256 with SHA-512. Message: ''The operation is not supported.'' Reached unreachable code
    6 FAIL importVectorKeys step: ECDSA P-384 with SHA-1 verification assert_unreached: importVectorKeys failed for ECDSA P-384 with SHA-1. Message: ''The operation is not supported.'' Reached unreachable code
    7 FAIL importVectorKeys step: ECDSA P-384 with SHA-256 verification assert_unreached: importVectorKeys failed for ECDSA P-384 with SHA-256. Message: ''The operation is not supported.'' Reached unreachable code
    8 FAIL importVectorKeys step: ECDSA P-384 with SHA-384 verification assert_unreached: importVectorKeys failed for ECDSA P-384 with SHA-384. Message: ''The operation is not supported.'' Reached unreachable code
    9 FAIL importVectorKeys step: ECDSA P-384 with SHA-512 verification assert_unreached: importVectorKeys failed for ECDSA P-384 with SHA-512. Message: ''The operation is not supported.'' Reached unreachable code
    10 FAIL importVectorKeys step: ECDSA P-521 with SHA-1 verification assert_unreached: importVectorKeys failed for ECDSA P-521 with SHA-1. Message: ''The operation is not supported.'' Reached unreachable code
    11 FAIL importVectorKeys step: ECDSA P-521 with SHA-256 verification assert_unreached: importVectorKeys failed for ECDSA P-521 with SHA-256. Message: ''The operation is not supported.'' Reached unreachable code
    12 FAIL importVectorKeys step: ECDSA P-521 with SHA-384 verification assert_unreached: importVectorKeys failed for ECDSA P-521 with SHA-384. Message: ''The operation is not supported.'' Reached unreachable code
    13 FAIL importVectorKeys step: ECDSA P-521 with SHA-512 verification assert_unreached: importVectorKeys failed for ECDSA P-521 with SHA-512. Message: ''The operation is not supported.'' Reached unreachable code
    14 FAIL importVectorKeys step: ECDSA P-256 with SHA-1 verification with altered signature after call assert_unreached: importVectorKeys failed for ECDSA P-256 with SHA-1. Message: ''The operation is not supported.'' Reached unreachable code
    15 FAIL importVectorKeys step: ECDSA P-256 with SHA-256 verification with altered signature after call assert_unreached: importVectorKeys failed for ECDSA P-256 with SHA-256. Message: ''The operation is not supported.'' Reached unreachable code
    16 FAIL importVectorKeys step: ECDSA P-256 with SHA-384 verification with altered signature after call assert_unreached: importVectorKeys failed for ECDSA P-256 with SHA-384. Message: ''The operation is not supported.'' Reached unreachable code
    17 FAIL importVectorKeys step: ECDSA P-256 with SHA-512 verification with altered signature after call assert_unreached: importVectorKeys failed for ECDSA P-256 with SHA-512. Message: ''The operation is not supported.'' Reached unreachable code
    18 FAIL importVectorKeys step: ECDSA P-384 with SHA-1 verification with altered signature after call assert_unreached: importVectorKeys failed for ECDSA P-384 with SHA-1. Message: ''The operation is not supported.'' Reached unreachable code
    19 FAIL importVectorKeys step: ECDSA P-384 with SHA-256 verification with altered signature after call assert_unreached: importVectorKeys failed for ECDSA P-384 with SHA-256. Message: ''The operation is not supported.'' Reached unreachable code
    20 FAIL importVectorKeys step: ECDSA P-384 with SHA-384 verification with altered signature after call assert_unreached: importVectorKeys failed for ECDSA P-384 with SHA-384. Message: ''The operation is not supported.'' Reached unreachable code
    21 FAIL importVectorKeys step: ECDSA P-384 with SHA-512 verification with altered signature after call assert_unreached: importVectorKeys failed for ECDSA P-384 with SHA-512. Message: ''The operation is not supported.'' Reached unreachable code
    22 FAIL importVectorKeys step: ECDSA P-521 with SHA-1 verification with altered signature after call assert_unreached: importVectorKeys failed for ECDSA P-521 with SHA-1. Message: ''The operation is not supported.'' Reached unreachable code
    23 FAIL importVectorKeys step: ECDSA P-521 with SHA-256 verification with altered signature after call assert_unreached: importVectorKeys failed for ECDSA P-521 with SHA-256. Message: ''The operation is not supported.'' Reached unreachable code
    24 FAIL importVectorKeys step: ECDSA P-521 with SHA-384 verification with altered signature after call assert_unreached: importVectorKeys failed for ECDSA P-521 with SHA-384. Message: ''The operation is not supported.'' Reached unreachable code
    25 FAIL importVectorKeys step: ECDSA P-521 with SHA-512 verification with altered signature after call assert_unreached: importVectorKeys failed for ECDSA P-521 with SHA-512. Message: ''The operation is not supported.'' Reached unreachable code
    26 FAIL importVectorKeys step: ECDSA P-256 with SHA-1 with altered plaintext after call assert_unreached: importVectorKeys failed for ECDSA P-256 with SHA-1. Message: ''The operation is not supported.'' Reached unreachable code
    27 FAIL importVectorKeys step: ECDSA P-256 with SHA-256 with altered plaintext after call assert_unreached: importVectorKeys failed for ECDSA P-256 with SHA-256. Message: ''The operation is not supported.'' Reached unreachable code
    28 FAIL importVectorKeys step: ECDSA P-256 with SHA-384 with altered plaintext after call assert_unreached: importVectorKeys failed for ECDSA P-256 with SHA-384. Message: ''The operation is not supported.'' Reached unreachable code
    29 FAIL importVectorKeys step: ECDSA P-256 with SHA-512 with altered plaintext after call assert_unreached: importVectorKeys failed for ECDSA P-256 with SHA-512. Message: ''The operation is not supported.'' Reached unreachable code
    30 FAIL importVectorKeys step: ECDSA P-384 with SHA-1 with altered plaintext after call assert_unreached: importVectorKeys failed for ECDSA P-384 with SHA-1. Message: ''The operation is not supported.'' Reached unreachable code
    31 FAIL importVectorKeys step: ECDSA P-384 with SHA-256 with altered plaintext after call assert_unreached: importVectorKeys failed for ECDSA P-384 with SHA-256. Message: ''The operation is not supported.'' Reached unreachable code
    32 FAIL importVectorKeys step: ECDSA P-384 with SHA-384 with altered plaintext after call assert_unreached: importVectorKeys failed for ECDSA P-384 with SHA-384. Message: ''The operation is not supported.'' Reached unreachable code
    33 FAIL importVectorKeys step: ECDSA P-384 with SHA-512 with altered plaintext after call assert_unreached: importVectorKeys failed for ECDSA P-384 with SHA-512. Message: ''The operation is not supported.'' Reached unreachable code
    34 FAIL importVectorKeys step: ECDSA P-521 with SHA-1 with altered plaintext after call assert_unreached: importVectorKeys failed for ECDSA P-521 with SHA-1. Message: ''The operation is not supported.'' Reached unreachable code
    35 FAIL importVectorKeys step: ECDSA P-521 with SHA-256 with altered plaintext after call assert_unreached: importVectorKeys failed for ECDSA P-521 with SHA-256. Message: ''The operation is not supported.'' Reached unreachable code
    36 FAIL importVectorKeys step: ECDSA P-521 with SHA-384 with altered plaintext after call assert_unreached: importVectorKeys failed for ECDSA P-521 with SHA-384. Message: ''The operation is not supported.'' Reached unreachable code
    37 FAIL importVectorKeys step: ECDSA P-521 with SHA-512 with altered plaintext after call assert_unreached: importVectorKeys failed for ECDSA P-521 with SHA-512. Message: ''The operation is not supported.'' Reached unreachable code
    38 FAIL importVectorKeys step: ECDSA P-256 with SHA-1 using privateKey to verify assert_unreached: importVectorKeys failed for ECDSA P-256 with SHA-1. Message: ''The operation is not supported.'' Reached unreachable code
    39 FAIL importVectorKeys step: ECDSA P-256 with SHA-256 using privateKey to verify assert_unreached: importVectorKeys failed for ECDSA P-256 with SHA-256. Message: ''The operation is not supported.'' Reached unreachable code
    40 FAIL importVectorKeys step: ECDSA P-256 with SHA-384 using privateKey to verify assert_unreached: importVectorKeys failed for ECDSA P-256 with SHA-384. Message: ''The operation is not supported.'' Reached unreachable code
    41 FAIL importVectorKeys step: ECDSA P-256 with SHA-512 using privateKey to verify assert_unreached: importVectorKeys failed for ECDSA P-256 with SHA-512. Message: ''The operation is not supported.'' Reached unreachable code
    42 FAIL importVectorKeys step: ECDSA P-384 with SHA-1 using privateKey to verify assert_unreached: importVectorKeys failed for ECDSA P-384 with SHA-1. Message: ''The operation is not supported.'' Reached unreachable code
    43 FAIL importVectorKeys step: ECDSA P-384 with SHA-256 using privateKey to verify assert_unreached: importVectorKeys failed for ECDSA P-384 with SHA-256. Message: ''The operation is not supported.'' Reached unreachable code
    44 FAIL importVectorKeys step: ECDSA P-384 with SHA-384 using privateKey to verify assert_unreached: importVectorKeys failed for ECDSA P-384 with SHA-384. Message: ''The operation is not supported.'' Reached unreachable code
    45 FAIL importVectorKeys step: ECDSA P-384 with SHA-512 using privateKey to verify assert_unreached: importVectorKeys failed for ECDSA P-384 with SHA-512. Message: ''The operation is not supported.'' Reached unreachable code
    46 FAIL importVectorKeys step: ECDSA P-521 with SHA-1 using privateKey to verify assert_unreached: importVectorKeys failed for ECDSA P-521 with SHA-1. Message: ''The operation is not supported.'' Reached unreachable code
    47 FAIL importVectorKeys step: ECDSA P-521 with SHA-256 using privateKey to verify assert_unreached: importVectorKeys failed for ECDSA P-521 with SHA-256. Message: ''The operation is not supported.'' Reached unreachable code
    48 FAIL importVectorKeys step: ECDSA P-521 with SHA-384 using privateKey to verify assert_unreached: importVectorKeys failed for ECDSA P-521 with SHA-384. Message: ''The operation is not supported.'' Reached unreachable code
    49 FAIL importVectorKeys step: ECDSA P-521 with SHA-512 using privateKey to verify assert_unreached: importVectorKeys failed for ECDSA P-521 with SHA-512. Message: ''The operation is not supported.'' Reached unreachable code
    50 FAIL importVectorKeys step: ECDSA P-256 with SHA-1 using publicKey to sign assert_unreached: importVectorKeys failed for ECDSA P-256 with SHA-1. Message: ''The operation is not supported.'' Reached unreachable code
    51 FAIL importVectorKeys step: ECDSA P-256 with SHA-256 using publicKey to sign assert_unreached: importVectorKeys failed for ECDSA P-256 with SHA-256. Message: ''The operation is not supported.'' Reached unreachable code
    52 FAIL importVectorKeys step: ECDSA P-256 with SHA-384 using publicKey to sign assert_unreached: importVectorKeys failed for ECDSA P-256 with SHA-384. Message: ''The operation is not supported.'' Reached unreachable code
    53 FAIL importVectorKeys step: ECDSA P-256 with SHA-512 using publicKey to sign assert_unreached: importVectorKeys failed for ECDSA P-256 with SHA-512. Message: ''The operation is not supported.'' Reached unreachable code
    54 FAIL importVectorKeys step: ECDSA P-384 with SHA-1 using publicKey to sign assert_unreached: importVectorKeys failed for ECDSA P-384 with SHA-1. Message: ''The operation is not supported.'' Reached unreachable code
    55 FAIL importVectorKeys step: ECDSA P-384 with SHA-256 using publicKey to sign assert_unreached: importVectorKeys failed for ECDSA P-384 with SHA-256. Message: ''The operation is not supported.'' Reached unreachable code
    56 FAIL importVectorKeys step: ECDSA P-384 with SHA-384 using publicKey to sign assert_unreached: importVectorKeys failed for ECDSA P-384 with SHA-384. Message: ''The operation is not supported.'' Reached unreachable code
    57 FAIL importVectorKeys step: ECDSA P-384 with SHA-512 using publicKey to sign assert_unreached: importVectorKeys failed for ECDSA P-384 with SHA-512. Message: ''The operation is not supported.'' Reached unreachable code
    58 FAIL importVectorKeys step: ECDSA P-521 with SHA-1 using publicKey to sign assert_unreached: importVectorKeys failed for ECDSA P-521 with SHA-1. Message: ''The operation is not supported.'' Reached unreachable code
    59 FAIL importVectorKeys step: ECDSA P-521 with SHA-256 using publicKey to sign assert_unreached: importVectorKeys failed for ECDSA P-521 with SHA-256. Message: ''The operation is not supported.'' Reached unreachable code
    60 FAIL importVectorKeys step: ECDSA P-521 with SHA-384 using publicKey to sign assert_unreached: importVectorKeys failed for ECDSA P-521 with SHA-384. Message: ''The operation is not supported.'' Reached unreachable code
    61 FAIL importVectorKeys step: ECDSA P-521 with SHA-512 using publicKey to sign assert_unreached: importVectorKeys failed for ECDSA P-521 with SHA-512. Message: ''The operation is not supported.'' Reached unreachable code
    62 FAIL importVectorKeys step: ECDSA P-256 with SHA-1 no verify usage assert_unreached: importVectorKeys failed for ECDSA P-256 with SHA-1. Message: ''The operation is not supported.'' Reached unreachable code
    63 FAIL importVectorKeys step: ECDSA P-256 with SHA-256 no verify usage assert_unreached: importVectorKeys failed for ECDSA P-256 with SHA-256. Message: ''The operation is not supported.'' Reached unreachable code
    64 FAIL importVectorKeys step: ECDSA P-256 with SHA-384 no verify usage assert_unreached: importVectorKeys failed for ECDSA P-256 with SHA-384. Message: ''The operation is not supported.'' Reached unreachable code
    65 FAIL importVectorKeys step: ECDSA P-256 with SHA-512 no verify usage assert_unreached: importVectorKeys failed for ECDSA P-256 with SHA-512. Message: ''The operation is not supported.'' Reached unreachable code
    66 FAIL importVectorKeys step: ECDSA P-384 with SHA-1 no verify usage assert_unreached: importVectorKeys failed for ECDSA P-384 with SHA-1. Message: ''The operation is not supported.'' Reached unreachable code
    67 FAIL importVectorKeys step: ECDSA P-384 with SHA-256 no verify usage assert_unreached: importVectorKeys failed for ECDSA P-384 with SHA-256. Message: ''The operation is not supported.'' Reached unreachable code
    68 FAIL importVectorKeys step: ECDSA P-384 with SHA-384 no verify usage assert_unreached: importVectorKeys failed for ECDSA P-384 with SHA-384. Message: ''The operation is not supported.'' Reached unreachable code
    69 FAIL importVectorKeys step: ECDSA P-384 with SHA-512 no verify usage assert_unreached: importVectorKeys failed for ECDSA P-384 with SHA-512. Message: ''The operation is not supported.'' Reached unreachable code
    70 FAIL importVectorKeys step: ECDSA P-521 with SHA-1 no verify usage assert_unreached: importVectorKeys failed for ECDSA P-521 with SHA-1. Message: ''The operation is not supported.'' Reached unreachable code
    71 FAIL importVectorKeys step: ECDSA P-521 with SHA-256 no verify usage assert_unreached: importVectorKeys failed for ECDSA P-521 with SHA-256. Message: ''The operation is not supported.'' Reached unreachable code
    72 FAIL importVectorKeys step: ECDSA P-521 with SHA-384 no verify usage assert_unreached: importVectorKeys failed for ECDSA P-521 with SHA-384. Message: ''The operation is not supported.'' Reached unreachable code
    73 FAIL importVectorKeys step: ECDSA P-521 with SHA-512 no verify usage assert_unreached: importVectorKeys failed for ECDSA P-521 with SHA-512. Message: ''The operation is not supported.'' Reached unreachable code
    74 FAIL importVectorKeys step: ECDSA P-256 with SHA-1 round trip assert_unreached: importVectorKeys failed for ECDSA P-256 with SHA-1. Message: ''The operation is not supported.'' Reached unreachable code
    75 FAIL importVectorKeys step: ECDSA P-256 with SHA-256 round trip assert_unreached: importVectorKeys failed for ECDSA P-256 with SHA-256. Message: ''The operation is not supported.'' Reached unreachable code
    76 FAIL importVectorKeys step: ECDSA P-256 with SHA-384 round trip assert_unreached: importVectorKeys failed for ECDSA P-256 with SHA-384. Message: ''The operation is not supported.'' Reached unreachable code
    77 FAIL importVectorKeys step: ECDSA P-256 with SHA-512 round trip assert_unreached: importVectorKeys failed for ECDSA P-256 with SHA-512. Message: ''The operation is not supported.'' Reached unreachable code
    78 FAIL importVectorKeys step: ECDSA P-384 with SHA-1 round trip assert_unreached: importVectorKeys failed for ECDSA P-384 with SHA-1. Message: ''The operation is not supported.'' Reached unreachable code
    79 FAIL importVectorKeys step: ECDSA P-384 with SHA-256 round trip assert_unreached: importVectorKeys failed for ECDSA P-384 with SHA-256. Message: ''The operation is not supported.'' Reached unreachable code
    80 FAIL importVectorKeys step: ECDSA P-384 with SHA-384 round trip assert_unreached: importVectorKeys failed for ECDSA P-384 with SHA-384. Message: ''The operation is not supported.'' Reached unreachable code
    81 FAIL importVectorKeys step: ECDSA P-384 with SHA-512 round trip assert_unreached: importVectorKeys failed for ECDSA P-384 with SHA-512. Message: ''The operation is not supported.'' Reached unreachable code
    82 FAIL importVectorKeys step: ECDSA P-521 with SHA-1 round trip assert_unreached: importVectorKeys failed for ECDSA P-521 with SHA-1. Message: ''The operation is not supported.'' Reached unreachable code
    83 FAIL importVectorKeys step: ECDSA P-521 with SHA-256 round trip assert_unreached: importVectorKeys failed for ECDSA P-521 with SHA-256. Message: ''The operation is not supported.'' Reached unreachable code
    84 FAIL importVectorKeys step: ECDSA P-521 with SHA-384 round trip assert_unreached: importVectorKeys failed for ECDSA P-521 with SHA-384. Message: ''The operation is not supported.'' Reached unreachable code
    85 FAIL importVectorKeys step: ECDSA P-521 with SHA-512 round trip assert_unreached: importVectorKeys failed for ECDSA P-521 with SHA-512. Message: ''The operation is not supported.'' Reached unreachable code
    86 FAIL importVectorKeys step: ECDSA P-256 with SHA-1 verification failure due to altered signature assert_unreached: importVectorKeys failed for ECDSA P-256 with SHA-1. Message: ''The operation is not supported.'' Reached unreachable code
    87 FAIL importVectorKeys step: ECDSA P-256 with SHA-256 verification failure due to altered signature assert_unreached: importVectorKeys failed for ECDSA P-256 with SHA-256. Message: ''The operation is not supported.'' Reached unreachable code
    88 FAIL importVectorKeys step: ECDSA P-256 with SHA-384 verification failure due to altered signature assert_unreached: importVectorKeys failed for ECDSA P-256 with SHA-384. Message: ''The operation is not supported.'' Reached unreachable code
    89 FAIL importVectorKeys step: ECDSA P-256 with SHA-512 verification failure due to altered signature assert_unreached: importVectorKeys failed for ECDSA P-256 with SHA-512. Message: ''The operation is not supported.'' Reached unreachable code
    90 FAIL importVectorKeys step: ECDSA P-384 with SHA-1 verification failure due to altered signature assert_unreached: importVectorKeys failed for ECDSA P-384 with SHA-1. Message: ''The operation is not supported.'' Reached unreachable code
    91 FAIL importVectorKeys step: ECDSA P-384 with SHA-256 verification failure due to altered signature assert_unreached: importVectorKeys failed for ECDSA P-384 with SHA-256. Message: ''The operation is not supported.'' Reached unreachable code
    92 FAIL importVectorKeys step: ECDSA P-384 with SHA-384 verification failure due to altered signature assert_unreached: importVectorKeys failed for ECDSA P-384 with SHA-384. Message: ''The operation is not supported.'' Reached unreachable code
    93 FAIL importVectorKeys step: ECDSA P-384 with SHA-512 verification failure due to altered signature assert_unreached: importVectorKeys failed for ECDSA P-384 with SHA-512. Message: ''The operation is not supported.'' Reached unreachable code
    94 FAIL importVectorKeys step: ECDSA P-521 with SHA-1 verification failure due to altered signature assert_unreached: importVectorKeys failed for ECDSA P-521 with SHA-1. Message: ''The operation is not supported.'' Reached unreachable code
    95 FAIL importVectorKeys step: ECDSA P-521 with SHA-256 verification failure due to altered signature assert_unreached: importVectorKeys failed for ECDSA P-521 with SHA-256. Message: ''The operation is not supported.'' Reached unreachable code
    96 FAIL importVectorKeys step: ECDSA P-521 with SHA-384 verification failure due to altered signature assert_unreached: importVectorKeys failed for ECDSA P-521 with SHA-384. Message: ''The operation is not supported.'' Reached unreachable code
    97 FAIL importVectorKeys step: ECDSA P-521 with SHA-512 verification failure due to altered signature assert_unreached: importVectorKeys failed for ECDSA P-521 with SHA-512. Message: ''The operation is not supported.'' Reached unreachable code
    98 FAIL importVectorKeys step: ECDSA P-256 with SHA-1 verification failure due to wrong hash assert_unreached: importVectorKeys failed for ECDSA P-256 with SHA-1. Message: ''The operation is not supported.'' Reached unreachable code
    99 FAIL importVectorKeys step: ECDSA P-256 with SHA-256 verification failure due to wrong hash assert_unreached: importVectorKeys failed for ECDSA P-256 with SHA-256. Message: ''The operation is not supported.'' Reached unreachable code
    100 FAIL importVectorKeys step: ECDSA P-256 with SHA-384 verification failure due to wrong hash assert_unreached: importVectorKeys failed for ECDSA P-256 with SHA-384. Message: ''The operation is not supported.'' Reached unreachable code
    101 FAIL importVectorKeys step: ECDSA P-256 with SHA-512 verification failure due to wrong hash assert_unreached: importVectorKeys failed for ECDSA P-256 with SHA-512. Message: ''The operation is not supported.'' Reached unreachable code
    102 FAIL importVectorKeys step: ECDSA P-384 with SHA-1 verification failure due to wrong hash assert_unreached: importVectorKeys failed for ECDSA P-384 with SHA-1. Message: ''The operation is not supported.'' Reached unreachable code
    103 FAIL importVectorKeys step: ECDSA P-384 with SHA-256 verification failure due to wrong hash assert_unreached: importVectorKeys failed for ECDSA P-384 with SHA-256. Message: ''The operation is not supported.'' Reached unreachable code
    104 FAIL importVectorKeys step: ECDSA P-384 with SHA-384 verification failure due to wrong hash assert_unreached: importVectorKeys failed for ECDSA P-384 with SHA-384. Message: ''The operation is not supported.'' Reached unreachable code
    105 FAIL importVectorKeys step: ECDSA P-384 with SHA-512 verification failure due to wrong hash assert_unreached: importVectorKeys failed for ECDSA P-384 with SHA-512. Message: ''The operation is not supported.'' Reached unreachable code
    106 FAIL importVectorKeys step: ECDSA P-521 with SHA-1 verification failure due to wrong hash assert_unreached: importVectorKeys failed for ECDSA P-521 with SHA-1. Message: ''The operation is not supported.'' Reached unreachable code
    107 FAIL importVectorKeys step: ECDSA P-521 with SHA-256 verification failure due to wrong hash assert_unreached: importVectorKeys failed for ECDSA P-521 with SHA-256. Message: ''The operation is not supported.'' Reached unreachable code
    108 FAIL importVectorKeys step: ECDSA P-521 with SHA-384 verification failure due to wrong hash assert_unreached: importVectorKeys failed for ECDSA P-521 with SHA-384. Message: ''The operation is not supported.'' Reached unreachable code
    109 FAIL importVectorKeys step: ECDSA P-521 with SHA-512 verification failure due to wrong hash assert_unreached: importVectorKeys failed for ECDSA P-521 with SHA-512. Message: ''The operation is not supported.'' Reached unreachable code
    110 FAIL importVectorKeys step: ECDSA P-256 with SHA-1 verification failure due to bad hash name assert_unreached: importVectorKeys failed for ECDSA P-256 with SHA-1. Message: ''The operation is not supported.'' Reached unreachable code
    111 FAIL importVectorKeys step: ECDSA P-256 with SHA-256 verification failure due to bad hash name assert_unreached: importVectorKeys failed for ECDSA P-256 with SHA-256. Message: ''The operation is not supported.'' Reached unreachable code
    112 FAIL importVectorKeys step: ECDSA P-256 with SHA-384 verification failure due to bad hash name assert_unreached: importVectorKeys failed for ECDSA P-256 with SHA-384. Message: ''The operation is not supported.'' Reached unreachable code
    113 FAIL importVectorKeys step: ECDSA P-256 with SHA-512 verification failure due to bad hash name assert_unreached: importVectorKeys failed for ECDSA P-256 with SHA-512. Message: ''The operation is not supported.'' Reached unreachable code
    114 FAIL importVectorKeys step: ECDSA P-384 with SHA-1 verification failure due to bad hash name assert_unreached: importVectorKeys failed for ECDSA P-384 with SHA-1. Message: ''The operation is not supported.'' Reached unreachable code
    115 FAIL importVectorKeys step: ECDSA P-384 with SHA-256 verification failure due to bad hash name assert_unreached: importVectorKeys failed for ECDSA P-384 with SHA-256. Message: ''The operation is not supported.'' Reached unreachable code
    116 FAIL importVectorKeys step: ECDSA P-384 with SHA-384 verification failure due to bad hash name assert_unreached: importVectorKeys failed for ECDSA P-384 with SHA-384. Message: ''The operation is not supported.'' Reached unreachable code
    117 FAIL importVectorKeys step: ECDSA P-384 with SHA-512 verification failure due to bad hash name assert_unreached: importVectorKeys failed for ECDSA P-384 with SHA-512. Message: ''The operation is not supported.'' Reached unreachable code
    118 FAIL importVectorKeys step: ECDSA P-521 with SHA-1 verification failure due to bad hash name assert_unreached: importVectorKeys failed for ECDSA P-521 with SHA-1. Message: ''The operation is not supported.'' Reached unreachable code
    119 FAIL importVectorKeys step: ECDSA P-521 with SHA-256 verification failure due to bad hash name assert_unreached: importVectorKeys failed for ECDSA P-521 with SHA-256. Message: ''The operation is not supported.'' Reached unreachable code
    120 FAIL importVectorKeys step: ECDSA P-521 with SHA-384 verification failure due to bad hash name assert_unreached: importVectorKeys failed for ECDSA P-521 with SHA-384. Message: ''The operation is not supported.'' Reached unreachable code
    121 FAIL importVectorKeys step: ECDSA P-521 with SHA-512 verification failure due to bad hash name assert_unreached: importVectorKeys failed for ECDSA P-521 with SHA-512. Message: ''The operation is not supported.'' Reached unreachable code
    122 FAIL importVectorKeys step: ECDSA P-256 with SHA-1 verification failure due to shortened signature assert_unreached: importVectorKeys failed for ECDSA P-256 with SHA-1. Message: ''The operation is not supported.'' Reached unreachable code
    123 FAIL importVectorKeys step: ECDSA P-256 with SHA-256 verification failure due to shortened signature assert_unreached: importVectorKeys failed for ECDSA P-256 with SHA-256. Message: ''The operation is not supported.'' Reached unreachable code
    124 FAIL importVectorKeys step: ECDSA P-256 with SHA-384 verification failure due to shortened signature assert_unreached: importVectorKeys failed for ECDSA P-256 with SHA-384. Message: ''The operation is not supported.'' Reached unreachable code
    125 FAIL importVectorKeys step: ECDSA P-256 with SHA-512 verification failure due to shortened signature assert_unreached: importVectorKeys failed for ECDSA P-256 with SHA-512. Message: ''The operation is not supported.'' Reached unreachable code
    126 FAIL importVectorKeys step: ECDSA P-384 with SHA-1 verification failure due to shortened signature assert_unreached: importVectorKeys failed for ECDSA P-384 with SHA-1. Message: ''The operation is not supported.'' Reached unreachable code
    127 FAIL importVectorKeys step: ECDSA P-384 with SHA-256 verification failure due to shortened signature assert_unreached: importVectorKeys failed for ECDSA P-384 with SHA-256. Message: ''The operation is not supported.'' Reached unreachable code
    128 FAIL importVectorKeys step: ECDSA P-384 with SHA-384 verification failure due to shortened signature assert_unreached: importVectorKeys failed for ECDSA P-384 with SHA-384. Message: ''The operation is not supported.'' Reached unreachable code
    129 FAIL importVectorKeys step: ECDSA P-384 with SHA-512 verification failure due to shortened signature assert_unreached: importVectorKeys failed for ECDSA P-384 with SHA-512. Message: ''The operation is not supported.'' Reached unreachable code
    130 FAIL importVectorKeys step: ECDSA P-521 with SHA-1 verification failure due to shortened signature assert_unreached: importVectorKeys failed for ECDSA P-521 with SHA-1. Message: ''The operation is not supported.'' Reached unreachable code
    131 FAIL importVectorKeys step: ECDSA P-521 with SHA-256 verification failure due to shortened signature assert_unreached: importVectorKeys failed for ECDSA P-521 with SHA-256. Message: ''The operation is not supported.'' Reached unreachable code
    132 FAIL importVectorKeys step: ECDSA P-521 with SHA-384 verification failure due to shortened signature assert_unreached: importVectorKeys failed for ECDSA P-521 with SHA-384. Message: ''The operation is not supported.'' Reached unreachable code
    133 FAIL importVectorKeys step: ECDSA P-521 with SHA-512 verification failure due to shortened signature assert_unreached: importVectorKeys failed for ECDSA P-521 with SHA-512. Message: ''The operation is not supported.'' Reached unreachable code
    134 FAIL importVectorKeys step: ECDSA P-256 with SHA-1 verification failure due to altered plaintext assert_unreached: importVectorKeys failed for ECDSA P-256 with SHA-1. Message: ''The operation is not supported.'' Reached unreachable code
    135 FAIL importVectorKeys step: ECDSA P-256 with SHA-256 verification failure due to altered plaintext assert_unreached: importVectorKeys failed for ECDSA P-256 with SHA-256. Message: ''The operation is not supported.'' Reached unreachable code
    136 FAIL importVectorKeys step: ECDSA P-256 with SHA-384 verification failure due to altered plaintext assert_unreached: importVectorKeys failed for ECDSA P-256 with SHA-384. Message: ''The operation is not supported.'' Reached unreachable code
    137 FAIL importVectorKeys step: ECDSA P-256 with SHA-512 verification failure due to altered plaintext assert_unreached: importVectorKeys failed for ECDSA P-256 with SHA-512. Message: ''The operation is not supported.'' Reached unreachable code
    138 FAIL importVectorKeys step: ECDSA P-384 with SHA-1 verification failure due to altered plaintext assert_unreached: importVectorKeys failed for ECDSA P-384 with SHA-1. Message: ''The operation is not supported.'' Reached unreachable code
    139 FAIL importVectorKeys step: ECDSA P-384 with SHA-256 verification failure due to altered plaintext assert_unreached: importVectorKeys failed for ECDSA P-384 with SHA-256. Message: ''The operation is not supported.'' Reached unreachable code
    140 FAIL importVectorKeys step: ECDSA P-384 with SHA-384 verification failure due to altered plaintext assert_unreached: importVectorKeys failed for ECDSA P-384 with SHA-384. Message: ''The operation is not supported.'' Reached unreachable code
    141 FAIL importVectorKeys step: ECDSA P-384 with SHA-512 verification failure due to altered plaintext assert_unreached: importVectorKeys failed for ECDSA P-384 with SHA-512. Message: ''The operation is not supported.'' Reached unreachable code
    142 FAIL importVectorKeys step: ECDSA P-521 with SHA-1 verification failure due to altered plaintext assert_unreached: importVectorKeys failed for ECDSA P-521 with SHA-1. Message: ''The operation is not supported.'' Reached unreachable code
    143 FAIL importVectorKeys step: ECDSA P-521 with SHA-256 verification failure due to altered plaintext assert_unreached: importVectorKeys failed for ECDSA P-521 with SHA-256. Message: ''The operation is not supported.'' Reached unreachable code
    144 FAIL importVectorKeys step: ECDSA P-521 with SHA-384 verification failure due to altered plaintext assert_unreached: importVectorKeys failed for ECDSA P-521 with SHA-384. Message: ''The operation is not supported.'' Reached unreachable code
    145 FAIL importVectorKeys step: ECDSA P-521 with SHA-512 verification failure due to altered plaintext assert_unreached: importVectorKeys failed for ECDSA P-521 with SHA-512. Message: ''The operation is not supported.'' Reached unreachable code
    146 FAIL importVectorKeys step: ECDSA P-256 with SHA-1 signing with wrong algorithm name assert_unreached: importVectorKeys failed for ECDSA P-256 with SHA-1. Message: ''The operation is not supported.'' Reached unreachable code
    147 FAIL importVectorKeys step: ECDSA P-256 with SHA-256 signing with wrong algorithm name assert_unreached: importVectorKeys failed for ECDSA P-256 with SHA-256. Message: ''The operation is not supported.'' Reached unreachable code
    148 FAIL importVectorKeys step: ECDSA P-256 with SHA-384 signing with wrong algorithm name assert_unreached: importVectorKeys failed for ECDSA P-256 with SHA-384. Message: ''The operation is not supported.'' Reached unreachable code
    149 FAIL importVectorKeys step: ECDSA P-256 with SHA-512 signing with wrong algorithm name assert_unreached: importVectorKeys failed for ECDSA P-256 with SHA-512. Message: ''The operation is not supported.'' Reached unreachable code
    150 FAIL importVectorKeys step: ECDSA P-384 with SHA-1 signing with wrong algorithm name assert_unreached: importVectorKeys failed for ECDSA P-384 with SHA-1. Message: ''The operation is not supported.'' Reached unreachable code
    151 FAIL importVectorKeys step: ECDSA P-384 with SHA-256 signing with wrong algorithm name assert_unreached: importVectorKeys failed for ECDSA P-384 with SHA-256. Message: ''The operation is not supported.'' Reached unreachable code
    152 FAIL importVectorKeys step: ECDSA P-384 with SHA-384 signing with wrong algorithm name assert_unreached: importVectorKeys failed for ECDSA P-384 with SHA-384. Message: ''The operation is not supported.'' Reached unreachable code
    153 FAIL importVectorKeys step: ECDSA P-384 with SHA-512 signing with wrong algorithm name assert_unreached: importVectorKeys failed for ECDSA P-384 with SHA-512. Message: ''The operation is not supported.'' Reached unreachable code
    154 FAIL importVectorKeys step: ECDSA P-521 with SHA-1 signing with wrong algorithm name assert_unreached: importVectorKeys failed for ECDSA P-521 with SHA-1. Message: ''The operation is not supported.'' Reached unreachable code
    155 FAIL importVectorKeys step: ECDSA P-521 with SHA-256 signing with wrong algorithm name assert_unreached: importVectorKeys failed for ECDSA P-521 with SHA-256. Message: ''The operation is not supported.'' Reached unreachable code
    156 FAIL importVectorKeys step: ECDSA P-521 with SHA-384 signing with wrong algorithm name assert_unreached: importVectorKeys failed for ECDSA P-521 with SHA-384. Message: ''The operation is not supported.'' Reached unreachable code
    157 FAIL importVectorKeys step: ECDSA P-521 with SHA-512 signing with wrong algorithm name assert_unreached: importVectorKeys failed for ECDSA P-521 with SHA-512. Message: ''The operation is not supported.'' Reached unreachable code
    158 FAIL importVectorKeys step: ECDSA P-256 with SHA-1 verifying with wrong algorithm name assert_unreached: importVectorKeys failed for ECDSA P-256 with SHA-1. Message: ''The operation is not supported.'' Reached unreachable code
    159 FAIL importVectorKeys step: ECDSA P-256 with SHA-256 verifying with wrong algorithm name assert_unreached: importVectorKeys failed for ECDSA P-256 with SHA-256. Message: ''The operation is not supported.'' Reached unreachable code
    160 FAIL importVectorKeys step: ECDSA P-256 with SHA-384 verifying with wrong algorithm name assert_unreached: importVectorKeys failed for ECDSA P-256 with SHA-384. Message: ''The operation is not supported.'' Reached unreachable code
    161 FAIL importVectorKeys step: ECDSA P-256 with SHA-512 verifying with wrong algorithm name assert_unreached: importVectorKeys failed for ECDSA P-256 with SHA-512. Message: ''The operation is not supported.'' Reached unreachable code
    162 FAIL importVectorKeys step: ECDSA P-384 with SHA-1 verifying with wrong algorithm name assert_unreached: importVectorKeys failed for ECDSA P-384 with SHA-1. Message: ''The operation is not supported.'' Reached unreachable code
    163 FAIL importVectorKeys step: ECDSA P-384 with SHA-256 verifying with wrong algorithm name assert_unreached: importVectorKeys failed for ECDSA P-384 with SHA-256. Message: ''The operation is not supported.'' Reached unreachable code
    164 FAIL importVectorKeys step: ECDSA P-384 with SHA-384 verifying with wrong algorithm name assert_unreached: importVectorKeys failed for ECDSA P-384 with SHA-384. Message: ''The operation is not supported.'' Reached unreachable code
    165 FAIL importVectorKeys step: ECDSA P-384 with SHA-512 verifying with wrong algorithm name assert_unreached: importVectorKeys failed for ECDSA P-384 with SHA-512. Message: ''The operation is not supported.'' Reached unreachable code
    166 FAIL importVectorKeys step: ECDSA P-521 with SHA-1 verifying with wrong algorithm name assert_unreached: importVectorKeys failed for ECDSA P-521 with SHA-1. Message: ''The operation is not supported.'' Reached unreachable code
    167 FAIL importVectorKeys step: ECDSA P-521 with SHA-256 verifying with wrong algorithm name assert_unreached: importVectorKeys failed for ECDSA P-521 with SHA-256. Message: ''The operation is not supported.'' Reached unreachable code
    168 FAIL importVectorKeys step: ECDSA P-521 with SHA-384 verifying with wrong algorithm name assert_unreached: importVectorKeys failed for ECDSA P-521 with SHA-384. Message: ''The operation is not supported.'' Reached unreachable code
    169 FAIL importVectorKeys step: ECDSA P-521 with SHA-512 verifying with wrong algorithm name assert_unreached: importVectorKeys failed for ECDSA P-521 with SHA-512. Message: ''The operation is not supported.'' Reached unreachable code
     2PASS ECDSA P-256 with SHA-1 verification
     3PASS ECDSA P-256 with SHA-256 verification
     4PASS ECDSA P-256 with SHA-384 verification
     5PASS ECDSA P-256 with SHA-512 verification
     6PASS ECDSA P-384 with SHA-1 verification
     7PASS ECDSA P-384 with SHA-256 verification
     8PASS ECDSA P-384 with SHA-384 verification
     9PASS ECDSA P-384 with SHA-512 verification
     10FAIL importVectorKeys step: ECDSA P-521 with SHA-1 verification assert_unreached: importVectorKeys failed for ECDSA P-521 with SHA-1. Message: ''Data provided to an operation does not meet requirements'' Reached unreachable code
     11FAIL importVectorKeys step: ECDSA P-521 with SHA-256 verification assert_unreached: importVectorKeys failed for ECDSA P-521 with SHA-256. Message: ''Data provided to an operation does not meet requirements'' Reached unreachable code
     12FAIL importVectorKeys step: ECDSA P-521 with SHA-384 verification assert_unreached: importVectorKeys failed for ECDSA P-521 with SHA-384. Message: ''Data provided to an operation does not meet requirements'' Reached unreachable code
     13FAIL importVectorKeys step: ECDSA P-521 with SHA-512 verification assert_unreached: importVectorKeys failed for ECDSA P-521 with SHA-512. Message: ''Data provided to an operation does not meet requirements'' Reached unreachable code
     14PASS ECDSA P-256 with SHA-1 verification with altered signature after call
     15PASS ECDSA P-256 with SHA-256 verification with altered signature after call
     16PASS ECDSA P-256 with SHA-384 verification with altered signature after call
     17PASS ECDSA P-256 with SHA-512 verification with altered signature after call
     18PASS ECDSA P-384 with SHA-1 verification with altered signature after call
     19PASS ECDSA P-384 with SHA-256 verification with altered signature after call
     20PASS ECDSA P-384 with SHA-384 verification with altered signature after call
     21PASS ECDSA P-384 with SHA-512 verification with altered signature after call
     22FAIL importVectorKeys step: ECDSA P-521 with SHA-1 verification with altered signature after call assert_unreached: importVectorKeys failed for ECDSA P-521 with SHA-1. Message: ''Data provided to an operation does not meet requirements'' Reached unreachable code
     23FAIL importVectorKeys step: ECDSA P-521 with SHA-256 verification with altered signature after call assert_unreached: importVectorKeys failed for ECDSA P-521 with SHA-256. Message: ''Data provided to an operation does not meet requirements'' Reached unreachable code
     24FAIL importVectorKeys step: ECDSA P-521 with SHA-384 verification with altered signature after call assert_unreached: importVectorKeys failed for ECDSA P-521 with SHA-384. Message: ''Data provided to an operation does not meet requirements'' Reached unreachable code
     25FAIL importVectorKeys step: ECDSA P-521 with SHA-512 verification with altered signature after call assert_unreached: importVectorKeys failed for ECDSA P-521 with SHA-512. Message: ''Data provided to an operation does not meet requirements'' Reached unreachable code
     26PASS ECDSA P-256 with SHA-1 with altered plaintext after call
     27PASS ECDSA P-256 with SHA-256 with altered plaintext after call
     28PASS ECDSA P-256 with SHA-384 with altered plaintext after call
     29PASS ECDSA P-256 with SHA-512 with altered plaintext after call
     30PASS ECDSA P-384 with SHA-1 with altered plaintext after call
     31PASS ECDSA P-384 with SHA-256 with altered plaintext after call
     32PASS ECDSA P-384 with SHA-384 with altered plaintext after call
     33PASS ECDSA P-384 with SHA-512 with altered plaintext after call
     34FAIL importVectorKeys step: ECDSA P-521 with SHA-1 with altered plaintext after call assert_unreached: importVectorKeys failed for ECDSA P-521 with SHA-1. Message: ''Data provided to an operation does not meet requirements'' Reached unreachable code
     35FAIL importVectorKeys step: ECDSA P-521 with SHA-256 with altered plaintext after call assert_unreached: importVectorKeys failed for ECDSA P-521 with SHA-256. Message: ''Data provided to an operation does not meet requirements'' Reached unreachable code
     36FAIL importVectorKeys step: ECDSA P-521 with SHA-384 with altered plaintext after call assert_unreached: importVectorKeys failed for ECDSA P-521 with SHA-384. Message: ''Data provided to an operation does not meet requirements'' Reached unreachable code
     37FAIL importVectorKeys step: ECDSA P-521 with SHA-512 with altered plaintext after call assert_unreached: importVectorKeys failed for ECDSA P-521 with SHA-512. Message: ''Data provided to an operation does not meet requirements'' Reached unreachable code
     38PASS ECDSA P-256 with SHA-1 using privateKey to verify
     39PASS ECDSA P-256 with SHA-256 using privateKey to verify
     40PASS ECDSA P-256 with SHA-384 using privateKey to verify
     41PASS ECDSA P-256 with SHA-512 using privateKey to verify
     42PASS ECDSA P-384 with SHA-1 using privateKey to verify
     43PASS ECDSA P-384 with SHA-256 using privateKey to verify
     44PASS ECDSA P-384 with SHA-384 using privateKey to verify
     45PASS ECDSA P-384 with SHA-512 using privateKey to verify
     46FAIL importVectorKeys step: ECDSA P-521 with SHA-1 using privateKey to verify assert_unreached: importVectorKeys failed for ECDSA P-521 with SHA-1. Message: ''Data provided to an operation does not meet requirements'' Reached unreachable code
     47FAIL importVectorKeys step: ECDSA P-521 with SHA-256 using privateKey to verify assert_unreached: importVectorKeys failed for ECDSA P-521 with SHA-256. Message: ''Data provided to an operation does not meet requirements'' Reached unreachable code
     48FAIL importVectorKeys step: ECDSA P-521 with SHA-384 using privateKey to verify assert_unreached: importVectorKeys failed for ECDSA P-521 with SHA-384. Message: ''Data provided to an operation does not meet requirements'' Reached unreachable code
     49FAIL importVectorKeys step: ECDSA P-521 with SHA-512 using privateKey to verify assert_unreached: importVectorKeys failed for ECDSA P-521 with SHA-512. Message: ''Data provided to an operation does not meet requirements'' Reached unreachable code
     50PASS ECDSA P-256 with SHA-1 using publicKey to sign
     51PASS ECDSA P-256 with SHA-256 using publicKey to sign
     52PASS ECDSA P-256 with SHA-384 using publicKey to sign
     53PASS ECDSA P-256 with SHA-512 using publicKey to sign
     54PASS ECDSA P-384 with SHA-1 using publicKey to sign
     55PASS ECDSA P-384 with SHA-256 using publicKey to sign
     56PASS ECDSA P-384 with SHA-384 using publicKey to sign
     57PASS ECDSA P-384 with SHA-512 using publicKey to sign
     58FAIL importVectorKeys step: ECDSA P-521 with SHA-1 using publicKey to sign assert_unreached: importVectorKeys failed for ECDSA P-521 with SHA-1. Message: ''Data provided to an operation does not meet requirements'' Reached unreachable code
     59FAIL importVectorKeys step: ECDSA P-521 with SHA-256 using publicKey to sign assert_unreached: importVectorKeys failed for ECDSA P-521 with SHA-256. Message: ''Data provided to an operation does not meet requirements'' Reached unreachable code
     60FAIL importVectorKeys step: ECDSA P-521 with SHA-384 using publicKey to sign assert_unreached: importVectorKeys failed for ECDSA P-521 with SHA-384. Message: ''Data provided to an operation does not meet requirements'' Reached unreachable code
     61FAIL importVectorKeys step: ECDSA P-521 with SHA-512 using publicKey to sign assert_unreached: importVectorKeys failed for ECDSA P-521 with SHA-512. Message: ''Data provided to an operation does not meet requirements'' Reached unreachable code
     62PASS ECDSA P-256 with SHA-1 no verify usage
     63PASS ECDSA P-256 with SHA-256 no verify usage
     64PASS ECDSA P-256 with SHA-384 no verify usage
     65PASS ECDSA P-256 with SHA-512 no verify usage
     66PASS ECDSA P-384 with SHA-1 no verify usage
     67PASS ECDSA P-384 with SHA-256 no verify usage
     68PASS ECDSA P-384 with SHA-384 no verify usage
     69PASS ECDSA P-384 with SHA-512 no verify usage
     70FAIL importVectorKeys step: ECDSA P-521 with SHA-1 no verify usage assert_unreached: importVectorKeys failed for ECDSA P-521 with SHA-1. Message: ''Data provided to an operation does not meet requirements'' Reached unreachable code
     71FAIL importVectorKeys step: ECDSA P-521 with SHA-256 no verify usage assert_unreached: importVectorKeys failed for ECDSA P-521 with SHA-256. Message: ''Data provided to an operation does not meet requirements'' Reached unreachable code
     72FAIL importVectorKeys step: ECDSA P-521 with SHA-384 no verify usage assert_unreached: importVectorKeys failed for ECDSA P-521 with SHA-384. Message: ''Data provided to an operation does not meet requirements'' Reached unreachable code
     73FAIL importVectorKeys step: ECDSA P-521 with SHA-512 no verify usage assert_unreached: importVectorKeys failed for ECDSA P-521 with SHA-512. Message: ''Data provided to an operation does not meet requirements'' Reached unreachable code
     74PASS ECDSA P-256 with SHA-1 round trip
     75PASS ECDSA P-256 with SHA-256 round trip
     76PASS ECDSA P-256 with SHA-384 round trip
     77PASS ECDSA P-256 with SHA-512 round trip
     78PASS ECDSA P-384 with SHA-1 round trip
     79PASS ECDSA P-384 with SHA-256 round trip
     80PASS ECDSA P-384 with SHA-384 round trip
     81PASS ECDSA P-384 with SHA-512 round trip
     82FAIL importVectorKeys step: ECDSA P-521 with SHA-1 round trip assert_unreached: importVectorKeys failed for ECDSA P-521 with SHA-1. Message: ''Data provided to an operation does not meet requirements'' Reached unreachable code
     83FAIL importVectorKeys step: ECDSA P-521 with SHA-256 round trip assert_unreached: importVectorKeys failed for ECDSA P-521 with SHA-256. Message: ''Data provided to an operation does not meet requirements'' Reached unreachable code
     84FAIL importVectorKeys step: ECDSA P-521 with SHA-384 round trip assert_unreached: importVectorKeys failed for ECDSA P-521 with SHA-384. Message: ''Data provided to an operation does not meet requirements'' Reached unreachable code
     85FAIL importVectorKeys step: ECDSA P-521 with SHA-512 round trip assert_unreached: importVectorKeys failed for ECDSA P-521 with SHA-512. Message: ''Data provided to an operation does not meet requirements'' Reached unreachable code
     86PASS ECDSA P-256 with SHA-1 signing with wrong algorithm name
     87PASS ECDSA P-256 with SHA-256 signing with wrong algorithm name
     88PASS ECDSA P-256 with SHA-384 signing with wrong algorithm name
     89PASS ECDSA P-256 with SHA-512 signing with wrong algorithm name
     90PASS ECDSA P-384 with SHA-1 signing with wrong algorithm name
     91PASS ECDSA P-384 with SHA-256 signing with wrong algorithm name
     92PASS ECDSA P-384 with SHA-384 signing with wrong algorithm name
     93PASS ECDSA P-384 with SHA-512 signing with wrong algorithm name
     94PASS ECDSA P-256 with SHA-1 verifying with wrong algorithm name
     95PASS ECDSA P-256 with SHA-256 verifying with wrong algorithm name
     96PASS ECDSA P-256 with SHA-384 verifying with wrong algorithm name
     97PASS ECDSA P-256 with SHA-512 verifying with wrong algorithm name
     98PASS ECDSA P-384 with SHA-1 verifying with wrong algorithm name
     99PASS ECDSA P-384 with SHA-256 verifying with wrong algorithm name
     100PASS ECDSA P-384 with SHA-384 verifying with wrong algorithm name
     101PASS ECDSA P-384 with SHA-512 verifying with wrong algorithm name
     102PASS ECDSA P-256 with SHA-1 verification failure due to altered signature
     103PASS ECDSA P-256 with SHA-256 verification failure due to altered signature
     104PASS ECDSA P-256 with SHA-384 verification failure due to altered signature
     105PASS ECDSA P-256 with SHA-512 verification failure due to altered signature
     106PASS ECDSA P-384 with SHA-1 verification failure due to altered signature
     107PASS ECDSA P-384 with SHA-256 verification failure due to altered signature
     108PASS ECDSA P-384 with SHA-384 verification failure due to altered signature
     109PASS ECDSA P-384 with SHA-512 verification failure due to altered signature
     110FAIL importVectorKeys step: ECDSA P-521 with SHA-1 verification failure due to altered signature assert_unreached: importVectorKeys failed for ECDSA P-521 with SHA-1. Message: ''Data provided to an operation does not meet requirements'' Reached unreachable code
     111FAIL importVectorKeys step: ECDSA P-521 with SHA-256 verification failure due to altered signature assert_unreached: importVectorKeys failed for ECDSA P-521 with SHA-256. Message: ''Data provided to an operation does not meet requirements'' Reached unreachable code
     112FAIL importVectorKeys step: ECDSA P-521 with SHA-384 verification failure due to altered signature assert_unreached: importVectorKeys failed for ECDSA P-521 with SHA-384. Message: ''Data provided to an operation does not meet requirements'' Reached unreachable code
     113FAIL importVectorKeys step: ECDSA P-521 with SHA-512 verification failure due to altered signature assert_unreached: importVectorKeys failed for ECDSA P-521 with SHA-512. Message: ''Data provided to an operation does not meet requirements'' Reached unreachable code
     114PASS ECDSA P-256 with SHA-1 verification failure due to wrong hash
     115PASS ECDSA P-256 with SHA-256 verification failure due to wrong hash
     116PASS ECDSA P-256 with SHA-384 verification failure due to wrong hash
     117PASS ECDSA P-256 with SHA-512 verification failure due to wrong hash
     118PASS ECDSA P-384 with SHA-1 verification failure due to wrong hash
     119PASS ECDSA P-384 with SHA-256 verification failure due to wrong hash
     120PASS ECDSA P-384 with SHA-384 verification failure due to wrong hash
     121PASS ECDSA P-384 with SHA-512 verification failure due to wrong hash
     122FAIL importVectorKeys step: ECDSA P-521 with SHA-1 verification failure due to wrong hash assert_unreached: importVectorKeys failed for ECDSA P-521 with SHA-1. Message: ''Data provided to an operation does not meet requirements'' Reached unreachable code
     123FAIL importVectorKeys step: ECDSA P-521 with SHA-256 verification failure due to wrong hash assert_unreached: importVectorKeys failed for ECDSA P-521 with SHA-256. Message: ''Data provided to an operation does not meet requirements'' Reached unreachable code
     124FAIL importVectorKeys step: ECDSA P-521 with SHA-384 verification failure due to wrong hash assert_unreached: importVectorKeys failed for ECDSA P-521 with SHA-384. Message: ''Data provided to an operation does not meet requirements'' Reached unreachable code
     125FAIL importVectorKeys step: ECDSA P-521 with SHA-512 verification failure due to wrong hash assert_unreached: importVectorKeys failed for ECDSA P-521 with SHA-512. Message: ''Data provided to an operation does not meet requirements'' Reached unreachable code
     126PASS ECDSA P-256 with SHA-1 verification failure due to bad hash name
     127PASS ECDSA P-256 with SHA-256 verification failure due to bad hash name
     128PASS ECDSA P-256 with SHA-384 verification failure due to bad hash name
     129PASS ECDSA P-256 with SHA-512 verification failure due to bad hash name
     130PASS ECDSA P-384 with SHA-1 verification failure due to bad hash name
     131PASS ECDSA P-384 with SHA-256 verification failure due to bad hash name
     132PASS ECDSA P-384 with SHA-384 verification failure due to bad hash name
     133PASS ECDSA P-384 with SHA-512 verification failure due to bad hash name
     134FAIL importVectorKeys step: ECDSA P-521 with SHA-1 verification failure due to bad hash name assert_unreached: importVectorKeys failed for ECDSA P-521 with SHA-1. Message: ''Data provided to an operation does not meet requirements'' Reached unreachable code
     135FAIL importVectorKeys step: ECDSA P-521 with SHA-256 verification failure due to bad hash name assert_unreached: importVectorKeys failed for ECDSA P-521 with SHA-256. Message: ''Data provided to an operation does not meet requirements'' Reached unreachable code
     136FAIL importVectorKeys step: ECDSA P-521 with SHA-384 verification failure due to bad hash name assert_unreached: importVectorKeys failed for ECDSA P-521 with SHA-384. Message: ''Data provided to an operation does not meet requirements'' Reached unreachable code
     137FAIL importVectorKeys step: ECDSA P-521 with SHA-512 verification failure due to bad hash name assert_unreached: importVectorKeys failed for ECDSA P-521 with SHA-512. Message: ''Data provided to an operation does not meet requirements'' Reached unreachable code
     138PASS ECDSA P-256 with SHA-1 verification failure due to shortened signature
     139PASS ECDSA P-256 with SHA-256 verification failure due to shortened signature
     140PASS ECDSA P-256 with SHA-384 verification failure due to shortened signature
     141PASS ECDSA P-256 with SHA-512 verification failure due to shortened signature
     142PASS ECDSA P-384 with SHA-1 verification failure due to shortened signature
     143PASS ECDSA P-384 with SHA-256 verification failure due to shortened signature
     144PASS ECDSA P-384 with SHA-384 verification failure due to shortened signature
     145PASS ECDSA P-384 with SHA-512 verification failure due to shortened signature
     146FAIL importVectorKeys step: ECDSA P-521 with SHA-1 verification failure due to shortened signature assert_unreached: importVectorKeys failed for ECDSA P-521 with SHA-1. Message: ''Data provided to an operation does not meet requirements'' Reached unreachable code
     147FAIL importVectorKeys step: ECDSA P-521 with SHA-256 verification failure due to shortened signature assert_unreached: importVectorKeys failed for ECDSA P-521 with SHA-256. Message: ''Data provided to an operation does not meet requirements'' Reached unreachable code
     148FAIL importVectorKeys step: ECDSA P-521 with SHA-384 verification failure due to shortened signature assert_unreached: importVectorKeys failed for ECDSA P-521 with SHA-384. Message: ''Data provided to an operation does not meet requirements'' Reached unreachable code
     149FAIL importVectorKeys step: ECDSA P-521 with SHA-512 verification failure due to shortened signature assert_unreached: importVectorKeys failed for ECDSA P-521 with SHA-512. Message: ''Data provided to an operation does not meet requirements'' Reached unreachable code
     150PASS ECDSA P-256 with SHA-1 verification failure due to altered plaintext
     151PASS ECDSA P-256 with SHA-256 verification failure due to altered plaintext
     152PASS ECDSA P-256 with SHA-384 verification failure due to altered plaintext
     153PASS ECDSA P-256 with SHA-512 verification failure due to altered plaintext
     154PASS ECDSA P-384 with SHA-1 verification failure due to altered plaintext
     155PASS ECDSA P-384 with SHA-256 verification failure due to altered plaintext
     156PASS ECDSA P-384 with SHA-384 verification failure due to altered plaintext
     157PASS ECDSA P-384 with SHA-512 verification failure due to altered plaintext
     158FAIL importVectorKeys step: ECDSA P-521 with SHA-1 verification failure due to altered plaintext assert_unreached: importVectorKeys failed for ECDSA P-521 with SHA-1. Message: ''Data provided to an operation does not meet requirements'' Reached unreachable code
     159FAIL importVectorKeys step: ECDSA P-521 with SHA-256 verification failure due to altered plaintext assert_unreached: importVectorKeys failed for ECDSA P-521 with SHA-256. Message: ''Data provided to an operation does not meet requirements'' Reached unreachable code
     160FAIL importVectorKeys step: ECDSA P-521 with SHA-384 verification failure due to altered plaintext assert_unreached: importVectorKeys failed for ECDSA P-521 with SHA-384. Message: ''Data provided to an operation does not meet requirements'' Reached unreachable code
     161FAIL importVectorKeys step: ECDSA P-521 with SHA-512 verification failure due to altered plaintext assert_unreached: importVectorKeys failed for ECDSA P-521 with SHA-512. Message: ''Data provided to an operation does not meet requirements'' Reached unreachable code
     162FAIL importVectorKeys step: ECDSA P-521 with SHA-1 signing with wrong algorithm name assert_unreached: importVectorKeys failed for ECDSA P-521 with SHA-1. Message: ''Data provided to an operation does not meet requirements'' Reached unreachable code
     163FAIL importVectorKeys step: ECDSA P-521 with SHA-256 signing with wrong algorithm name assert_unreached: importVectorKeys failed for ECDSA P-521 with SHA-256. Message: ''Data provided to an operation does not meet requirements'' Reached unreachable code
     164FAIL importVectorKeys step: ECDSA P-521 with SHA-384 signing with wrong algorithm name assert_unreached: importVectorKeys failed for ECDSA P-521 with SHA-384. Message: ''Data provided to an operation does not meet requirements'' Reached unreachable code
     165FAIL importVectorKeys step: ECDSA P-521 with SHA-512 signing with wrong algorithm name assert_unreached: importVectorKeys failed for ECDSA P-521 with SHA-512. Message: ''Data provided to an operation does not meet requirements'' Reached unreachable code
     166FAIL importVectorKeys step: ECDSA P-521 with SHA-1 verifying with wrong algorithm name assert_unreached: importVectorKeys failed for ECDSA P-521 with SHA-1. Message: ''Data provided to an operation does not meet requirements'' Reached unreachable code
     167FAIL importVectorKeys step: ECDSA P-521 with SHA-256 verifying with wrong algorithm name assert_unreached: importVectorKeys failed for ECDSA P-521 with SHA-256. Message: ''Data provided to an operation does not meet requirements'' Reached unreachable code
     168FAIL importVectorKeys step: ECDSA P-521 with SHA-384 verifying with wrong algorithm name assert_unreached: importVectorKeys failed for ECDSA P-521 with SHA-384. Message: ''Data provided to an operation does not meet requirements'' Reached unreachable code
     169FAIL importVectorKeys step: ECDSA P-521 with SHA-512 verifying with wrong algorithm name assert_unreached: importVectorKeys failed for ECDSA P-521 with SHA-512. Message: ''Data provided to an operation does not meet requirements'' Reached unreachable code
    170170
  • trunk/LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/sign_verify/hmac.worker-expected.txt

    r212124 r215423  
    11
    2 FAIL generate wrong key step: HMAC with SHA-1 signing with wrong algorithm name assert_unreached: Generate wrong key for test HMAC with SHA-1 failed: 'The operation is not supported.' Reached unreachable code
    3 FAIL generate wrong key step: HMAC with SHA-256 signing with wrong algorithm name assert_unreached: Generate wrong key for test HMAC with SHA-256 failed: 'The operation is not supported.' Reached unreachable code
    4 FAIL generate wrong key step: HMAC with SHA-384 signing with wrong algorithm name assert_unreached: Generate wrong key for test HMAC with SHA-384 failed: 'The operation is not supported.' Reached unreachable code
    5 FAIL generate wrong key step: HMAC with SHA-512 signing with wrong algorithm name assert_unreached: Generate wrong key for test HMAC with SHA-512 failed: 'The operation is not supported.' Reached unreachable code
    6 FAIL generate wrong key step: HMAC with SHA-1 verifying with wrong algorithm name assert_unreached: Generate wrong key for test HMAC with SHA-1 failed: 'The operation is not supported.' Reached unreachable code
    7 FAIL generate wrong key step: HMAC with SHA-256 verifying with wrong algorithm name assert_unreached: Generate wrong key for test HMAC with SHA-256 failed: 'The operation is not supported.' Reached unreachable code
    8 FAIL generate wrong key step: HMAC with SHA-384 verifying with wrong algorithm name assert_unreached: Generate wrong key for test HMAC with SHA-384 failed: 'The operation is not supported.' Reached unreachable code
    9 FAIL generate wrong key step: HMAC with SHA-512 verifying with wrong algorithm name assert_unreached: Generate wrong key for test HMAC with SHA-512 failed: 'The operation is not supported.' Reached unreachable code
    102PASS HMAC with SHA-1 verification
    113PASS HMAC with SHA-256 verification
     
    2820PASS HMAC with SHA-384 round trip
    2921PASS HMAC with SHA-512 round trip
     22PASS HMAC with SHA-1 signing with wrong algorithm name
     23PASS HMAC with SHA-256 signing with wrong algorithm name
     24PASS HMAC with SHA-384 signing with wrong algorithm name
     25PASS HMAC with SHA-512 signing with wrong algorithm name
     26PASS HMAC with SHA-1 verifying with wrong algorithm name
     27PASS HMAC with SHA-256 verifying with wrong algorithm name
     28PASS HMAC with SHA-384 verifying with wrong algorithm name
     29PASS HMAC with SHA-512 verifying with wrong algorithm name
    3030PASS HMAC with SHA-1 verification failure due to wrong plaintext
    3131PASS HMAC with SHA-256 verification failure due to wrong plaintext
  • trunk/LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/sign_verify/test_ecdsa-expected.txt

    r212124 r215423  
    22
    33
    4 FAIL importVectorKeys step: ECDSA P-256 with SHA-1 verification assert_unreached: importVectorKeys failed for ECDSA P-256 with SHA-1. Message: ''The operation is not supported.'' Reached unreachable code
    5 FAIL importVectorKeys step: ECDSA P-256 with SHA-256 verification assert_unreached: importVectorKeys failed for ECDSA P-256 with SHA-256. Message: ''The operation is not supported.'' Reached unreachable code
    6 FAIL importVectorKeys step: ECDSA P-256 with SHA-384 verification assert_unreached: importVectorKeys failed for ECDSA P-256 with SHA-384. Message: ''The operation is not supported.'' Reached unreachable code
    7 FAIL importVectorKeys step: ECDSA P-256 with SHA-512 verification assert_unreached: importVectorKeys failed for ECDSA P-256 with SHA-512. Message: ''The operation is not supported.'' Reached unreachable code
    8 FAIL importVectorKeys step: ECDSA P-384 with SHA-1 verification assert_unreached: importVectorKeys failed for ECDSA P-384 with SHA-1. Message: ''The operation is not supported.'' Reached unreachable code
    9 FAIL importVectorKeys step: ECDSA P-384 with SHA-256 verification assert_unreached: importVectorKeys failed for ECDSA P-384 with SHA-256. Message: ''The operation is not supported.'' Reached unreachable code
    10 FAIL importVectorKeys step: ECDSA P-384 with SHA-384 verification assert_unreached: importVectorKeys failed for ECDSA P-384 with SHA-384. Message: ''The operation is not supported.'' Reached unreachable code
    11 FAIL importVectorKeys step: ECDSA P-384 with SHA-512 verification assert_unreached: importVectorKeys failed for ECDSA P-384 with SHA-512. Message: ''The operation is not supported.'' Reached unreachable code
    12 FAIL importVectorKeys step: ECDSA P-521 with SHA-1 verification assert_unreached: importVectorKeys failed for ECDSA P-521 with SHA-1. Message: ''The operation is not supported.'' Reached unreachable code
    13 FAIL importVectorKeys step: ECDSA P-521 with SHA-256 verification assert_unreached: importVectorKeys failed for ECDSA P-521 with SHA-256. Message: ''The operation is not supported.'' Reached unreachable code
    14 FAIL importVectorKeys step: ECDSA P-521 with SHA-384 verification assert_unreached: importVectorKeys failed for ECDSA P-521 with SHA-384. Message: ''The operation is not supported.'' Reached unreachable code
    15 FAIL importVectorKeys step: ECDSA P-521 with SHA-512 verification assert_unreached: importVectorKeys failed for ECDSA P-521 with SHA-512. Message: ''The operation is not supported.'' Reached unreachable code
    16 FAIL importVectorKeys step: ECDSA P-256 with SHA-1 verification with altered signature after call assert_unreached: importVectorKeys failed for ECDSA P-256 with SHA-1. Message: ''The operation is not supported.'' Reached unreachable code
    17 FAIL importVectorKeys step: ECDSA P-256 with SHA-256 verification with altered signature after call assert_unreached: importVectorKeys failed for ECDSA P-256 with SHA-256. Message: ''The operation is not supported.'' Reached unreachable code
    18 FAIL importVectorKeys step: ECDSA P-256 with SHA-384 verification with altered signature after call assert_unreached: importVectorKeys failed for ECDSA P-256 with SHA-384. Message: ''The operation is not supported.'' Reached unreachable code
    19 FAIL importVectorKeys step: ECDSA P-256 with SHA-512 verification with altered signature after call assert_unreached: importVectorKeys failed for ECDSA P-256 with SHA-512. Message: ''The operation is not supported.'' Reached unreachable code
    20 FAIL importVectorKeys step: ECDSA P-384 with SHA-1 verification with altered signature after call assert_unreached: importVectorKeys failed for ECDSA P-384 with SHA-1. Message: ''The operation is not supported.'' Reached unreachable code
    21 FAIL importVectorKeys step: ECDSA P-384 with SHA-256 verification with altered signature after call assert_unreached: importVectorKeys failed for ECDSA P-384 with SHA-256. Message: ''The operation is not supported.'' Reached unreachable code
    22 FAIL importVectorKeys step: ECDSA P-384 with SHA-384 verification with altered signature after call assert_unreached: importVectorKeys failed for ECDSA P-384 with SHA-384. Message: ''The operation is not supported.'' Reached unreachable code
    23 FAIL importVectorKeys step: ECDSA P-384 with SHA-512 verification with altered signature after call assert_unreached: importVectorKeys failed for ECDSA P-384 with SHA-512. Message: ''The operation is not supported.'' Reached unreachable code
    24 FAIL importVectorKeys step: ECDSA P-521 with SHA-1 verification with altered signature after call assert_unreached: importVectorKeys failed for ECDSA P-521 with SHA-1. Message: ''The operation is not supported.'' Reached unreachable code
    25 FAIL importVectorKeys step: ECDSA P-521 with SHA-256 verification with altered signature after call assert_unreached: importVectorKeys failed for ECDSA P-521 with SHA-256. Message: ''The operation is not supported.'' Reached unreachable code
    26 FAIL importVectorKeys step: ECDSA P-521 with SHA-384 verification with altered signature after call assert_unreached: importVectorKeys failed for ECDSA P-521 with SHA-384. Message: ''The operation is not supported.'' Reached unreachable code
    27 FAIL importVectorKeys step: ECDSA P-521 with SHA-512 verification with altered signature after call assert_unreached: importVectorKeys failed for ECDSA P-521 with SHA-512. Message: ''The operation is not supported.'' Reached unreachable code
    28 FAIL importVectorKeys step: ECDSA P-256 with SHA-1 with altered plaintext after call assert_unreached: importVectorKeys failed for ECDSA P-256 with SHA-1. Message: ''The operation is not supported.'' Reached unreachable code
    29 FAIL importVectorKeys step: ECDSA P-256 with SHA-256 with altered plaintext after call assert_unreached: importVectorKeys failed for ECDSA P-256 with SHA-256. Message: ''The operation is not supported.'' Reached unreachable code
    30 FAIL importVectorKeys step: ECDSA P-256 with SHA-384 with altered plaintext after call assert_unreached: importVectorKeys failed for ECDSA P-256 with SHA-384. Message: ''The operation is not supported.'' Reached unreachable code
    31 FAIL importVectorKeys step: ECDSA P-256 with SHA-512 with altered plaintext after call assert_unreached: importVectorKeys failed for ECDSA P-256 with SHA-512. Message: ''The operation is not supported.'' Reached unreachable code
    32 FAIL importVectorKeys step: ECDSA P-384 with SHA-1 with altered plaintext after call assert_unreached: importVectorKeys failed for ECDSA P-384 with SHA-1. Message: ''The operation is not supported.'' Reached unreachable code
    33 FAIL importVectorKeys step: ECDSA P-384 with SHA-256 with altered plaintext after call assert_unreached: importVectorKeys failed for ECDSA P-384 with SHA-256. Message: ''The operation is not supported.'' Reached unreachable code
    34 FAIL importVectorKeys step: ECDSA P-384 with SHA-384 with altered plaintext after call assert_unreached: importVectorKeys failed for ECDSA P-384 with SHA-384. Message: ''The operation is not supported.'' Reached unreachable code
    35 FAIL importVectorKeys step: ECDSA P-384 with SHA-512 with altered plaintext after call assert_unreached: importVectorKeys failed for ECDSA P-384 with SHA-512. Message: ''The operation is not supported.'' Reached unreachable code
    36 FAIL importVectorKeys step: ECDSA P-521 with SHA-1 with altered plaintext after call assert_unreached: importVectorKeys failed for ECDSA P-521 with SHA-1. Message: ''The operation is not supported.'' Reached unreachable code
    37 FAIL importVectorKeys step: ECDSA P-521 with SHA-256 with altered plaintext after call assert_unreached: importVectorKeys failed for ECDSA P-521 with SHA-256. Message: ''The operation is not supported.'' Reached unreachable code
    38 FAIL importVectorKeys step: ECDSA P-521 with SHA-384 with altered plaintext after call assert_unreached: importVectorKeys failed for ECDSA P-521 with SHA-384. Message: ''The operation is not supported.'' Reached unreachable code
    39 FAIL importVectorKeys step: ECDSA P-521 with SHA-512 with altered plaintext after call assert_unreached: importVectorKeys failed for ECDSA P-521 with SHA-512. Message: ''The operation is not supported.'' Reached unreachable code
    40 FAIL importVectorKeys step: ECDSA P-256 with SHA-1 using privateKey to verify assert_unreached: importVectorKeys failed for ECDSA P-256 with SHA-1. Message: ''The operation is not supported.'' Reached unreachable code
    41 FAIL importVectorKeys step: ECDSA P-256 with SHA-256 using privateKey to verify assert_unreached: importVectorKeys failed for ECDSA P-256 with SHA-256. Message: ''The operation is not supported.'' Reached unreachable code
    42 FAIL importVectorKeys step: ECDSA P-256 with SHA-384 using privateKey to verify assert_unreached: importVectorKeys failed for ECDSA P-256 with SHA-384. Message: ''The operation is not supported.'' Reached unreachable code
    43 FAIL importVectorKeys step: ECDSA P-256 with SHA-512 using privateKey to verify assert_unreached: importVectorKeys failed for ECDSA P-256 with SHA-512. Message: ''The operation is not supported.'' Reached unreachable code
    44 FAIL importVectorKeys step: ECDSA P-384 with SHA-1 using privateKey to verify assert_unreached: importVectorKeys failed for ECDSA P-384 with SHA-1. Message: ''The operation is not supported.'' Reached unreachable code
    45 FAIL importVectorKeys step: ECDSA P-384 with SHA-256 using privateKey to verify assert_unreached: importVectorKeys failed for ECDSA P-384 with SHA-256. Message: ''The operation is not supported.'' Reached unreachable code
    46 FAIL importVectorKeys step: ECDSA P-384 with SHA-384 using privateKey to verify assert_unreached: importVectorKeys failed for ECDSA P-384 with SHA-384. Message: ''The operation is not supported.'' Reached unreachable code
    47 FAIL importVectorKeys step: ECDSA P-384 with SHA-512 using privateKey to verify assert_unreached: importVectorKeys failed for ECDSA P-384 with SHA-512. Message: ''The operation is not supported.'' Reached unreachable code
    48 FAIL importVectorKeys step: ECDSA P-521 with SHA-1 using privateKey to verify assert_unreached: importVectorKeys failed for ECDSA P-521 with SHA-1. Message: ''The operation is not supported.'' Reached unreachable code
    49 FAIL importVectorKeys step: ECDSA P-521 with SHA-256 using privateKey to verify assert_unreached: importVectorKeys failed for ECDSA P-521 with SHA-256. Message: ''The operation is not supported.'' Reached unreachable code
    50 FAIL importVectorKeys step: ECDSA P-521 with SHA-384 using privateKey to verify assert_unreached: importVectorKeys failed for ECDSA P-521 with SHA-384. Message: ''The operation is not supported.'' Reached unreachable code
    51 FAIL importVectorKeys step: ECDSA P-521 with SHA-512 using privateKey to verify assert_unreached: importVectorKeys failed for ECDSA P-521 with SHA-512. Message: ''The operation is not supported.'' Reached unreachable code
    52 FAIL importVectorKeys step: ECDSA P-256 with SHA-1 using publicKey to sign assert_unreached: importVectorKeys failed for ECDSA P-256 with SHA-1. Message: ''The operation is not supported.'' Reached unreachable code
    53 FAIL importVectorKeys step: ECDSA P-256 with SHA-256 using publicKey to sign assert_unreached: importVectorKeys failed for ECDSA P-256 with SHA-256. Message: ''The operation is not supported.'' Reached unreachable code
    54 FAIL importVectorKeys step: ECDSA P-256 with SHA-384 using publicKey to sign assert_unreached: importVectorKeys failed for ECDSA P-256 with SHA-384. Message: ''The operation is not supported.'' Reached unreachable code
    55 FAIL importVectorKeys step: ECDSA P-256 with SHA-512 using publicKey to sign assert_unreached: importVectorKeys failed for ECDSA P-256 with SHA-512. Message: ''The operation is not supported.'' Reached unreachable code
    56 FAIL importVectorKeys step: ECDSA P-384 with SHA-1 using publicKey to sign assert_unreached: importVectorKeys failed for ECDSA P-384 with SHA-1. Message: ''The operation is not supported.'' Reached unreachable code
    57 FAIL importVectorKeys step: ECDSA P-384 with SHA-256 using publicKey to sign assert_unreached: importVectorKeys failed for ECDSA P-384 with SHA-256. Message: ''The operation is not supported.'' Reached unreachable code
    58 FAIL importVectorKeys step: ECDSA P-384 with SHA-384 using publicKey to sign assert_unreached: importVectorKeys failed for ECDSA P-384 with SHA-384. Message: ''The operation is not supported.'' Reached unreachable code
    59 FAIL importVectorKeys step: ECDSA P-384 with SHA-512 using publicKey to sign assert_unreached: importVectorKeys failed for ECDSA P-384 with SHA-512. Message: ''The operation is not supported.'' Reached unreachable code
    60 FAIL importVectorKeys step: ECDSA P-521 with SHA-1 using publicKey to sign assert_unreached: importVectorKeys failed for ECDSA P-521 with SHA-1. Message: ''The operation is not supported.'' Reached unreachable code
    61 FAIL importVectorKeys step: ECDSA P-521 with SHA-256 using publicKey to sign assert_unreached: importVectorKeys failed for ECDSA P-521 with SHA-256. Message: ''The operation is not supported.'' Reached unreachable code
    62 FAIL importVectorKeys step: ECDSA P-521 with SHA-384 using publicKey to sign assert_unreached: importVectorKeys failed for ECDSA P-521 with SHA-384. Message: ''The operation is not supported.'' Reached unreachable code
    63 FAIL importVectorKeys step: ECDSA P-521 with SHA-512 using publicKey to sign assert_unreached: importVectorKeys failed for ECDSA P-521 with SHA-512. Message: ''The operation is not supported.'' Reached unreachable code
    64 FAIL importVectorKeys step: ECDSA P-256 with SHA-1 no verify usage assert_unreached: importVectorKeys failed for ECDSA P-256 with SHA-1. Message: ''The operation is not supported.'' Reached unreachable code
    65 FAIL importVectorKeys step: ECDSA P-256 with SHA-256 no verify usage assert_unreached: importVectorKeys failed for ECDSA P-256 with SHA-256. Message: ''The operation is not supported.'' Reached unreachable code
    66 FAIL importVectorKeys step: ECDSA P-256 with SHA-384 no verify usage assert_unreached: importVectorKeys failed for ECDSA P-256 with SHA-384. Message: ''The operation is not supported.'' Reached unreachable code
    67 FAIL importVectorKeys step: ECDSA P-256 with SHA-512 no verify usage assert_unreached: importVectorKeys failed for ECDSA P-256 with SHA-512. Message: ''The operation is not supported.'' Reached unreachable code
    68 FAIL importVectorKeys step: ECDSA P-384 with SHA-1 no verify usage assert_unreached: importVectorKeys failed for ECDSA P-384 with SHA-1. Message: ''The operation is not supported.'' Reached unreachable code
    69 FAIL importVectorKeys step: ECDSA P-384 with SHA-256 no verify usage assert_unreached: importVectorKeys failed for ECDSA P-384 with SHA-256. Message: ''The operation is not supported.'' Reached unreachable code
    70 FAIL importVectorKeys step: ECDSA P-384 with SHA-384 no verify usage assert_unreached: importVectorKeys failed for ECDSA P-384 with SHA-384. Message: ''The operation is not supported.'' Reached unreachable code
    71 FAIL importVectorKeys step: ECDSA P-384 with SHA-512 no verify usage assert_unreached: importVectorKeys failed for ECDSA P-384 with SHA-512. Message: ''The operation is not supported.'' Reached unreachable code
    72 FAIL importVectorKeys step: ECDSA P-521 with SHA-1 no verify usage assert_unreached: importVectorKeys failed for ECDSA P-521 with SHA-1. Message: ''The operation is not supported.'' Reached unreachable code
    73 FAIL importVectorKeys step: ECDSA P-521 with SHA-256 no verify usage assert_unreached: importVectorKeys failed for ECDSA P-521 with SHA-256. Message: ''The operation is not supported.'' Reached unreachable code
    74 FAIL importVectorKeys step: ECDSA P-521 with SHA-384 no verify usage assert_unreached: importVectorKeys failed for ECDSA P-521 with SHA-384. Message: ''The operation is not supported.'' Reached unreachable code
    75 FAIL importVectorKeys step: ECDSA P-521 with SHA-512 no verify usage assert_unreached: importVectorKeys failed for ECDSA P-521 with SHA-512. Message: ''The operation is not supported.'' Reached unreachable code
    76 FAIL importVectorKeys step: ECDSA P-256 with SHA-1 round trip assert_unreached: importVectorKeys failed for ECDSA P-256 with SHA-1. Message: ''The operation is not supported.'' Reached unreachable code
    77 FAIL importVectorKeys step: ECDSA P-256 with SHA-256 round trip assert_unreached: importVectorKeys failed for ECDSA P-256 with SHA-256. Message: ''The operation is not supported.'' Reached unreachable code
    78 FAIL importVectorKeys step: ECDSA P-256 with SHA-384 round trip assert_unreached: importVectorKeys failed for ECDSA P-256 with SHA-384. Message: ''The operation is not supported.'' Reached unreachable code
    79 FAIL importVectorKeys step: ECDSA P-256 with SHA-512 round trip assert_unreached: importVectorKeys failed for ECDSA P-256 with SHA-512. Message: ''The operation is not supported.'' Reached unreachable code
    80 FAIL importVectorKeys step: ECDSA P-384 with SHA-1 round trip assert_unreached: importVectorKeys failed for ECDSA P-384 with SHA-1. Message: ''The operation is not supported.'' Reached unreachable code
    81 FAIL importVectorKeys step: ECDSA P-384 with SHA-256 round trip assert_unreached: importVectorKeys failed for ECDSA P-384 with SHA-256. Message: ''The operation is not supported.'' Reached unreachable code
    82 FAIL importVectorKeys step: ECDSA P-384 with SHA-384 round trip assert_unreached: importVectorKeys failed for ECDSA P-384 with SHA-384. Message: ''The operation is not supported.'' Reached unreachable code
    83 FAIL importVectorKeys step: ECDSA P-384 with SHA-512 round trip assert_unreached: importVectorKeys failed for ECDSA P-384 with SHA-512. Message: ''The operation is not supported.'' Reached unreachable code
    84 FAIL importVectorKeys step: ECDSA P-521 with SHA-1 round trip assert_unreached: importVectorKeys failed for ECDSA P-521 with SHA-1. Message: ''The operation is not supported.'' Reached unreachable code
    85 FAIL importVectorKeys step: ECDSA P-521 with SHA-256 round trip assert_unreached: importVectorKeys failed for ECDSA P-521 with SHA-256. Message: ''The operation is not supported.'' Reached unreachable code
    86 FAIL importVectorKeys step: ECDSA P-521 with SHA-384 round trip assert_unreached: importVectorKeys failed for ECDSA P-521 with SHA-384. Message: ''The operation is not supported.'' Reached unreachable code
    87 FAIL importVectorKeys step: ECDSA P-521 with SHA-512 round trip assert_unreached: importVectorKeys failed for ECDSA P-521 with SHA-512. Message: ''The operation is not supported.'' Reached unreachable code
    88 FAIL importVectorKeys step: ECDSA P-256 with SHA-1 verification failure due to altered signature assert_unreached: importVectorKeys failed for ECDSA P-256 with SHA-1. Message: ''The operation is not supported.'' Reached unreachable code
    89 FAIL importVectorKeys step: ECDSA P-256 with SHA-256 verification failure due to altered signature assert_unreached: importVectorKeys failed for ECDSA P-256 with SHA-256. Message: ''The operation is not supported.'' Reached unreachable code
    90 FAIL importVectorKeys step: ECDSA P-256 with SHA-384 verification failure due to altered signature assert_unreached: importVectorKeys failed for ECDSA P-256 with SHA-384. Message: ''The operation is not supported.'' Reached unreachable code
    91 FAIL importVectorKeys step: ECDSA P-256 with SHA-512 verification failure due to altered signature assert_unreached: importVectorKeys failed for ECDSA P-256 with SHA-512. Message: ''The operation is not supported.'' Reached unreachable code
    92 FAIL importVectorKeys step: ECDSA P-384 with SHA-1 verification failure due to altered signature assert_unreached: importVectorKeys failed for ECDSA P-384 with SHA-1. Message: ''The operation is not supported.'' Reached unreachable code
    93 FAIL importVectorKeys step: ECDSA P-384 with SHA-256 verification failure due to altered signature assert_unreached: importVectorKeys failed for ECDSA P-384 with SHA-256. Message: ''The operation is not supported.'' Reached unreachable code
    94 FAIL importVectorKeys step: ECDSA P-384 with SHA-384 verification failure due to altered signature assert_unreached: importVectorKeys failed for ECDSA P-384 with SHA-384. Message: ''The operation is not supported.'' Reached unreachable code
    95 FAIL importVectorKeys step: ECDSA P-384 with SHA-512 verification failure due to altered signature assert_unreached: importVectorKeys failed for ECDSA P-384 with SHA-512. Message: ''The operation is not supported.'' Reached unreachable code
    96 FAIL importVectorKeys step: ECDSA P-521 with SHA-1 verification failure due to altered signature assert_unreached: importVectorKeys failed for ECDSA P-521 with SHA-1. Message: ''The operation is not supported.'' Reached unreachable code
    97 FAIL importVectorKeys step: ECDSA P-521 with SHA-256 verification failure due to altered signature assert_unreached: importVectorKeys failed for ECDSA P-521 with SHA-256. Message: ''The operation is not supported.'' Reached unreachable code
    98 FAIL importVectorKeys step: ECDSA P-521 with SHA-384 verification failure due to altered signature assert_unreached: importVectorKeys failed for ECDSA P-521 with SHA-384. Message: ''The operation is not supported.'' Reached unreachable code
    99 FAIL importVectorKeys step: ECDSA P-521 with SHA-512 verification failure due to altered signature assert_unreached: importVectorKeys failed for ECDSA P-521 with SHA-512. Message: ''The operation is not supported.'' Reached unreachable code
    100 FAIL importVectorKeys step: ECDSA P-256 with SHA-1 verification failure due to wrong hash assert_unreached: importVectorKeys failed for ECDSA P-256 with SHA-1. Message: ''The operation is not supported.'' Reached unreachable code
    101 FAIL importVectorKeys step: ECDSA P-256 with SHA-256 verification failure due to wrong hash assert_unreached: importVectorKeys failed for ECDSA P-256 with SHA-256. Message: ''The operation is not supported.'' Reached unreachable code
    102 FAIL importVectorKeys step: ECDSA P-256 with SHA-384 verification failure due to wrong hash assert_unreached: importVectorKeys failed for ECDSA P-256 with SHA-384. Message: ''The operation is not supported.'' Reached unreachable code
    103 FAIL importVectorKeys step: ECDSA P-256 with SHA-512 verification failure due to wrong hash assert_unreached: importVectorKeys failed for ECDSA P-256 with SHA-512. Message: ''The operation is not supported.'' Reached unreachable code
    104 FAIL importVectorKeys step: ECDSA P-384 with SHA-1 verification failure due to wrong hash assert_unreached: importVectorKeys failed for ECDSA P-384 with SHA-1. Message: ''The operation is not supported.'' Reached unreachable code
    105 FAIL importVectorKeys step: ECDSA P-384 with SHA-256 verification failure due to wrong hash assert_unreached: importVectorKeys failed for ECDSA P-384 with SHA-256. Message: ''The operation is not supported.'' Reached unreachable code
    106 FAIL importVectorKeys step: ECDSA P-384 with SHA-384 verification failure due to wrong hash assert_unreached: importVectorKeys failed for ECDSA P-384 with SHA-384. Message: ''The operation is not supported.'' Reached unreachable code
    107 FAIL importVectorKeys step: ECDSA P-384 with SHA-512 verification failure due to wrong hash assert_unreached: importVectorKeys failed for ECDSA P-384 with SHA-512. Message: ''The operation is not supported.'' Reached unreachable code
    108 FAIL importVectorKeys step: ECDSA P-521 with SHA-1 verification failure due to wrong hash assert_unreached: importVectorKeys failed for ECDSA P-521 with SHA-1. Message: ''The operation is not supported.'' Reached unreachable code
    109 FAIL importVectorKeys step: ECDSA P-521 with SHA-256 verification failure due to wrong hash assert_unreached: importVectorKeys failed for ECDSA P-521 with SHA-256. Message: ''The operation is not supported.'' Reached unreachable code
    110 FAIL importVectorKeys step: ECDSA P-521 with SHA-384 verification failure due to wrong hash assert_unreached: importVectorKeys failed for ECDSA P-521 with SHA-384. Message: ''The operation is not supported.'' Reached unreachable code
    111 FAIL importVectorKeys step: ECDSA P-521 with SHA-512 verification failure due to wrong hash assert_unreached: importVectorKeys failed for ECDSA P-521 with SHA-512. Message: ''The operation is not supported.'' Reached unreachable code
    112 FAIL importVectorKeys step: ECDSA P-256 with SHA-1 verification failure due to bad hash name assert_unreached: importVectorKeys failed for ECDSA P-256 with SHA-1. Message: ''The operation is not supported.'' Reached unreachable code
    113 FAIL importVectorKeys step: ECDSA P-256 with SHA-256 verification failure due to bad hash name assert_unreached: importVectorKeys failed for ECDSA P-256 with SHA-256. Message: ''The operation is not supported.'' Reached unreachable code
    114 FAIL importVectorKeys step: ECDSA P-256 with SHA-384 verification failure due to bad hash name assert_unreached: importVectorKeys failed for ECDSA P-256 with SHA-384. Message: ''The operation is not supported.'' Reached unreachable code
    115 FAIL importVectorKeys step: ECDSA P-256 with SHA-512 verification failure due to bad hash name assert_unreached: importVectorKeys failed for ECDSA P-256 with SHA-512. Message: ''The operation is not supported.'' Reached unreachable code
    116 FAIL importVectorKeys step: ECDSA P-384 with SHA-1 verification failure due to bad hash name assert_unreached: importVectorKeys failed for ECDSA P-384 with SHA-1. Message: ''The operation is not supported.'' Reached unreachable code
    117 FAIL importVectorKeys step: ECDSA P-384 with SHA-256 verification failure due to bad hash name assert_unreached: importVectorKeys failed for ECDSA P-384 with SHA-256. Message: ''The operation is not supported.'' Reached unreachable code
    118 FAIL importVectorKeys step: ECDSA P-384 with SHA-384 verification failure due to bad hash name assert_unreached: importVectorKeys failed for ECDSA P-384 with SHA-384. Message: ''The operation is not supported.'' Reached unreachable code
    119 FAIL importVectorKeys step: ECDSA P-384 with SHA-512 verification failure due to bad hash name assert_unreached: importVectorKeys failed for ECDSA P-384 with SHA-512. Message: ''The operation is not supported.'' Reached unreachable code
    120 FAIL importVectorKeys step: ECDSA P-521 with SHA-1 verification failure due to bad hash name assert_unreached: importVectorKeys failed for ECDSA P-521 with SHA-1. Message: ''The operation is not supported.'' Reached unreachable code
    121 FAIL importVectorKeys step: ECDSA P-521 with SHA-256 verification failure due to bad hash name assert_unreached: importVectorKeys failed for ECDSA P-521 with SHA-256. Message: ''The operation is not supported.'' Reached unreachable code
    122 FAIL importVectorKeys step: ECDSA P-521 with SHA-384 verification failure due to bad hash name assert_unreached: importVectorKeys failed for ECDSA P-521 with SHA-384. Message: ''The operation is not supported.'' Reached unreachable code
    123 FAIL importVectorKeys step: ECDSA P-521 with SHA-512 verification failure due to bad hash name assert_unreached: importVectorKeys failed for ECDSA P-521 with SHA-512. Message: ''The operation is not supported.'' Reached unreachable code
    124 FAIL importVectorKeys step: ECDSA P-256 with SHA-1 verification failure due to shortened signature assert_unreached: importVectorKeys failed for ECDSA P-256 with SHA-1. Message: ''The operation is not supported.'' Reached unreachable code
    125 FAIL importVectorKeys step: ECDSA P-256 with SHA-256 verification failure due to shortened signature assert_unreached: importVectorKeys failed for ECDSA P-256 with SHA-256. Message: ''The operation is not supported.'' Reached unreachable code
    126 FAIL importVectorKeys step: ECDSA P-256 with SHA-384 verification failure due to shortened signature assert_unreached: importVectorKeys failed for ECDSA P-256 with SHA-384. Message: ''The operation is not supported.'' Reached unreachable code
    127 FAIL importVectorKeys step: ECDSA P-256 with SHA-512 verification failure due to shortened signature assert_unreached: importVectorKeys failed for ECDSA P-256 with SHA-512. Message: ''The operation is not supported.'' Reached unreachable code
    128 FAIL importVectorKeys step: ECDSA P-384 with SHA-1 verification failure due to shortened signature assert_unreached: importVectorKeys failed for ECDSA P-384 with SHA-1. Message: ''The operation is not supported.'' Reached unreachable code
    129 FAIL importVectorKeys step: ECDSA P-384 with SHA-256 verification failure due to shortened signature assert_unreached: importVectorKeys failed for ECDSA P-384 with SHA-256. Message: ''The operation is not supported.'' Reached unreachable code
    130 FAIL importVectorKeys step: ECDSA P-384 with SHA-384 verification failure due to shortened signature assert_unreached: importVectorKeys failed for ECDSA P-384 with SHA-384. Message: ''The operation is not supported.'' Reached unreachable code
    131 FAIL importVectorKeys step: ECDSA P-384 with SHA-512 verification failure due to shortened signature assert_unreached: importVectorKeys failed for ECDSA P-384 with SHA-512. Message: ''The operation is not supported.'' Reached unreachable code
    132 FAIL importVectorKeys step: ECDSA P-521 with SHA-1 verification failure due to shortened signature assert_unreached: importVectorKeys failed for ECDSA P-521 with SHA-1. Message: ''The operation is not supported.'' Reached unreachable code
    133 FAIL importVectorKeys step: ECDSA P-521 with SHA-256 verification failure due to shortened signature assert_unreached: importVectorKeys failed for ECDSA P-521 with SHA-256. Message: ''The operation is not supported.'' Reached unreachable code
    134 FAIL importVectorKeys step: ECDSA P-521 with SHA-384 verification failure due to shortened signature assert_unreached: importVectorKeys failed for ECDSA P-521 with SHA-384. Message: ''The operation is not supported.'' Reached unreachable code
    135 FAIL importVectorKeys step: ECDSA P-521 with SHA-512 verification failure due to shortened signature assert_unreached: importVectorKeys failed for ECDSA P-521 with SHA-512. Message: ''The operation is not supported.'' Reached unreachable code
    136 FAIL importVectorKeys step: ECDSA P-256 with SHA-1 verification failure due to altered plaintext assert_unreached: importVectorKeys failed for ECDSA P-256 with SHA-1. Message: ''The operation is not supported.'' Reached unreachable code
    137 FAIL importVectorKeys step: ECDSA P-256 with SHA-256 verification failure due to altered plaintext assert_unreached: importVectorKeys failed for ECDSA P-256 with SHA-256. Message: ''The operation is not supported.'' Reached unreachable code
    138 FAIL importVectorKeys step: ECDSA P-256 with SHA-384 verification failure due to altered plaintext assert_unreached: importVectorKeys failed for ECDSA P-256 with SHA-384. Message: ''The operation is not supported.'' Reached unreachable code
    139 FAIL importVectorKeys step: ECDSA P-256 with SHA-512 verification failure due to altered plaintext assert_unreached: importVectorKeys failed for ECDSA P-256 with SHA-512. Message: ''The operation is not supported.'' Reached unreachable code
    140 FAIL importVectorKeys step: ECDSA P-384 with SHA-1 verification failure due to altered plaintext assert_unreached: importVectorKeys failed for ECDSA P-384 with SHA-1. Message: ''The operation is not supported.'' Reached unreachable code
    141 FAIL importVectorKeys step: ECDSA P-384 with SHA-256 verification failure due to altered plaintext assert_unreached: importVectorKeys failed for ECDSA P-384 with SHA-256. Message: ''The operation is not supported.'' Reached unreachable code
    142 FAIL importVectorKeys step: ECDSA P-384 with SHA-384 verification failure due to altered plaintext assert_unreached: importVectorKeys failed for ECDSA P-384 with SHA-384. Message: ''The operation is not supported.'' Reached unreachable code
    143 FAIL importVectorKeys step: ECDSA P-384 with SHA-512 verification failure due to altered plaintext assert_unreached: importVectorKeys failed for ECDSA P-384 with SHA-512. Message: ''The operation is not supported.'' Reached unreachable code
    144 FAIL importVectorKeys step: ECDSA P-521 with SHA-1 verification failure due to altered plaintext assert_unreached: importVectorKeys failed for ECDSA P-521 with SHA-1. Message: ''The operation is not supported.'' Reached unreachable code
    145 FAIL importVectorKeys step: ECDSA P-521 with SHA-256 verification failure due to altered plaintext assert_unreached: importVectorKeys failed for ECDSA P-521 with SHA-256. Message: ''The operation is not supported.'' Reached unreachable code
    146 FAIL importVectorKeys step: ECDSA P-521 with SHA-384 verification failure due to altered plaintext assert_unreached: importVectorKeys failed for ECDSA P-521 with SHA-384. Message: ''The operation is not supported.'' Reached unreachable code
    147 FAIL importVectorKeys step: ECDSA P-521 with SHA-512 verification failure due to altered plaintext assert_unreached: importVectorKeys failed for ECDSA P-521 with SHA-512. Message: ''The operation is not supported.'' Reached unreachable code
    148 FAIL importVectorKeys step: ECDSA P-256 with SHA-1 signing with wrong algorithm name assert_unreached: importVectorKeys failed for ECDSA P-256 with SHA-1. Message: ''The operation is not supported.'' Reached unreachable code
    149 FAIL importVectorKeys step: ECDSA P-256 with SHA-256 signing with wrong algorithm name assert_unreached: importVectorKeys failed for ECDSA P-256 with SHA-256. Message: ''The operation is not supported.'' Reached unreachable code
    150 FAIL importVectorKeys step: ECDSA P-256 with SHA-384 signing with wrong algorithm name assert_unreached: importVectorKeys failed for ECDSA P-256 with SHA-384. Message: ''The operation is not supported.'' Reached unreachable code
    151 FAIL importVectorKeys step: ECDSA P-256 with SHA-512 signing with wrong algorithm name assert_unreached: importVectorKeys failed for ECDSA P-256 with SHA-512. Message: ''The operation is not supported.'' Reached unreachable code
    152 FAIL importVectorKeys step: ECDSA P-384 with SHA-1 signing with wrong algorithm name assert_unreached: importVectorKeys failed for ECDSA P-384 with SHA-1. Message: ''The operation is not supported.'' Reached unreachable code
    153 FAIL importVectorKeys step: ECDSA P-384 with SHA-256 signing with wrong algorithm name assert_unreached: importVectorKeys failed for ECDSA P-384 with SHA-256. Message: ''The operation is not supported.'' Reached unreachable code
    154 FAIL importVectorKeys step: ECDSA P-384 with SHA-384 signing with wrong algorithm name assert_unreached: importVectorKeys failed for ECDSA P-384 with SHA-384. Message: ''The operation is not supported.'' Reached unreachable code
    155 FAIL importVectorKeys step: ECDSA P-384 with SHA-512 signing with wrong algorithm name assert_unreached: importVectorKeys failed for ECDSA P-384 with SHA-512. Message: ''The operation is not supported.'' Reached unreachable code
    156 FAIL importVectorKeys step: ECDSA P-521 with SHA-1 signing with wrong algorithm name assert_unreached: importVectorKeys failed for ECDSA P-521 with SHA-1. Message: ''The operation is not supported.'' Reached unreachable code
    157 FAIL importVectorKeys step: ECDSA P-521 with SHA-256 signing with wrong algorithm name assert_unreached: importVectorKeys failed for ECDSA P-521 with SHA-256. Message: ''The operation is not supported.'' Reached unreachable code
    158 FAIL importVectorKeys step: ECDSA P-521 with SHA-384 signing with wrong algorithm name assert_unreached: importVectorKeys failed for ECDSA P-521 with SHA-384. Message: ''The operation is not supported.'' Reached unreachable code
    159 FAIL importVectorKeys step: ECDSA P-521 with SHA-512 signing with wrong algorithm name assert_unreached: importVectorKeys failed for ECDSA P-521 with SHA-512. Message: ''The operation is not supported.'' Reached unreachable code
    160 FAIL importVectorKeys step: ECDSA P-256 with SHA-1 verifying with wrong algorithm name assert_unreached: importVectorKeys failed for ECDSA P-256 with SHA-1. Message: ''The operation is not supported.'' Reached unreachable code
    161 FAIL importVectorKeys step: ECDSA P-256 with SHA-256 verifying with wrong algorithm name assert_unreached: importVectorKeys failed for ECDSA P-256 with SHA-256. Message: ''The operation is not supported.'' Reached unreachable code
    162 FAIL importVectorKeys step: ECDSA P-256 with SHA-384 verifying with wrong algorithm name assert_unreached: importVectorKeys failed for ECDSA P-256 with SHA-384. Message: ''The operation is not supported.'' Reached unreachable code
    163 FAIL importVectorKeys step: ECDSA P-256 with SHA-512 verifying with wrong algorithm name assert_unreached: importVectorKeys failed for ECDSA P-256 with SHA-512. Message: ''The operation is not supported.'' Reached unreachable code
    164 FAIL importVectorKeys step: ECDSA P-384 with SHA-1 verifying with wrong algorithm name assert_unreached: importVectorKeys failed for ECDSA P-384 with SHA-1. Message: ''The operation is not supported.'' Reached unreachable code
    165 FAIL importVectorKeys step: ECDSA P-384 with SHA-256 verifying with wrong algorithm name assert_unreached: importVectorKeys failed for ECDSA P-384 with SHA-256. Message: ''The operation is not supported.'' Reached unreachable code
    166 FAIL importVectorKeys step: ECDSA P-384 with SHA-384 verifying with wrong algorithm name assert_unreached: importVectorKeys failed for ECDSA P-384 with SHA-384. Message: ''The operation is not supported.'' Reached unreachable code
    167 FAIL importVectorKeys step: ECDSA P-384 with SHA-512 verifying with wrong algorithm name assert_unreached: importVectorKeys failed for ECDSA P-384 with SHA-512. Message: ''The operation is not supported.'' Reached unreachable code
    168 FAIL importVectorKeys step: ECDSA P-521 with SHA-1 verifying with wrong algorithm name assert_unreached: importVectorKeys failed for ECDSA P-521 with SHA-1. Message: ''The operation is not supported.'' Reached unreachable code
    169 FAIL importVectorKeys step: ECDSA P-521 with SHA-256 verifying with wrong algorithm name assert_unreached: importVectorKeys failed for ECDSA P-521 with SHA-256. Message: ''The operation is not supported.'' Reached unreachable code
    170 FAIL importVectorKeys step: ECDSA P-521 with SHA-384 verifying with wrong algorithm name assert_unreached: importVectorKeys failed for ECDSA P-521 with SHA-384. Message: ''The operation is not supported.'' Reached unreachable code
    171 FAIL importVectorKeys step: ECDSA P-521 with SHA-512 verifying with wrong algorithm name assert_unreached: importVectorKeys failed for ECDSA P-521 with SHA-512. Message: ''The operation is not supported.'' Reached unreachable code
     4PASS ECDSA P-256 with SHA-1 verification
     5PASS ECDSA P-256 with SHA-256 verification
     6PASS ECDSA P-256 with SHA-384 verification
     7PASS ECDSA P-256 with SHA-512 verification
     8PASS ECDSA P-384 with SHA-1 verification
     9PASS ECDSA P-384 with SHA-256 verification
     10PASS ECDSA P-384 with SHA-384 verification
     11PASS ECDSA P-384 with SHA-512 verification
     12FAIL importVectorKeys step: ECDSA P-521 with SHA-1 verification assert_unreached: importVectorKeys failed for ECDSA P-521 with SHA-1. Message: ''Data provided to an operation does not meet requirements'' Reached unreachable code
     13FAIL importVectorKeys step: ECDSA P-521 with SHA-256 verification assert_unreached: importVectorKeys failed for ECDSA P-521 with SHA-256. Message: ''Data provided to an operation does not meet requirements'' Reached unreachable code
     14FAIL importVectorKeys step: ECDSA P-521 with SHA-384 verification assert_unreached: importVectorKeys failed for ECDSA P-521 with SHA-384. Message: ''Data provided to an operation does not meet requirements'' Reached unreachable code
     15FAIL importVectorKeys step: ECDSA P-521 with SHA-512 verification assert_unreached: importVectorKeys failed for ECDSA P-521 with SHA-512. Message: ''Data provided to an operation does not meet requirements'' Reached unreachable code
     16PASS ECDSA P-256 with SHA-1 verification with altered signature after call
     17PASS ECDSA P-256 with SHA-256 verification with altered signature after call
     18PASS ECDSA P-256 with SHA-384 verification with altered signature after call
     19PASS ECDSA P-256 with SHA-512 verification with altered signature after call
     20PASS ECDSA P-384 with SHA-1 verification with altered signature after call
     21PASS ECDSA P-384 with SHA-256 verification with altered signature after call
     22PASS ECDSA P-384 with SHA-384 verification with altered signature after call
     23PASS ECDSA P-384 with SHA-512 verification with altered signature after call
     24FAIL importVectorKeys step: ECDSA P-521 with SHA-1 verification with altered signature after call assert_unreached: importVectorKeys failed for ECDSA P-521 with SHA-1. Message: ''Data provided to an operation does not meet requirements'' Reached unreachable code
     25FAIL importVectorKeys step: ECDSA P-521 with SHA-256 verification with altered signature after call assert_unreached: importVectorKeys failed for ECDSA P-521 with SHA-256. Message: ''Data provided to an operation does not meet requirements'' Reached unreachable code
     26FAIL importVectorKeys step: ECDSA P-521 with SHA-384 verification with altered signature after call assert_unreached: importVectorKeys failed for ECDSA P-521 with SHA-384. Message: ''Data provided to an operation does not meet requirements'' Reached unreachable code
     27FAIL importVectorKeys step: ECDSA P-521 with SHA-512 verification with altered signature after call assert_unreached: importVectorKeys failed for ECDSA P-521 with SHA-512. Message: ''Data provided to an operation does not meet requirements'' Reached unreachable code
     28PASS ECDSA P-256 with SHA-1 with altered plaintext after call
     29PASS ECDSA P-256 with SHA-256 with altered plaintext after call
     30PASS ECDSA P-256 with SHA-384 with altered plaintext after call
     31PASS ECDSA P-256 with SHA-512 with altered plaintext after call
     32PASS ECDSA P-384 with SHA-1 with altered plaintext after call
     33PASS ECDSA P-384 with SHA-256 with altered plaintext after call
     34PASS ECDSA P-384 with SHA-384 with altered plaintext after call
     35PASS ECDSA P-384 with SHA-512 with altered plaintext after call
     36FAIL importVectorKeys step: ECDSA P-521 with SHA-1 with altered plaintext after call assert_unreached: importVectorKeys failed for ECDSA P-521 with SHA-1. Message: ''Data provided to an operation does not meet requirements'' Reached unreachable code
     37FAIL importVectorKeys step: ECDSA P-521 with SHA-256 with altered plaintext after call assert_unreached: importVectorKeys failed for ECDSA P-521 with SHA-256. Message: ''Data provided to an operation does not meet requirements'' Reached unreachable code
     38FAIL importVectorKeys step: ECDSA P-521 with SHA-384 with altered plaintext after call assert_unreached: importVectorKeys failed for ECDSA P-521 with SHA-384. Message: ''Data provided to an operation does not meet requirements'' Reached unreachable code
     39FAIL importVectorKeys step: ECDSA P-521 with SHA-512 with altered plaintext after call assert_unreached: importVectorKeys failed for ECDSA P-521 with SHA-512. Message: ''Data provided to an operation does not meet requirements'' Reached unreachable code
     40PASS ECDSA P-256 with SHA-1 using privateKey to verify
     41PASS ECDSA P-256 with SHA-256 using privateKey to verify
     42PASS ECDSA P-256 with SHA-384 using privateKey to verify
     43PASS ECDSA P-256 with SHA-512 using privateKey to verify
     44PASS ECDSA P-384 with SHA-1 using privateKey to verify
     45PASS ECDSA P-384 with SHA-256 using privateKey to verify
     46PASS ECDSA P-384 with SHA-384 using privateKey to verify
     47PASS ECDSA P-384 with SHA-512 using privateKey to verify
     48FAIL importVectorKeys step: ECDSA P-521 with SHA-1 using privateKey to verify assert_unreached: importVectorKeys failed for ECDSA P-521 with SHA-1. Message: ''Data provided to an operation does not meet requirements'' Reached unreachable code
     49FAIL importVectorKeys step: ECDSA P-521 with SHA-256 using privateKey to verify assert_unreached: importVectorKeys failed for ECDSA P-521 with SHA-256. Message: ''Data provided to an operation does not meet requirements'' Reached unreachable code
     50FAIL importVectorKeys step: ECDSA P-521 with SHA-384 using privateKey to verify assert_unreached: importVectorKeys failed for ECDSA P-521 with SHA-384. Message: ''Data provided to an operation does not meet requirements'' Reached unreachable code
     51FAIL importVectorKeys step: ECDSA P-521 with SHA-512 using privateKey to verify assert_unreached: importVectorKeys failed for ECDSA P-521 with SHA-512. Message: ''Data provided to an operation does not meet requirements'' Reached unreachable code
     52PASS ECDSA P-256 with SHA-1 using publicKey to sign
     53PASS ECDSA P-256 with SHA-256 using publicKey to sign
     54PASS ECDSA P-256 with SHA-384 using publicKey to sign
     55PASS ECDSA P-256 with SHA-512 using publicKey to sign
     56PASS ECDSA P-384 with SHA-1 using publicKey to sign
     57PASS ECDSA P-384 with SHA-256 using publicKey to sign
     58PASS ECDSA P-384 with SHA-384 using publicKey to sign
     59PASS ECDSA P-384 with SHA-512 using publicKey to sign
     60FAIL importVectorKeys step: ECDSA P-521 with SHA-1 using publicKey to sign assert_unreached: importVectorKeys failed for ECDSA P-521 with SHA-1. Message: ''Data provided to an operation does not meet requirements'' Reached unreachable code
     61FAIL importVectorKeys step: ECDSA P-521 with SHA-256 using publicKey to sign assert_unreached: importVectorKeys failed for ECDSA P-521 with SHA-256. Message: ''Data provided to an operation does not meet requirements'' Reached unreachable code
     62FAIL importVectorKeys step: ECDSA P-521 with SHA-384 using publicKey to sign assert_unreached: importVectorKeys failed for ECDSA P-521 with SHA-384. Message: ''Data provided to an operation does not meet requirements'' Reached unreachable code
     63FAIL importVectorKeys step: ECDSA P-521 with SHA-512 using publicKey to sign assert_unreached: importVectorKeys failed for ECDSA P-521 with SHA-512. Message: ''Data provided to an operation does not meet requirements'' Reached unreachable code
     64PASS ECDSA P-256 with SHA-1 no verify usage
     65PASS ECDSA P-256 with SHA-256 no verify usage
     66PASS ECDSA P-256 with SHA-384 no verify usage
     67PASS ECDSA P-256 with SHA-512 no verify usage
     68PASS ECDSA P-384 with SHA-1 no verify usage
     69PASS ECDSA P-384 with SHA-256 no verify usage
     70PASS ECDSA P-384 with SHA-384 no verify usage
     71PASS ECDSA P-384 with SHA-512 no verify usage
     72FAIL importVectorKeys step: ECDSA P-521 with SHA-1 no verify usage assert_unreached: importVectorKeys failed for ECDSA P-521 with SHA-1. Message: ''Data provided to an operation does not meet requirements'' Reached unreachable code
     73FAIL importVectorKeys step: ECDSA P-521 with SHA-256 no verify usage assert_unreached: importVectorKeys failed for ECDSA P-521 with SHA-256. Message: ''Data provided to an operation does not meet requirements'' Reached unreachable code
     74FAIL importVectorKeys step: ECDSA P-521 with SHA-384 no verify usage assert_unreached: importVectorKeys failed for ECDSA P-521 with SHA-384. Message: ''Data provided to an operation does not meet requirements'' Reached unreachable code
     75FAIL importVectorKeys step: ECDSA P-521 with SHA-512 no verify usage assert_unreached: importVectorKeys failed for ECDSA P-521 with SHA-512. Message: ''Data provided to an operation does not meet requirements'' Reached unreachable code
     76PASS ECDSA P-256 with SHA-1 round trip
     77PASS ECDSA P-256 with SHA-256 round trip
     78PASS ECDSA P-256 with SHA-384 round trip
     79PASS ECDSA P-256 with SHA-512 round trip
     80PASS ECDSA P-384 with SHA-1 round trip
     81PASS ECDSA P-384 with SHA-256 round trip
     82PASS ECDSA P-384 with SHA-384 round trip
     83PASS ECDSA P-384 with SHA-512 round trip
     84FAIL importVectorKeys step: ECDSA P-521 with SHA-1 round trip assert_unreached: importVectorKeys failed for ECDSA P-521 with SHA-1. Message: ''Data provided to an operation does not meet requirements'' Reached unreachable code
     85FAIL importVectorKeys step: ECDSA P-521 with SHA-256 round trip assert_unreached: importVectorKeys failed for ECDSA P-521 with SHA-256. Message: ''Data provided to an operation does not meet requirements'' Reached unreachable code
     86FAIL importVectorKeys step: ECDSA P-521 with SHA-384 round trip assert_unreached: importVectorKeys failed for ECDSA P-521 with SHA-384. Message: ''Data provided to an operation does not meet requirements'' Reached unreachable code
     87FAIL importVectorKeys step: ECDSA P-521 with SHA-512 round trip assert_unreached: importVectorKeys failed for ECDSA P-521 with SHA-512. Message: ''Data provided to an operation does not meet requirements'' Reached unreachable code
     88PASS ECDSA P-256 with SHA-1 signing with wrong algorithm name
     89PASS ECDSA P-256 with SHA-256 signing with wrong algorithm name
     90PASS ECDSA P-256 with SHA-384 signing with wrong algorithm name
     91PASS ECDSA P-256 with SHA-512 signing with wrong algorithm name
     92PASS ECDSA P-384 with SHA-1 signing with wrong algorithm name
     93PASS ECDSA P-384 with SHA-256 signing with wrong algorithm name
     94PASS ECDSA P-384 with SHA-384 signing with wrong algorithm name
     95PASS ECDSA P-384 with SHA-512 signing with wrong algorithm name
     96PASS ECDSA P-256 with SHA-1 verifying with wrong algorithm name
     97PASS ECDSA P-256 with SHA-256 verifying with wrong algorithm name
     98PASS ECDSA P-256 with SHA-384 verifying with wrong algorithm name
     99PASS ECDSA P-256 with SHA-512 verifying with wrong algorithm name
     100PASS ECDSA P-384 with SHA-1 verifying with wrong algorithm name
     101PASS ECDSA P-384 with SHA-256 verifying with wrong algorithm name
     102PASS ECDSA P-384 with SHA-384 verifying with wrong algorithm name
     103PASS ECDSA P-384 with SHA-512 verifying with wrong algorithm name
     104PASS ECDSA P-256 with SHA-1 verification failure due to altered signature
     105PASS ECDSA P-256 with SHA-256 verification failure due to altered signature
     106PASS ECDSA P-256 with SHA-384 verification failure due to altered signature
     107PASS ECDSA P-256 with SHA-512 verification failure due to altered signature
     108PASS ECDSA P-384 with SHA-1 verification failure due to altered signature
     109PASS ECDSA P-384 with SHA-256 verification failure due to altered signature
     110PASS ECDSA P-384 with SHA-384 verification failure due to altered signature
     111PASS ECDSA P-384 with SHA-512 verification failure due to altered signature
     112FAIL importVectorKeys step: ECDSA P-521 with SHA-1 verification failure due to altered signature assert_unreached: importVectorKeys failed for ECDSA P-521 with SHA-1. Message: ''Data provided to an operation does not meet requirements'' Reached unreachable code
     113FAIL importVectorKeys step: ECDSA P-521 with SHA-256 verification failure due to altered signature assert_unreached: importVectorKeys failed for ECDSA P-521 with SHA-256. Message: ''Data provided to an operation does not meet requirements'' Reached unreachable code
     114FAIL importVectorKeys step: ECDSA P-521 with SHA-384 verification failure due to altered signature assert_unreached: importVectorKeys failed for ECDSA P-521 with SHA-384. Message: ''Data provided to an operation does not meet requirements'' Reached unreachable code
     115FAIL importVectorKeys step: ECDSA P-521 with SHA-512 verification failure due to altered signature assert_unreached: importVectorKeys failed for ECDSA P-521 with SHA-512. Message: ''Data provided to an operation does not meet requirements'' Reached unreachable code
     116PASS ECDSA P-256 with SHA-1 verification failure due to wrong hash
     117PASS ECDSA P-256 with SHA-256 verification failure due to wrong hash
     118PASS ECDSA P-256 with SHA-384 verification failure due to wrong hash
     119PASS ECDSA P-256 with SHA-512 verification failure due to wrong hash
     120PASS ECDSA P-384 with SHA-1 verification failure due to wrong hash
     121PASS ECDSA P-384 with SHA-256 verification failure due to wrong hash
     122PASS ECDSA P-384 with SHA-384 verification failure due to wrong hash
     123PASS ECDSA P-384 with SHA-512 verification failure due to wrong hash
     124FAIL importVectorKeys step: ECDSA P-521 with SHA-1 verification failure due to wrong hash assert_unreached: importVectorKeys failed for ECDSA P-521 with SHA-1. Message: ''Data provided to an operation does not meet requirements'' Reached unreachable code
     125FAIL importVectorKeys step: ECDSA P-521 with SHA-256 verification failure due to wrong hash assert_unreached: importVectorKeys failed for ECDSA P-521 with SHA-256. Message: ''Data provided to an operation does not meet requirements'' Reached unreachable code
     126FAIL importVectorKeys step: ECDSA P-521 with SHA-384 verification failure due to wrong hash assert_unreached: importVectorKeys failed for ECDSA P-521 with SHA-384. Message: ''Data provided to an operation does not meet requirements'' Reached unreachable code
     127FAIL importVectorKeys step: ECDSA P-521 with SHA-512 verification failure due to wrong hash assert_unreached: importVectorKeys failed for ECDSA P-521 with SHA-512. Message: ''Data provided to an operation does not meet requirements'' Reached unreachable code
     128PASS ECDSA P-256 with SHA-1 verification failure due to bad hash name
     129PASS ECDSA P-256 with SHA-256 verification failure due to bad hash name
     130PASS ECDSA P-256 with SHA-384 verification failure due to bad hash name
     131PASS ECDSA P-256 with SHA-512 verification failure due to bad hash name
     132PASS ECDSA P-384 with SHA-1 verification failure due to bad hash name
     133PASS ECDSA P-384 with SHA-256 verification failure due to bad hash name
     134PASS ECDSA P-384 with SHA-384 verification failure due to bad hash name
     135PASS ECDSA P-384 with SHA-512 verification failure due to bad hash name
     136FAIL importVectorKeys step: ECDSA P-521 with SHA-1 verification failure due to bad hash name assert_unreached: importVectorKeys failed for ECDSA P-521 with SHA-1. Message: ''Data provided to an operation does not meet requirements'' Reached unreachable code
     137FAIL importVectorKeys step: ECDSA P-521 with SHA-256 verification failure due to bad hash name assert_unreached: importVectorKeys failed for ECDSA P-521 with SHA-256. Message: ''Data provided to an operation does not meet requirements'' Reached unreachable code
     138FAIL importVectorKeys step: ECDSA P-521 with SHA-384 verification failure due to bad hash name assert_unreached: importVectorKeys failed for ECDSA P-521 with SHA-384. Message: ''Data provided to an operation does not meet requirements'' Reached unreachable code
     139FAIL importVectorKeys step: ECDSA P-521 with SHA-512 verification failure due to bad hash name assert_unreached: importVectorKeys failed for ECDSA P-521 with SHA-512. Message: ''Data provided to an operation does not meet requirements'' Reached unreachable code
     140PASS ECDSA P-256 with SHA-1 verification failure due to shortened signature
     141PASS ECDSA P-256 with SHA-256 verification failure due to shortened signature
     142PASS ECDSA P-256 with SHA-384 verification failure due to shortened signature
     143PASS ECDSA P-256 with SHA-512 verification failure due to shortened signature
     144PASS ECDSA P-384 with SHA-1 verification failure due to shortened signature
     145PASS ECDSA P-384 with SHA-256 verification failure due to shortened signature
     146PASS ECDSA P-384 with SHA-384 verification failure due to shortened signature
     147PASS ECDSA P-384 with SHA-512 verification failure due to shortened signature
     148FAIL importVectorKeys step: ECDSA P-521 with SHA-1 verification failure due to shortened signature assert_unreached: importVectorKeys failed for ECDSA P-521 with SHA-1. Message: ''Data provided to an operation does not meet requirements'' Reached unreachable code
     149FAIL importVectorKeys step: ECDSA P-521 with SHA-256 verification failure due to shortened signature assert_unreached: importVectorKeys failed for ECDSA P-521 with SHA-256. Message: ''Data provided to an operation does not meet requirements'' Reached unreachable code
     150FAIL importVectorKeys step: ECDSA P-521 with SHA-384 verification failure due to shortened signature assert_unreached: importVectorKeys failed for ECDSA P-521 with SHA-384. Message: ''Data provided to an operation does not meet requirements'' Reached unreachable code
     151FAIL importVectorKeys step: ECDSA P-521 with SHA-512 verification failure due to shortened signature assert_unreached: importVectorKeys failed for ECDSA P-521 with SHA-512. Message: ''Data provided to an operation does not meet requirements'' Reached unreachable code
     152PASS ECDSA P-256 with SHA-1 verification failure due to altered plaintext
     153PASS ECDSA P-256 with SHA-256 verification failure due to altered plaintext
     154PASS ECDSA P-256 with SHA-384 verification failure due to altered plaintext
     155PASS ECDSA P-256 with SHA-512 verification failure due to altered plaintext
     156PASS ECDSA P-384 with SHA-1 verification failure due to altered plaintext
     157PASS ECDSA P-384 with SHA-256 verification failure due to altered plaintext
     158PASS ECDSA P-384 with SHA-384 verification failure due to altered plaintext
     159PASS ECDSA P-384 with SHA-512 verification failure due to altered plaintext
     160FAIL importVectorKeys step: ECDSA P-521 with SHA-1 verification failure due to altered plaintext assert_unreached: importVectorKeys failed for ECDSA P-521 with SHA-1. Message: ''Data provided to an operation does not meet requirements'' Reached unreachable code
     161FAIL importVectorKeys step: ECDSA P-521 with SHA-256 verification failure due to altered plaintext assert_unreached: importVectorKeys failed for ECDSA P-521 with SHA-256. Message: ''Data provided to an operation does not meet requirements'' Reached unreachable code
     162FAIL importVectorKeys step: ECDSA P-521 with SHA-384 verification failure due to altered plaintext assert_unreached: importVectorKeys failed for ECDSA P-521 with SHA-384. Message: ''Data provided to an operation does not meet requirements'' Reached unreachable code
     163FAIL importVectorKeys step: ECDSA P-521 with SHA-512 verification failure due to altered plaintext assert_unreached: importVectorKeys failed for ECDSA P-521 with SHA-512. Message: ''Data provided to an operation does not meet requirements'' Reached unreachable code
     164FAIL importVectorKeys step: ECDSA P-521 with SHA-1 signing with wrong algorithm name assert_unreached: importVectorKeys failed for ECDSA P-521 with SHA-1. Message: ''Data provided to an operation does not meet requirements'' Reached unreachable code
     165FAIL importVectorKeys step: ECDSA P-521 with SHA-256 signing with wrong algorithm name assert_unreached: importVectorKeys failed for ECDSA P-521 with SHA-256. Message: ''Data provided to an operation does not meet requirements'' Reached unreachable code
     166FAIL importVectorKeys step: ECDSA P-521 with SHA-384 signing with wrong algorithm name assert_unreached: importVectorKeys failed for ECDSA P-521 with SHA-384. Message: ''Data provided to an operation does not meet requirements'' Reached unreachable code
     167FAIL importVectorKeys step: ECDSA P-521 with SHA-512 signing with wrong algorithm name assert_unreached: importVectorKeys failed for ECDSA P-521 with SHA-512. Message: ''Data provided to an operation does not meet requirements'' Reached unreachable code
     168FAIL importVectorKeys step: ECDSA P-521 with SHA-1 verifying with wrong algorithm name assert_unreached: importVectorKeys failed for ECDSA P-521 with SHA-1. Message: ''Data provided to an operation does not meet requirements'' Reached unreachable code
     169FAIL importVectorKeys step: ECDSA P-521 with SHA-256 verifying with wrong algorithm name assert_unreached: importVectorKeys failed for ECDSA P-521 with SHA-256. Message: ''Data provided to an operation does not meet requirements'' Reached unreachable code
     170FAIL importVectorKeys step: ECDSA P-521 with SHA-384 verifying with wrong algorithm name assert_unreached: importVectorKeys failed for ECDSA P-521 with SHA-384. Message: ''Data provided to an operation does not meet requirements'' Reached unreachable code
     171FAIL importVectorKeys step: ECDSA P-521 with SHA-512 verifying with wrong algorithm name assert_unreached: importVectorKeys failed for ECDSA P-521 with SHA-512. Message: ''Data provided to an operation does not meet requirements'' Reached unreachable code
    172172
  • trunk/LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/sign_verify/test_hmac-expected.txt

    r212124 r215423  
    22
    33
    4 FAIL generate wrong key step: HMAC with SHA-1 signing with wrong algorithm name assert_unreached: Generate wrong key for test HMAC with SHA-1 failed: 'The operation is not supported.' Reached unreachable code
    5 FAIL generate wrong key step: HMAC with SHA-256 signing with wrong algorithm name assert_unreached: Generate wrong key for test HMAC with SHA-256 failed: 'The operation is not supported.' Reached unreachable code
    6 FAIL generate wrong key step: HMAC with SHA-384 signing with wrong algorithm name assert_unreached: Generate wrong key for test HMAC with SHA-384 failed: 'The operation is not supported.' Reached unreachable code
    7 FAIL generate wrong key step: HMAC with SHA-512 signing with wrong algorithm name assert_unreached: Generate wrong key for test HMAC with SHA-512 failed: 'The operation is not supported.' Reached unreachable code
    8 FAIL generate wrong key step: HMAC with SHA-1 verifying with wrong algorithm name assert_unreached: Generate wrong key for test HMAC with SHA-1 failed: 'The operation is not supported.' Reached unreachable code
    9 FAIL generate wrong key step: HMAC with SHA-256 verifying with wrong algorithm name assert_unreached: Generate wrong key for test HMAC with SHA-256 failed: 'The operation is not supported.' Reached unreachable code
    10 FAIL generate wrong key step: HMAC with SHA-384 verifying with wrong algorithm name assert_unreached: Generate wrong key for test HMAC with SHA-384 failed: 'The operation is not supported.' Reached unreachable code
    11 FAIL generate wrong key step: HMAC with SHA-512 verifying with wrong algorithm name assert_unreached: Generate wrong key for test HMAC with SHA-512 failed: 'The operation is not supported.' Reached unreachable code
    124PASS HMAC with SHA-1 verification
    135PASS HMAC with SHA-256 verification
     
    3022PASS HMAC with SHA-384 round trip
    3123PASS HMAC with SHA-512 round trip
     24PASS HMAC with SHA-1 signing with wrong algorithm name
     25PASS HMAC with SHA-256 signing with wrong algorithm name
     26PASS HMAC with SHA-384 signing with wrong algorithm name
     27PASS HMAC with SHA-512 signing with wrong algorithm name
     28PASS HMAC with SHA-1 verifying with wrong algorithm name
     29PASS HMAC with SHA-256 verifying with wrong algorithm name
     30PASS HMAC with SHA-384 verifying with wrong algorithm name
     31PASS HMAC with SHA-512 verifying with wrong algorithm name
    3232PASS HMAC with SHA-1 verification failure due to wrong plaintext
    3333PASS HMAC with SHA-256 verification failure due to wrong plaintext
  • trunk/Source/WebCore/CMakeLists.txt

    r215382 r215423  
    357357    crypto/parameters/EcKeyParams.idl
    358358    crypto/parameters/EcdhKeyDeriveParams.idl
     359    crypto/parameters/EcdsaParams.idl
    359360    crypto/parameters/HkdfParams.idl
    360361    crypto/parameters/HmacKeyParams.idl
  • trunk/Source/WebCore/ChangeLog

    r215418 r215423  
     12017-04-14  Jiewen Tan  <jiewen_tan@apple.com>
     2
     3        [WebCrypto] Add support for ECDSA
     4        https://bugs.webkit.org/show_bug.cgi?id=170789
     5        <rdar://problem/31588604>
     6
     7        Reviewed by Brent Fulgham.
     8
     9        This patch implements ECDSA according to the spec: https://www.w3.org/TR/WebCryptoAPI/#ecdsa.
     10        Supported operations include sign, verify, generateKey, importKey and exportKey.
     11
     12        Tests: crypto/subtle/ecdh-generate-export-key-pkcs8-p256.html
     13               crypto/subtle/ecdh-generate-export-key-pkcs8-p384.html
     14               crypto/subtle/ecdsa-generate-export-jwk-key.html
     15               crypto/subtle/ecdsa-generate-export-key-pkcs8.html
     16               crypto/subtle/ecdsa-generate-export-key-raw.html
     17               crypto/subtle/ecdsa-generate-export-key-spki.html
     18               crypto/subtle/ecdsa-generate-key-sign-verify-p256.html
     19               crypto/subtle/ecdsa-generate-key-sign-verify-p384.html
     20               crypto/subtle/ecdsa-generate-key.html
     21               crypto/subtle/ecdsa-import-jwk-private-key.html
     22               crypto/subtle/ecdsa-import-jwk-public-key-alg-256.html
     23               crypto/subtle/ecdsa-import-jwk-public-key-alg-384.html
     24               crypto/subtle/ecdsa-import-jwk-public-key.html
     25               crypto/subtle/ecdsa-import-key-sign-p256.html
     26               crypto/subtle/ecdsa-import-key-sign-p384.html
     27               crypto/subtle/ecdsa-import-key-verify-p256.html
     28               crypto/subtle/ecdsa-import-key-verify-p384.html
     29               crypto/subtle/ecdsa-import-pkcs8-key.html
     30               crypto/subtle/ecdsa-import-raw-key.html
     31               crypto/subtle/ecdsa-import-spki-key.html
     32               crypto/subtle/ecdsa-verify-malformed-parameters.html
     33               crypto/workers/subtle/ecdsa-import-key-sign.html
     34               crypto/workers/subtle/ecdsa-import-key-verify.html
     35
     36        * CMakeLists.txt:
     37        * DerivedSources.make:
     38        * PlatformGTK.cmake:
     39        * PlatformMac.cmake:
     40        * WebCore.xcodeproj/project.pbxproj:
     41        * bindings/js/JSSubtleCryptoCustom.cpp:
     42        (WebCore::normalizeCryptoAlgorithmParameters):
     43        (WebCore::jsSubtleCryptoFunctionSignPromise):
     44        (WebCore::jsSubtleCryptoFunctionVerifyPromise):
     45        Add missing parameters.
     46        * crypto/CommonCryptoUtilities.h:
     47        * crypto/CryptoAlgorithm.cpp:
     48        (WebCore::CryptoAlgorithm::sign):
     49        (WebCore::CryptoAlgorithm::verify):
     50        * crypto/CryptoAlgorithm.h:
     51        Add missing parameters.
     52        * crypto/CryptoAlgorithmParameters.h:
     53        * crypto/algorithms/CryptoAlgorithmECDSA.cpp: Added.
     54        (WebCore::CryptoAlgorithmECDSA::create):
     55        (WebCore::CryptoAlgorithmECDSA::identifier):
     56        (WebCore::CryptoAlgorithmECDSA::sign):
     57        (WebCore::CryptoAlgorithmECDSA::verify):
     58        (WebCore::CryptoAlgorithmECDSA::generateKey):
     59        (WebCore::CryptoAlgorithmECDSA::importKey):
     60        (WebCore::CryptoAlgorithmECDSA::exportKey):
     61        * crypto/algorithms/CryptoAlgorithmECDSA.h: Added.
     62        * crypto/algorithms/CryptoAlgorithmHMAC.cpp:
     63        (WebCore::CryptoAlgorithmHMAC::sign):
     64        (WebCore::CryptoAlgorithmHMAC::verify):
     65        * crypto/algorithms/CryptoAlgorithmHMAC.h:
     66        Add missing parameters.
     67        * crypto/algorithms/CryptoAlgorithmRSASSA_PKCS1_v1_5.cpp:
     68        (WebCore::CryptoAlgorithmRSASSA_PKCS1_v1_5::sign):
     69        (WebCore::CryptoAlgorithmRSASSA_PKCS1_v1_5::verify):
     70        * crypto/algorithms/CryptoAlgorithmRSASSA_PKCS1_v1_5.h:
     71        Add missing parameters.
     72        * crypto/gcrypt/CryptoAlgorithmECDSAGCrypt.cpp: Added.
     73        (WebCore::CryptoAlgorithmECDSA::platformSign):
     74        (WebCore::CryptoAlgorithmECDSA::platformVerify):
     75        * crypto/mac/CommonCryptoDERUtilities.cpp: Added.
     76        (WebCore::bytesUsedToEncodedLength):
     77        (WebCore::extraBytesNeededForEncodedLength):
     78        (WebCore::addEncodedASN1Length):
     79        (WebCore::bytesNeededForEncodedLength):
     80        * crypto/mac/CommonCryptoDERUtilities.h:
     81        (WebCore::bytesUsedToEncodedLength): Deleted.
     82        (WebCore::extraBytesNeededForEncodedLength): Deleted.
     83        (WebCore::addEncodedASN1Length): Deleted.
     84        (WebCore::bytesNeededForEncodedLength): Deleted.
     85        Move implementations to a .cpp file.
     86        * crypto/mac/CryptoAlgorithmECDSAMac.cpp: Added.
     87        (WebCore::cryptoDigestAlgorithm):
     88        (WebCore::signECDSA):
     89        (WebCore::verifyECDSA):
     90        (WebCore::CryptoAlgorithmECDSA::platformSign):
     91        (WebCore::CryptoAlgorithmECDSA::platformVerify):
     92        * crypto/mac/CryptoAlgorithmRegistryMac.cpp:
     93        (WebCore::CryptoAlgorithmRegistry::platformRegisterAlgorithms):
     94        * crypto/parameters/CryptoAlgorithmEcdsaParams.h: Added.
     95        * crypto/parameters/EcdsaParams.idl: Added.
     96
    1972017-04-17  Jeremy Jones  <jeremyj@apple.com>
    298
  • trunk/Source/WebCore/DerivedSources.make

    r215403 r215423  
    294294    $(WebCore)/crypto/parameters/EcKeyParams.idl \
    295295    $(WebCore)/crypto/parameters/EcdhKeyDeriveParams.idl \
     296    $(WebCore)/crypto/parameters/EcdsaParams.idl \
    296297    $(WebCore)/crypto/parameters/HkdfParams.idl \
    297298    $(WebCore)/crypto/parameters/HmacKeyParams.idl \
  • trunk/Source/WebCore/PlatformGTK.cmake

    r215382 r215423  
    388388        crypto/algorithms/CryptoAlgorithmAES_KW.cpp
    389389        crypto/algorithms/CryptoAlgorithmECDH.cpp
     390        crypto/algorithms/CryptoAlgorithmECDSA.cpp
    390391        crypto/algorithms/CryptoAlgorithmHKDF.cpp
    391392        crypto/algorithms/CryptoAlgorithmHMAC.cpp
     
    406407        crypto/gcrypt/CryptoAlgorithmAES_KWGCrypt.cpp
    407408        crypto/gcrypt/CryptoAlgorithmECDHGCrypt.cpp
     409        crypto/gcrypt/CryptoAlgorithmECDSAGCrypt.cpp
    408410        crypto/gcrypt/CryptoAlgorithmHKDFGCrypt.cpp
    409411        crypto/gcrypt/CryptoAlgorithmHMACGCrypt.cpp
  • trunk/Source/WebCore/PlatformMac.cmake

    r215382 r215423  
    189189    crypto/algorithms/CryptoAlgorithmAES_KW.cpp
    190190    crypto/algorithms/CryptoAlgorithmECDH.cpp
     191    crypto/algorithms/CryptoAlgorithmECDSA.cpp
    191192    crypto/algorithms/CryptoAlgorithmHKDF.cpp
    192193    crypto/algorithms/CryptoAlgorithmHMAC.cpp
     
    216217    crypto/mac/CryptoAlgorithmAES_KWMac.cpp
    217218    crypto/mac/CryptoAlgorithmECDHMac.cpp
     219    crypto/mac/CryptoAlgorithmECDSAMac.cpp
    218220    crypto/mac/CryptoAlgorithmHKDFMac.cpp
    219221    crypto/mac/CryptoAlgorithmHMACMac.cpp
  • trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj

    r215418 r215423  
    26182618                57E657F01E71665400F941CA /* JSPbkdf2Params.h in Headers */ = {isa = PBXBuildFile; fileRef = 57E657EE1E71665400F941CA /* JSPbkdf2Params.h */; };
    26192619                57E664FC1E73703300765536 /* CommonCryptoDERUtilities.h in Headers */ = {isa = PBXBuildFile; fileRef = 57E664FB1E73703300765536 /* CommonCryptoDERUtilities.h */; };
     2620                57EEAA461E9ED2DD00701124 /* CryptoAlgorithmECDSA.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 57EEAA441E9ED2DD00701124 /* CryptoAlgorithmECDSA.cpp */; };
     2621                57EEAA471E9ED2DD00701124 /* CryptoAlgorithmECDSA.h in Headers */ = {isa = PBXBuildFile; fileRef = 57EEAA451E9ED2DD00701124 /* CryptoAlgorithmECDSA.h */; };
     2622                57EEAA4A1E9F2D3200701124 /* CryptoAlgorithmECDSAMac.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 57EEAA481E9F2D3200701124 /* CryptoAlgorithmECDSAMac.cpp */; };
     2623                57EEAA501E9FFBFC00701124 /* CryptoAlgorithmEcdsaParams.h in Headers */ = {isa = PBXBuildFile; fileRef = 57EEAA4D1E9FFBFC00701124 /* CryptoAlgorithmEcdsaParams.h */; };
     2624                57EEAA541EA001B100701124 /* JSEcdsaParams.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 57EEAA521EA001B100701124 /* JSEcdsaParams.cpp */; };
     2625                57EEAA551EA001B100701124 /* JSEcdsaParams.h in Headers */ = {isa = PBXBuildFile; fileRef = 57EEAA531EA001B100701124 /* JSEcdsaParams.h */; };
     2626                57EEAA581EA0AFBB00701124 /* CommonCryptoDERUtilities.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 57EEAA571EA0AFBB00701124 /* CommonCryptoDERUtilities.cpp */; };
    26202627                57EF5E601D20C83900171E60 /* TextCodecReplacement.h in Headers */ = {isa = PBXBuildFile; fileRef = 57EF5E5F1D20C83900171E60 /* TextCodecReplacement.h */; };
    26212628                57EF5E621D20D28700171E60 /* TextCodecReplacement.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 57EF5E611D20D28700171E60 /* TextCodecReplacement.cpp */; };
     
    1035510362                57E657EE1E71665400F941CA /* JSPbkdf2Params.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JSPbkdf2Params.h; sourceTree = "<group>"; };
    1035610363                57E664FB1E73703300765536 /* CommonCryptoDERUtilities.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CommonCryptoDERUtilities.h; sourceTree = "<group>"; };
     10364                57EEAA441E9ED2DD00701124 /* CryptoAlgorithmECDSA.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CryptoAlgorithmECDSA.cpp; sourceTree = "<group>"; };
     10365                57EEAA451E9ED2DD00701124 /* CryptoAlgorithmECDSA.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CryptoAlgorithmECDSA.h; sourceTree = "<group>"; };
     10366                57EEAA481E9F2D3200701124 /* CryptoAlgorithmECDSAMac.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CryptoAlgorithmECDSAMac.cpp; sourceTree = "<group>"; };
     10367                57EEAA4D1E9FFBFC00701124 /* CryptoAlgorithmEcdsaParams.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CryptoAlgorithmEcdsaParams.h; sourceTree = "<group>"; };
     10368                57EEAA4E1E9FFBFC00701124 /* EcdsaParams.idl */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = EcdsaParams.idl; sourceTree = "<group>"; };
     10369                57EEAA521EA001B100701124 /* JSEcdsaParams.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSEcdsaParams.cpp; sourceTree = "<group>"; };
     10370                57EEAA531EA001B100701124 /* JSEcdsaParams.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JSEcdsaParams.h; sourceTree = "<group>"; };
     10371                57EEAA571EA0AFBB00701124 /* CommonCryptoDERUtilities.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CommonCryptoDERUtilities.cpp; sourceTree = "<group>"; };
    1035710372                57EF5E5F1D20C83900171E60 /* TextCodecReplacement.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TextCodecReplacement.h; sourceTree = "<group>"; };
    1035810373                57EF5E611D20D28700171E60 /* TextCodecReplacement.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = TextCodecReplacement.cpp; sourceTree = "<group>"; };
     
    2434924364                        isa = PBXGroup;
    2435024365                        children = (
     24366                                57EEAA571EA0AFBB00701124 /* CommonCryptoDERUtilities.cpp */,
    2435124367                                57E664FB1E73703300765536 /* CommonCryptoDERUtilities.h */,
    2435224368                                E125F843182425C900D84CD9 /* CryptoAlgorithmAES_CBCMac.cpp */,
     
    2435624372                                E1FE137C184D270200892F13 /* CryptoAlgorithmAES_KWMac.cpp */,
    2435724373                                576814341E6FE3E800E77754 /* CryptoAlgorithmECDHMac.cpp */,
     24374                                57EEAA481E9F2D3200701124 /* CryptoAlgorithmECDSAMac.cpp */,
    2435824375                                57957CAA1E97247B008072AB /* CryptoAlgorithmHKDFMac.cpp */,
    2435924376                                E125F8371822F1EB00D84CD9 /* CryptoAlgorithmHMACMac.cpp */,
     
    2438624403                                5750A9841E6A216800705C4A /* CryptoAlgorithmECDH.cpp */,
    2438724404                                5750A9851E6A216800705C4A /* CryptoAlgorithmECDH.h */,
     24405                                57EEAA441E9ED2DD00701124 /* CryptoAlgorithmECDSA.cpp */,
     24406                                57EEAA451E9ED2DD00701124 /* CryptoAlgorithmECDSA.h */,
    2438824407                                57957CA61E971DE0008072AB /* CryptoAlgorithmHKDF.cpp */,
    2438924408                                57957CA71E971DE0008072AB /* CryptoAlgorithmHKDF.h */,
     
    2444924468                                577483111DADC55D00716EF9 /* CryptoAlgorithmAesKeyParams.h */,
    2445024469                                576814291E6F99C100E77754 /* CryptoAlgorithmEcdhKeyDeriveParams.h */,
     24470                                57EEAA4D1E9FFBFC00701124 /* CryptoAlgorithmEcdsaParams.h */,
    2445124471                                5750A97D1E6A13EF00705C4A /* CryptoAlgorithmEcKeyParams.h */,
    2445224472                                57957CAF1E972645008072AB /* CryptoAlgorithmHkdfParams.h */,
     
    2446424484                                E1BD331B182D8EE900C05D9F /* CryptoAlgorithmRsaSsaParamsDeprecated.h */,
    2446524485                                576814281E6F98AD00E77754 /* EcdhKeyDeriveParams.idl */,
     24486                                57EEAA4E1E9FFBFC00701124 /* EcdsaParams.idl */,
    2446624487                                5750A97C1E6A12B400705C4A /* EcKeyParams.idl */,
    2446724488                                57957CB01E972645008072AB /* HkdfParams.idl */,
     
    2464524666                                5768143D1E709C3600E77754 /* JSEcdhKeyDeriveParams.cpp */,
    2464624667                                5768143E1E709C3600E77754 /* JSEcdhKeyDeriveParams.h */,
     24668                                57EEAA521EA001B100701124 /* JSEcdsaParams.cpp */,
     24669                                57EEAA531EA001B100701124 /* JSEcdsaParams.h */,
    2464724670                                5750A97F1E6A150800705C4A /* JSEcKeyParams.cpp */,
    2464824671                                5750A9801E6A150800705C4A /* JSEcKeyParams.h */,
     
    2778527808                                938E666209F09B87008A48EC /* JSHTMLCanvasElement.h in Headers */,
    2778627809                                BCCBAD410C18C14200CE890F /* JSHTMLCollection.h in Headers */,
     27810                                57EEAA551EA001B100701124 /* JSEcdsaParams.h in Headers */,
    2778727811                                8367587F1C56E99B008A1087 /* JSHTMLDataElement.h in Headers */,
    2778827812                                F5C041E70FFCA96D00839D4A /* JSHTMLDataListElement.h in Headers */,
     
    2820228226                                A7D20F63107F406900A80392 /* JSWebGLActiveInfo.h in Headers */,
    2820328227                                49C7B9941042D2D30009D447 /* JSWebGLBuffer.h in Headers */,
     28228                                57EEAA471E9ED2DD00701124 /* CryptoAlgorithmECDSA.h in Headers */,
    2820428229                                7EA30F6A16DFFE7500257D0B /* JSWebGLCompressedTextureATC.h in Headers */,
    2820528230                                7EA30F6A17EFFE7500257D0B /* JSWebGLCompressedTexturePVRTC.h in Headers */,
     
    2968429709                                498770F31242C535002226BA /* TilingData.h in Headers */,
    2968529710                                F55B3DDC1251F12D003EF269 /* TimeInputType.h in Headers */,
     29711                                57EEAA501E9FFBFC00701124 /* CryptoAlgorithmEcdsaParams.h in Headers */,
    2968629712                                7553CFE8108F473F00EA281E /* TimelineRecordFactory.h in Headers */,
    2968729713                                9305B24D098F1B6B00C28855 /* Timer.h in Headers */,
     
    3116031186                                389117431E8F4BF00061033E /* GPUComputeCommandEncoder.cpp in Sources */,
    3116131187                                389117411E8F4BF00061033E /* GPUComputeCommandEncoderMetal.mm in Sources */,
     31188                                57EEAA461E9ED2DD00701124 /* CryptoAlgorithmECDSA.cpp in Sources */,
    3116231189                                389117441E8F4BF00061033E /* GPUComputePipelineState.cpp in Sources */,
    3116331190                                389117421E8F4BF00061033E /* GPUComputePipelineStateMetal.mm in Sources */,
     
    3137931406                                5185FC981BB4C4E80012898F /* IDBKeyPath.cpp in Sources */,
    3138031407                                5185FC9A1BB4C4E80012898F /* IDBKeyRange.cpp in Sources */,
     31408                                57EEAA581EA0AFBB00701124 /* CommonCryptoDERUtilities.cpp in Sources */,
    3138131409                                5185FC9D1BB4C4E80012898F /* IDBKeyRangeData.cpp in Sources */,
    3138231410                                5185FC9F1BB4C4E80012898F /* IDBObjectStore.cpp in Sources */,
     
    3176231790                                BCD41ABB0C060DE800C0E446 /* JSHTMLFrameSetElementCustom.cpp in Sources */,
    3176331791                                A80E7B140A19D606007FB8C5 /* JSHTMLHeadElement.cpp in Sources */,
     31792                                57EEAA541EA001B100701124 /* JSEcdsaParams.cpp in Sources */,
    3176431793                                1AE2AA2E0A1CDAB400B42B25 /* JSHTMLHeadingElement.cpp in Sources */,
    3176531794                                1AE2AA300A1CDAB400B42B25 /* JSHTMLHRElement.cpp in Sources */,
     
    3318633215                                B22279920D00BF220071B782 /* SVGAnimateMotionElement.cpp in Sources */,
    3318733216                                B22279940D00BF220071B782 /* SVGAnimateTransformElement.cpp in Sources */,
     33217                                57EEAA4A1E9F2D3200701124 /* CryptoAlgorithmECDSAMac.cpp in Sources */,
    3318833218                                B22279970D00BF220071B782 /* SVGAnimationElement.cpp in Sources */,
    3318933219                                08FB17C113BC7E9100040086 /* SVGAttributeToPropertyMap.cpp in Sources */,
  • trunk/Source/WebCore/bindings/js/JSSubtleCryptoCustom.cpp

    r215382 r215423  
    4242#include "JSEcKeyParams.h"
    4343#include "JSEcdhKeyDeriveParams.h"
     44#include "JSEcdsaParams.h"
    4445#include "JSHkdfParams.h"
    4546#include "JSHmacKeyParams.h"
     
    151152                result = std::make_unique<CryptoAlgorithmParameters>(params);
    152153                break;
     154            case CryptoAlgorithmIdentifier::ECDSA: {
     155                auto params = convertDictionary<CryptoAlgorithmEcdsaParams>(state, value);
     156                RETURN_IF_EXCEPTION(scope, nullptr);
     157                params.hashIdentifier = toHashIdentifier(state, params.hash);
     158                RETURN_IF_EXCEPTION(scope, nullptr);
     159                result = std::make_unique<CryptoAlgorithmEcdsaParams>(params);
     160                break;
     161
     162            }
    153163            default:
    154164                throwNotSupportedError(state, scope);
     
    645655    JSSubtleCrypto* subtle = jsDynamicDowncast<JSSubtleCrypto*>(vm, state.thisValue());
    646656    ASSERT(subtle);
    647     algorithm->sign(key.releaseNonNull(), WTFMove(data), WTFMove(callback), WTFMove(exceptionCallback), *scriptExecutionContextFromExecState(&state), subtle->wrapped().workQueue());
     657    algorithm->sign(WTFMove(params), key.releaseNonNull(), WTFMove(data), WTFMove(callback), WTFMove(exceptionCallback), *scriptExecutionContextFromExecState(&state), subtle->wrapped().workQueue());
    648658}
    649659
     
    695705    auto subtle = jsDynamicDowncast<JSSubtleCrypto*>(vm, state.thisValue());
    696706    ASSERT(subtle);
    697     algorithm->verify(key.releaseNonNull(), WTFMove(signature), WTFMove(data), WTFMove(callback), WTFMove(exceptionCallback), *scriptExecutionContextFromExecState(&state), subtle->wrapped().workQueue());
     707    algorithm->verify(WTFMove(params), key.releaseNonNull(), WTFMove(signature), WTFMove(data), WTFMove(callback), WTFMove(exceptionCallback), *scriptExecutionContextFromExecState(&state), subtle->wrapped().workQueue());
    698708}
    699709
  • trunk/Source/WebCore/crypto/CommonCryptoUtilities.h

    r215382 r215423  
    110110extern "C" CCCryptorStatus CCECCryptorGetKeyComponents(CCECCryptorRef ecKey, size_t *keySize, uint8_t *qX, size_t *qXLength, uint8_t *qY, size_t *qYLength, uint8_t *d, size_t *dLength);
    111111extern "C" CCCryptorStatus CCECCryptorComputeSharedSecret(CCECCryptorRef privateKey, CCECCryptorRef publicKey, void *out, size_t *outLen);
     112extern "C" CCCryptorStatus CCECCryptorSignHash(CCECCryptorRef privateKey, const void *hashToSign, size_t hashSignLen, void *signedData, size_t *signedDataLen);
     113extern "C" CCCryptorStatus CCECCryptorVerifyHash(CCECCryptorRef publicKey, const void *hash, size_t hashLen, const void *signedData, size_t signedDataLen, uint32_t *valid);
     114
     115
    112116
    113117#ifndef CommonCrypto_CommonNistKeyDerivation_h
  • trunk/Source/WebCore/crypto/CryptoAlgorithm.cpp

    r213628 r215423  
    4343}
    4444
    45 void CryptoAlgorithm::sign(Ref<CryptoKey>&&, Vector<uint8_t>&&, VectorCallback&&, ExceptionCallback&& exceptionCallback, ScriptExecutionContext&, WorkQueue&)
     45void CryptoAlgorithm::sign(std::unique_ptr<CryptoAlgorithmParameters>&&, Ref<CryptoKey>&&, Vector<uint8_t>&&, VectorCallback&&, ExceptionCallback&& exceptionCallback, ScriptExecutionContext&, WorkQueue&)
    4646{
    4747    exceptionCallback(NOT_SUPPORTED_ERR);
    4848}
    4949
    50 void CryptoAlgorithm::verify(Ref<CryptoKey>&&, Vector<uint8_t>&&, Vector<uint8_t>&&, BoolCallback&&, ExceptionCallback&& exceptionCallback, ScriptExecutionContext&, WorkQueue&)
     50void CryptoAlgorithm::verify(std::unique_ptr<CryptoAlgorithmParameters>&&, Ref<CryptoKey>&&, Vector<uint8_t>&&, Vector<uint8_t>&&, BoolCallback&&, ExceptionCallback&& exceptionCallback, ScriptExecutionContext&, WorkQueue&)
    5151{
    5252    exceptionCallback(NOT_SUPPORTED_ERR);
  • trunk/Source/WebCore/crypto/CryptoAlgorithm.h

    r213628 r215423  
    7070    virtual void encrypt(std::unique_ptr<CryptoAlgorithmParameters>&&, Ref<CryptoKey>&&, Vector<uint8_t>&&, VectorCallback&&, ExceptionCallback&&, ScriptExecutionContext&, WorkQueue&);
    7171    virtual void decrypt(std::unique_ptr<CryptoAlgorithmParameters>&&, Ref<CryptoKey>&&, Vector<uint8_t>&&, VectorCallback&&, ExceptionCallback&&, ScriptExecutionContext&, WorkQueue&);
    72     virtual void sign(Ref<CryptoKey>&&, Vector<uint8_t>&&, VectorCallback&&, ExceptionCallback&&, ScriptExecutionContext&, WorkQueue&);
    73     virtual void verify(Ref<CryptoKey>&&, Vector<uint8_t>&& signature, Vector<uint8_t>&&, BoolCallback&&, ExceptionCallback&&, ScriptExecutionContext&, WorkQueue&);
     72    virtual void sign(std::unique_ptr<CryptoAlgorithmParameters>&&, Ref<CryptoKey>&&, Vector<uint8_t>&&, VectorCallback&&, ExceptionCallback&&, ScriptExecutionContext&, WorkQueue&);
     73    virtual void verify(std::unique_ptr<CryptoAlgorithmParameters>&&, Ref<CryptoKey>&&, Vector<uint8_t>&& signature, Vector<uint8_t>&&, BoolCallback&&, ExceptionCallback&&, ScriptExecutionContext&, WorkQueue&);
    7474    virtual void digest(Vector<uint8_t>&&, VectorCallback&&, ExceptionCallback&&, ScriptExecutionContext&, WorkQueue&);
    7575    virtual void generateKey(const CryptoAlgorithmParameters&, bool extractable, CryptoKeyUsageBitmap, KeyOrKeyPairCallback&&, ExceptionCallback&&, ScriptExecutionContext&);
  • trunk/Source/WebCore/crypto/CryptoAlgorithmParameters.h

    r215382 r215423  
    4444        EcKeyParams,
    4545        EcdhKeyDeriveParams,
     46        EcdsaParams,
    4647        HkdfParams,
    4748        HmacKeyParams,
  • trunk/Source/WebCore/crypto/algorithms/CryptoAlgorithmHMAC.cpp

    r213628 r215423  
    7171}
    7272
    73 void CryptoAlgorithmHMAC::sign(Ref<CryptoKey>&& key, Vector<uint8_t>&& data, VectorCallback&& callback, ExceptionCallback&& exceptionCallback, ScriptExecutionContext& context, WorkQueue& workQueue)
     73void CryptoAlgorithmHMAC::sign(std::unique_ptr<CryptoAlgorithmParameters>&&, Ref<CryptoKey>&& key, Vector<uint8_t>&& data, VectorCallback&& callback, ExceptionCallback&& exceptionCallback, ScriptExecutionContext& context, WorkQueue& workQueue)
    7474{
    7575    platformSign(WTFMove(key), WTFMove(data), WTFMove(callback), WTFMove(exceptionCallback), context, workQueue);
    7676}
    7777
    78 void CryptoAlgorithmHMAC::verify(Ref<CryptoKey>&& key, Vector<uint8_t>&& signature, Vector<uint8_t>&& data, BoolCallback&& callback, ExceptionCallback&& exceptionCallback, ScriptExecutionContext& context, WorkQueue& workQueue)
     78void CryptoAlgorithmHMAC::verify(std::unique_ptr<CryptoAlgorithmParameters>&&, Ref<CryptoKey>&& key, Vector<uint8_t>&& signature, Vector<uint8_t>&& data, BoolCallback&& callback, ExceptionCallback&& exceptionCallback, ScriptExecutionContext& context, WorkQueue& workQueue)
    7979{
    8080    platformVerify(WTFMove(key), WTFMove(signature), WTFMove(data), WTFMove(callback), WTFMove(exceptionCallback), context, workQueue);
  • trunk/Source/WebCore/crypto/algorithms/CryptoAlgorithmHMAC.h

    r213628 r215423  
    4545    CryptoAlgorithmIdentifier identifier() const final;
    4646
    47     void sign(Ref<CryptoKey>&&, Vector<uint8_t>&&, VectorCallback&&, ExceptionCallback&&, ScriptExecutionContext&, WorkQueue&) final;
    48     void verify(Ref<CryptoKey>&&, Vector<uint8_t>&& signature, Vector<uint8_t>&&, BoolCallback&&, ExceptionCallback&&, ScriptExecutionContext&, WorkQueue&) final;
     47    void sign(std::unique_ptr<CryptoAlgorithmParameters>&&, Ref<CryptoKey>&&, Vector<uint8_t>&&, VectorCallback&&, ExceptionCallback&&, ScriptExecutionContext&, WorkQueue&) final;
     48    void verify(std::unique_ptr<CryptoAlgorithmParameters>&&, Ref<CryptoKey>&&, Vector<uint8_t>&& signature, Vector<uint8_t>&&, BoolCallback&&, ExceptionCallback&&, ScriptExecutionContext&, WorkQueue&) final;
    4949    void generateKey(const CryptoAlgorithmParameters&, bool extractable, CryptoKeyUsageBitmap, KeyOrKeyPairCallback&&, ExceptionCallback&&, ScriptExecutionContext&) final;
    5050    void importKey(SubtleCrypto::KeyFormat, KeyData&&, const std::unique_ptr<CryptoAlgorithmParameters>&&, bool extractable, CryptoKeyUsageBitmap, KeyCallback&&, ExceptionCallback&&) final;
  • trunk/Source/WebCore/crypto/algorithms/CryptoAlgorithmRSASSA_PKCS1_v1_5.cpp

    r212465 r215423  
    7070}
    7171
    72 void CryptoAlgorithmRSASSA_PKCS1_v1_5::sign(Ref<CryptoKey>&& key, Vector<uint8_t>&& data, VectorCallback&& callback, ExceptionCallback&& exceptionCallback, ScriptExecutionContext& context, WorkQueue& workQueue)
     72void CryptoAlgorithmRSASSA_PKCS1_v1_5::sign(std::unique_ptr<CryptoAlgorithmParameters>&&, Ref<CryptoKey>&& key, Vector<uint8_t>&& data, VectorCallback&& callback, ExceptionCallback&& exceptionCallback, ScriptExecutionContext& context, WorkQueue& workQueue)
    7373{
    7474    if (key->type() != CryptoKeyType::Private) {
     
    7979}
    8080
    81 void CryptoAlgorithmRSASSA_PKCS1_v1_5::verify(Ref<CryptoKey>&& key, Vector<uint8_t>&& signature, Vector<uint8_t>&& data, BoolCallback&& callback, ExceptionCallback&& exceptionCallback, ScriptExecutionContext& context, WorkQueue& workQueue)
     81void CryptoAlgorithmRSASSA_PKCS1_v1_5::verify(std::unique_ptr<CryptoAlgorithmParameters>&&, Ref<CryptoKey>&& key, Vector<uint8_t>&& signature, Vector<uint8_t>&& data, BoolCallback&& callback, ExceptionCallback&& exceptionCallback, ScriptExecutionContext& context, WorkQueue& workQueue)
    8282{
    8383    if (key->type() != CryptoKeyType::Public) {
  • trunk/Source/WebCore/crypto/algorithms/CryptoAlgorithmRSASSA_PKCS1_v1_5.h

    r209150 r215423  
    4545    CryptoAlgorithmIdentifier identifier() const final;
    4646
    47     void sign(Ref<CryptoKey>&&, Vector<uint8_t>&&, VectorCallback&&, ExceptionCallback&&, ScriptExecutionContext&, WorkQueue&) final;
    48     void verify(Ref<CryptoKey>&&, Vector<uint8_t>&& signature, Vector<uint8_t>&&, BoolCallback&&, ExceptionCallback&&, ScriptExecutionContext&, WorkQueue&) final;
     47    void sign(std::unique_ptr<CryptoAlgorithmParameters>&&, Ref<CryptoKey>&&, Vector<uint8_t>&&, VectorCallback&&, ExceptionCallback&&, ScriptExecutionContext&, WorkQueue&) final;
     48    void verify(std::unique_ptr<CryptoAlgorithmParameters>&&, Ref<CryptoKey>&&, Vector<uint8_t>&& signature, Vector<uint8_t>&&, BoolCallback&&, ExceptionCallback&&, ScriptExecutionContext&, WorkQueue&) final;
    4949    void generateKey(const CryptoAlgorithmParameters&, bool extractable, CryptoKeyUsageBitmap, KeyOrKeyPairCallback&&, ExceptionCallback&&, ScriptExecutionContext&) final;
    5050    void importKey(SubtleCrypto::KeyFormat, KeyData&&, const std::unique_ptr<CryptoAlgorithmParameters>&&, bool extractable, CryptoKeyUsageBitmap, KeyCallback&&, ExceptionCallback&&) final;
  • trunk/Source/WebCore/crypto/gcrypt/CryptoAlgorithmECDSAGCrypt.cpp

    r215422 r215423  
    11/*
    2  * Copyright (C) 2016 Apple Inc. All rights reserved.
     2 * Copyright (C) 2017 Apple Inc. All rights reserved.
    33 *
    44 * Redistribution and use in source and binary forms, with or without
     
    2424 */
    2525
    26 #pragma once
    27 
    28 #include "CryptoAlgorithmIdentifier.h"
    29 #include <wtf/TypeCasts.h>
    30 #include <wtf/text/WTFString.h>
     26#include "config.h"
     27#include "CryptoAlgorithmECDSA.h"
    3128
    3229#if ENABLE(SUBTLE_CRYPTO)
    3330
     31#include "NotImplemented.h"
     32
    3433namespace WebCore {
    3534
    36 class CryptoAlgorithmParameters {
    37 public:
    38     enum class Class {
    39         None,
    40         AesCbcCfbParams,
    41         AesCtrParams,
    42         AesGcmParams,
    43         AesKeyParams,
    44         EcKeyParams,
    45         EcdhKeyDeriveParams,
    46         HkdfParams,
    47         HmacKeyParams,
    48         Pbkdf2Params,
    49         RsaHashedKeyGenParams,
    50         RsaHashedImportParams,
    51         RsaKeyGenParams,
    52         RsaOaepParams,
    53     };
     35void CryptoAlgorithmECDSA::platformSign(std::unique_ptr<CryptoAlgorithmParameters>&&, Ref<CryptoKey>&&, Vector<uint8_t>&&, VectorCallback&&, ExceptionCallback&&, ScriptExecutionContext&, WorkQueue&)
     36{
     37    notImplemented();
     38}
    5439
    55     // FIXME: Consider merging name and identifier.
    56     String name;
    57     CryptoAlgorithmIdentifier identifier;
    58 
    59     virtual ~CryptoAlgorithmParameters() { }
    60 
    61     virtual Class parametersClass() const { return Class::None; }
    62 };
     40void CryptoAlgorithmECDSA::platformVerify(std::unique_ptr<CryptoAlgorithmParameters>&&, Ref<CryptoKey>&&, Vector<uint8_t>&&, Vector<uint8_t>&&, BoolCallback&&, ExceptionCallback&&, ScriptExecutionContext&, WorkQueue&)
     41{
     42    notImplemented();
     43}
    6344
    6445} // namespace WebCore
    6546
    66 #define SPECIALIZE_TYPE_TRAITS_CRYPTO_ALGORITHM_PARAMETERS(ToClassName) \
    67 SPECIALIZE_TYPE_TRAITS_BEGIN(WebCore::CryptoAlgorithm##ToClassName) \
    68 static bool isType(const WebCore::CryptoAlgorithmParameters& parameters) { return parameters.parametersClass() == WebCore::CryptoAlgorithmParameters::Class::ToClassName; } \
    69 SPECIALIZE_TYPE_TRAITS_END()
    70 
    7147#endif // ENABLE(SUBTLE_CRYPTO)
  • trunk/Source/WebCore/crypto/mac/CommonCryptoDERUtilities.cpp

    r215422 r215423  
    2424 */
    2525
    26 #pragma once
     26#include "config.h"
     27#include "CommonCryptoDERUtilities.h"
    2728
    2829#if ENABLE(SUBTLE_CRYPTO)
     
    3031namespace WebCore {
    3132
    32 // Per X.690 08/2015: https://www.itu.int/rec/T-REC-X.680-X.693/en
    33 static const unsigned char BitStringMark = 0x03;
    34 static const unsigned char OctetStringMark = 0x04;
    35 static const unsigned char SequenceMark = 0x30;
    36 // Version 0. Per https://tools.ietf.org/html/rfc5208#section-5
    37 static const unsigned char Version[] = {0x02, 0x01, 0x00};
    38 
    39 static const unsigned char InitialOctet = 0x00;
    40 static const size_t MaxLengthInOneByte = 128;
    41 
    42 static size_t bytesUsedToEncodedLength(uint8_t octet)
     33size_t bytesUsedToEncodedLength(uint8_t octet)
    4334{
    4435    if (octet < MaxLengthInOneByte)
     
    4738}
    4839
    49 static size_t extraBytesNeededForEncodedLength(size_t length)
     40size_t extraBytesNeededForEncodedLength(size_t length)
    5041{
    5142    if (!length)
     
    5748}
    5849
    59 static void addEncodedASN1Length(Vector<uint8_t>& in, size_t length)
     50void addEncodedASN1Length(Vector<uint8_t>& in, size_t length)
    6051{
    6152    if (length < MaxLengthInOneByte) {
     
    7566}
    7667
    77 static size_t bytesNeededForEncodedLength(size_t length)
     68size_t bytesNeededForEncodedLength(size_t length)
    7869{
    7970    if (length < MaxLengthInOneByte)
  • trunk/Source/WebCore/crypto/mac/CommonCryptoDERUtilities.h

    r214074 r215423  
    2626#pragma once
    2727
     28#include <wtf/Vector.h>
     29
    2830#if ENABLE(SUBTLE_CRYPTO)
    2931
     32// FIXME: <rdar://problem/31618371>
     33// The following constants and functions are for customized DER implementations.
     34// They are not intended to be used outside Crypto codes, and should be removed
     35// once the above bug is fixed.
    3036namespace WebCore {
    3137
    3238// Per X.690 08/2015: https://www.itu.int/rec/T-REC-X.680-X.693/en
    3339static const unsigned char BitStringMark = 0x03;
     40static const unsigned char IntegerMark = 0x02;
    3441static const unsigned char OctetStringMark = 0x04;
    3542static const unsigned char SequenceMark = 0x30;
     
    4047static const size_t MaxLengthInOneByte = 128;
    4148
    42 static size_t bytesUsedToEncodedLength(uint8_t octet)
    43 {
    44     if (octet < MaxLengthInOneByte)
    45         return 1;
    46     return octet - MaxLengthInOneByte + 1;
    47 }
    48 
    49 static size_t extraBytesNeededForEncodedLength(size_t length)
    50 {
    51     if (!length)
    52         return 0;
    53     size_t result = 1;
    54     while (result < sizeof(length) && length >= (1 << (result * 8)))
    55         result += 1;
    56     return result;
    57 }
    58 
    59 static void addEncodedASN1Length(Vector<uint8_t>& in, size_t length)
    60 {
    61     if (length < MaxLengthInOneByte) {
    62         in.append(length);
    63         return;
    64     }
    65 
    66     size_t extraBytes = extraBytesNeededForEncodedLength(length);
    67     in.append(128 + extraBytes); // 128 is used to set the first bit of this byte.
    68 
    69     size_t lastPosition = in.size() + extraBytes - 1;
    70     in.grow(in.size() + extraBytes);
    71     for (size_t i = 0; i < extraBytes; i++) {
    72         in[lastPosition - i] = length & 0xff;
    73         length = length >> 8;
    74     }
    75 }
    76 
    77 static size_t bytesNeededForEncodedLength(size_t length)
    78 {
    79     if (length < MaxLengthInOneByte)
    80         return 1;
    81     return 1 + extraBytesNeededForEncodedLength(length);
    82 }
     49size_t bytesUsedToEncodedLength(uint8_t);
     50size_t extraBytesNeededForEncodedLength(size_t);
     51void addEncodedASN1Length(Vector<uint8_t>&, size_t);
     52size_t bytesNeededForEncodedLength(size_t);
    8353
    8454} // namespace WebCore
  • trunk/Source/WebCore/crypto/mac/CryptoAlgorithmRegistryMac.cpp

    r215382 r215423  
    3535#include "CryptoAlgorithmAES_KW.h"
    3636#include "CryptoAlgorithmECDH.h"
     37#include "CryptoAlgorithmECDSA.h"
    3738#include "CryptoAlgorithmHKDF.h"
    3839#include "CryptoAlgorithmHMAC.h"
     
    5758    registerAlgorithm<CryptoAlgorithmAES_KW>();
    5859    registerAlgorithm<CryptoAlgorithmECDH>();
     60    registerAlgorithm<CryptoAlgorithmECDSA>();
    5961    registerAlgorithm<CryptoAlgorithmHKDF>();
    6062    registerAlgorithm<CryptoAlgorithmHMAC>();
  • trunk/Source/WebCore/crypto/parameters/CryptoAlgorithmEcdsaParams.h

    r215422 r215423  
    11/*
    2  * Copyright (C) 2016 Apple Inc. All rights reserved.
     2 * Copyright (C) 2017 Apple Inc. All rights reserved.
    33 *
    44 * Redistribution and use in source and binary forms, with or without
     
    2626#pragma once
    2727
    28 #include "CryptoAlgorithmIdentifier.h"
    29 #include <wtf/TypeCasts.h>
    30 #include <wtf/text/WTFString.h>
     28#include "CryptoAlgorithmParameters.h"
     29#include <runtime/JSCJSValue.h>
    3130
    3231#if ENABLE(SUBTLE_CRYPTO)
     
    3433namespace WebCore {
    3534
    36 class CryptoAlgorithmParameters {
     35class CryptoAlgorithmEcdsaParams final : public CryptoAlgorithmParameters {
    3736public:
    38     enum class Class {
    39         None,
    40         AesCbcCfbParams,
    41         AesCtrParams,
    42         AesGcmParams,
    43         AesKeyParams,
    44         EcKeyParams,
    45         EcdhKeyDeriveParams,
    46         HkdfParams,
    47         HmacKeyParams,
    48         Pbkdf2Params,
    49         RsaHashedKeyGenParams,
    50         RsaHashedImportParams,
    51         RsaKeyGenParams,
    52         RsaOaepParams,
    53     };
     37    // FIXME: Consider merging hash and hashIdentifier.
     38    JSC::JSValue hash;
     39    CryptoAlgorithmIdentifier hashIdentifier;
    5440
    55     // FIXME: Consider merging name and identifier.
    56     String name;
    57     CryptoAlgorithmIdentifier identifier;
    58 
    59     virtual ~CryptoAlgorithmParameters() { }
    60 
    61     virtual Class parametersClass() const { return Class::None; }
     41    Class parametersClass() const final { return Class::EcdsaParams; }
    6242};
    6343
    6444} // namespace WebCore
    6545
    66 #define SPECIALIZE_TYPE_TRAITS_CRYPTO_ALGORITHM_PARAMETERS(ToClassName) \
    67 SPECIALIZE_TYPE_TRAITS_BEGIN(WebCore::CryptoAlgorithm##ToClassName) \
    68 static bool isType(const WebCore::CryptoAlgorithmParameters& parameters) { return parameters.parametersClass() == WebCore::CryptoAlgorithmParameters::Class::ToClassName; } \
    69 SPECIALIZE_TYPE_TRAITS_END()
     46SPECIALIZE_TYPE_TRAITS_CRYPTO_ALGORITHM_PARAMETERS(EcdsaParams)
    7047
    7148#endif // ENABLE(SUBTLE_CRYPTO)
  • trunk/Source/WebCore/crypto/parameters/EcdsaParams.idl

    r215422 r215423  
    11/*
    2  * Copyright (C) 2016 Apple Inc. All rights reserved.
     2 * Copyright (C) 2017 Apple Inc. All rights reserved.
    33 *
    44 * Redistribution and use in source and binary forms, with or without
     
    2424 */
    2525
    26 #pragma once
    27 
    28 #include "CryptoAlgorithmIdentifier.h"
    29 #include <wtf/TypeCasts.h>
    30 #include <wtf/text/WTFString.h>
    31 
    32 #if ENABLE(SUBTLE_CRYPTO)
    33 
    34 namespace WebCore {
    35 
    36 class CryptoAlgorithmParameters {
    37 public:
    38     enum class Class {
    39         None,
    40         AesCbcCfbParams,
    41         AesCtrParams,
    42         AesGcmParams,
    43         AesKeyParams,
    44         EcKeyParams,
    45         EcdhKeyDeriveParams,
    46         HkdfParams,
    47         HmacKeyParams,
    48         Pbkdf2Params,
    49         RsaHashedKeyGenParams,
    50         RsaHashedImportParams,
    51         RsaKeyGenParams,
    52         RsaOaepParams,
    53     };
    54 
    55     // FIXME: Consider merging name and identifier.
    56     String name;
    57     CryptoAlgorithmIdentifier identifier;
    58 
    59     virtual ~CryptoAlgorithmParameters() { }
    60 
    61     virtual Class parametersClass() const { return Class::None; }
     26[
     27    Conditional=SUBTLE_CRYPTO,
     28    ImplementedAs=CryptoAlgorithmEcdsaParams
     29] dictionary EcdsaParams : CryptoAlgorithmParameters {
     30    // The hash algorithm to use
     31    required any hash;
    6232};
    63 
    64 } // namespace WebCore
    65 
    66 #define SPECIALIZE_TYPE_TRAITS_CRYPTO_ALGORITHM_PARAMETERS(ToClassName) \
    67 SPECIALIZE_TYPE_TRAITS_BEGIN(WebCore::CryptoAlgorithm##ToClassName) \
    68 static bool isType(const WebCore::CryptoAlgorithmParameters& parameters) { return parameters.parametersClass() == WebCore::CryptoAlgorithmParameters::Class::ToClassName; } \
    69 SPECIALIZE_TYPE_TRAITS_END()
    70 
    71 #endif // ENABLE(SUBTLE_CRYPTO)
Note: See TracChangeset for help on using the changeset viewer.