Add ECDSA and RSA verify Wycheproof drivers.

Along the way, add some utility functions for getting common things
(curves, hashes, etc.) in the names Wycheproof uses.

Change-Id: I09c11ea2970cf2c8a11a8c2a861d85396efda125
Reviewed-on: https://boringssl-review.googlesource.com/27786
Commit-Queue: David Benjamin <davidben@google.com>
CQ-Verified: CQ bot account: commit-bot@chromium.org <commit-bot@chromium.org>
Reviewed-by: Adam Langley <agl@google.com>
diff --git a/crypto/evp/evp_test.cc b/crypto/evp/evp_test.cc
index 3bcdbd6..d73c2c4 100644
--- a/crypto/evp/evp_test.cc
+++ b/crypto/evp/evp_test.cc
@@ -79,6 +79,7 @@
 
 #include "../test/file_test.h"
 #include "../test/test_util.h"
+#include "../test/wycheproof_util.h"
 
 
 // evp_test dispatches between multiple test types. PrivateKey tests take a key
@@ -413,3 +414,54 @@
     }
   });
 }
+
+static void RunWycheproofTest(const char *path) {
+  SCOPED_TRACE(path);
+  FileTestGTest(path, [](FileTest *t) {
+    t->IgnoreInstruction("key.type");
+    // Extra ECDSA fields.
+    t->IgnoreInstruction("key.curve");
+    t->IgnoreInstruction("key.keySize");
+    t->IgnoreInstruction("key.wx");
+    t->IgnoreInstruction("key.wy");
+    // Extra RSA fields.
+    t->IgnoreInstruction("e");
+    t->IgnoreInstruction("keyAsn");
+    t->IgnoreInstruction("keysize");
+    t->IgnoreInstruction("n");
+    t->IgnoreAttribute("padding");
+
+    std::vector<uint8_t> der;
+    ASSERT_TRUE(t->GetInstructionBytes(&der, "keyDer"));
+    CBS cbs;
+    CBS_init(&cbs, der.data(), der.size());
+    bssl::UniquePtr<EVP_PKEY> key(EVP_parse_public_key(&cbs));
+    ASSERT_TRUE(key);
+
+    const EVP_MD *md = GetWycheproofDigest(t, "sha", true);
+    ASSERT_TRUE(md);
+    std::vector<uint8_t> msg;
+    ASSERT_TRUE(t->GetBytes(&msg, "msg"));
+    std::vector<uint8_t> sig;
+    ASSERT_TRUE(t->GetBytes(&sig, "sig"));
+
+    bssl::ScopedEVP_MD_CTX ctx;
+    ASSERT_TRUE(
+        EVP_DigestVerifyInit(ctx.get(), nullptr, md, nullptr, key.get()));
+    WycheproofResult result;
+    ASSERT_TRUE(GetWycheproofResult(t, &result));
+    EXPECT_EQ(result == WycheproofResult::kValid ? 1 : 0,
+              EVP_DigestVerify(ctx.get(), sig.data(), sig.size(), msg.data(),
+                               msg.size()));
+  });
+}
+
+TEST(EVPTest, Wycheproof) {
+  RunWycheproofTest("third_party/wycheproof/ecdsa_secp224r1_sha224_test.txt");
+  RunWycheproofTest("third_party/wycheproof/ecdsa_secp224r1_sha256_test.txt");
+  RunWycheproofTest("third_party/wycheproof/ecdsa_secp256r1_sha256_test.txt");
+  RunWycheproofTest("third_party/wycheproof/ecdsa_secp384r1_sha384_test.txt");
+  RunWycheproofTest("third_party/wycheproof/ecdsa_secp384r1_sha512_test.txt");
+  RunWycheproofTest("third_party/wycheproof/ecdsa_secp521r1_sha512_test.txt");
+  RunWycheproofTest("third_party/wycheproof/rsa_signature_test.txt");
+}
diff --git a/crypto/test/CMakeLists.txt b/crypto/test/CMakeLists.txt
index 46a40f8..90707dd 100644
--- a/crypto/test/CMakeLists.txt
+++ b/crypto/test/CMakeLists.txt
@@ -6,6 +6,7 @@
   file_test.cc
   malloc.cc
   test_util.cc
+  wycheproof_util.cc
 )
 
 add_library(
diff --git a/crypto/test/file_test.cc b/crypto/test/file_test.cc
index cbb9f7f..2ad49d3 100644
--- a/crypto/test/file_test.cc
+++ b/crypto/test/file_test.cc
@@ -286,52 +286,19 @@
   return true;
 }
 
+bool FileTest::GetInstructionBytes(std::vector<uint8_t> *out,
+                                   const std::string &key) {
+  std::string value;
+  return GetInstruction(&value, key) && ConvertToBytes(out, value);
+}
+
 const std::string &FileTest::CurrentTestToString() const {
   return current_test_;
 }
 
-static bool FromHexDigit(uint8_t *out, char c) {
-  if ('0' <= c && c <= '9') {
-    *out = c - '0';
-    return true;
-  }
-  if ('a' <= c && c <= 'f') {
-    *out = c - 'a' + 10;
-    return true;
-  }
-  if ('A' <= c && c <= 'F') {
-    *out = c - 'A' + 10;
-    return true;
-  }
-  return false;
-}
-
 bool FileTest::GetBytes(std::vector<uint8_t> *out, const std::string &key) {
   std::string value;
-  if (!GetAttribute(&value, key)) {
-    return false;
-  }
-
-  if (value.size() >= 2 && value[0] == '"' && value[value.size() - 1] == '"') {
-    out->assign(value.begin() + 1, value.end() - 1);
-    return true;
-  }
-
-  if (value.size() % 2 != 0) {
-    PrintLine("Error decoding value: %s", value.c_str());
-    return false;
-  }
-  out->clear();
-  out->reserve(value.size() / 2);
-  for (size_t i = 0; i < value.size(); i += 2) {
-    uint8_t hi, lo;
-    if (!FromHexDigit(&hi, value[i]) || !FromHexDigit(&lo, value[i + 1])) {
-      PrintLine("Error decoding value: %s", value.c_str());
-      return false;
-    }
-    out->push_back((hi << 4) | lo);
-  }
-  return true;
+  return GetAttribute(&value, key) && ConvertToBytes(out, value);
 }
 
 static std::string EncodeHex(const uint8_t *in, size_t in_len) {
@@ -381,6 +348,46 @@
   unused_instructions_.erase(key);
 }
 
+static bool FromHexDigit(uint8_t *out, char c) {
+  if ('0' <= c && c <= '9') {
+    *out = c - '0';
+    return true;
+  }
+  if ('a' <= c && c <= 'f') {
+    *out = c - 'a' + 10;
+    return true;
+  }
+  if ('A' <= c && c <= 'F') {
+    *out = c - 'A' + 10;
+    return true;
+  }
+  return false;
+}
+
+bool FileTest::ConvertToBytes(std::vector<uint8_t> *out,
+                              const std::string &value) {
+  if (value.size() >= 2 && value[0] == '"' && value[value.size() - 1] == '"') {
+    out->assign(value.begin() + 1, value.end() - 1);
+    return true;
+  }
+
+  if (value.size() % 2 != 0) {
+    PrintLine("Error decoding value: %s", value.c_str());
+    return false;
+  }
+  out->clear();
+  out->reserve(value.size() / 2);
+  for (size_t i = 0; i < value.size(); i += 2) {
+    uint8_t hi, lo;
+    if (!FromHexDigit(&hi, value[i]) || !FromHexDigit(&lo, value[i + 1])) {
+      PrintLine("Error decoding value: %s", value.c_str());
+      return false;
+    }
+    out->push_back((hi << 4) | lo);
+  }
+  return true;
+}
+
 bool FileTest::IsAtNewInstructionBlock() const {
   return is_at_new_instruction_block_;
 }
diff --git a/crypto/test/file_test.h b/crypto/test/file_test.h
index a164e99..52a2c3f 100644
--- a/crypto/test/file_test.h
+++ b/crypto/test/file_test.h
@@ -185,6 +185,10 @@
   // otherwise.
   bool GetInstruction(std::string *out_value, const std::string &key);
 
+  // GetInstructionBytes behaves like GetBytes, but looks up the corresponding
+  // instruction.
+  bool GetInstructionBytes(std::vector<uint8_t> *out, const std::string &key);
+
   // CurrentTestToString returns the file content parsed for the current test.
   // If the current test was preceded by an instruction block, the return test
   // case is preceded by the instruction block and a single blank line. All
@@ -203,6 +207,7 @@
   void ClearInstructions();
   void OnKeyUsed(const std::string &key);
   void OnInstructionUsed(const std::string &key);
+  bool ConvertToBytes(std::vector<uint8_t> *out, const std::string &value);
 
   std::unique_ptr<LineReader> reader_;
   // line_ is the number of lines read.
diff --git a/crypto/test/wycheproof_util.cc b/crypto/test/wycheproof_util.cc
new file mode 100644
index 0000000..3ff132f
--- /dev/null
+++ b/crypto/test/wycheproof_util.cc
@@ -0,0 +1,91 @@
+/* Copyright (c) 2018, Google Inc.
+ *
+ * Permission to use, copy, modify, and/or distribute this software for any
+ * purpose with or without fee is hereby granted, provided that the above
+ * copyright notice and this permission notice appear in all copies.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
+ * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
+ * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
+ * SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+ * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
+ * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
+ * CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */
+
+#include "./wycheproof_util.h"
+
+#include <openssl/digest.h>
+#include <openssl/ec.h>
+#include <openssl/nid.h>
+
+#include "./file_test.h"
+
+
+bool GetWycheproofResult(FileTest *t, WycheproofResult *out) {
+  std::string result;
+  if (!t->GetAttribute(&result, "result")) {
+    return false;
+  }
+  if (result == "valid") {
+    *out = WycheproofResult::kValid;
+  } else if (result == "invalid") {
+    *out = WycheproofResult::kInvalid;
+  } else if (result == "acceptable") {
+    *out = WycheproofResult::kAcceptable;
+  } else {
+    t->PrintLine("Bad result string '%s'", result.c_str());
+    return false;
+  }
+  return true;
+}
+
+const EVP_MD *GetWycheproofDigest(FileTest *t, const char *key,
+                                  bool instruction) {
+  std::string name;
+  bool ok =
+      instruction ? t->GetInstruction(&name, key) : t->GetAttribute(&name, key);
+  if (!ok) {
+    return nullptr;
+  }
+  if (name == "SHA-1") {
+    return EVP_sha1();
+  }
+  if (name == "SHA-224") {
+    return EVP_sha224();
+  }
+  if (name == "SHA-256") {
+    return EVP_sha256();
+  }
+  if (name == "SHA-384") {
+    return EVP_sha384();
+  }
+  if (name == "SHA-512") {
+    return EVP_sha512();
+  }
+  t->PrintLine("Unknown digest '%s'", name.c_str());
+  return nullptr;
+}
+
+bssl::UniquePtr<EC_GROUP> GetWycheproofCurve(FileTest *t, const char *key,
+                                             bool instruction) {
+  std::string name;
+  bool ok =
+      instruction ? t->GetInstruction(&name, key) : t->GetAttribute(&name, key);
+  if (!ok) {
+    return nullptr;
+  }
+  int nid;
+  if (name == "secp224r1") {
+    nid = NID_secp224r1;
+  } else if (name == "secp256r1") {
+    nid = NID_X9_62_prime256v1;
+  } else if (name == "secp384r1") {
+    nid = NID_secp384r1;
+  } else if (name == "secp521r1") {
+    nid = NID_secp521r1;
+  } else {
+    t->PrintLine("Unknown curve '%s'", name.c_str());
+    return nullptr;
+  }
+  return bssl::UniquePtr<EC_GROUP>(EC_GROUP_new_by_curve_name(nid));
+}
diff --git a/crypto/test/wycheproof_util.h b/crypto/test/wycheproof_util.h
new file mode 100644
index 0000000..cf50b8e
--- /dev/null
+++ b/crypto/test/wycheproof_util.h
@@ -0,0 +1,45 @@
+/* Copyright (c) 2018, Google Inc.
+ *
+ * Permission to use, copy, modify, and/or distribute this software for any
+ * purpose with or without fee is hereby granted, provided that the above
+ * copyright notice and this permission notice appear in all copies.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
+ * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
+ * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
+ * SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+ * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
+ * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
+ * CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */
+
+#ifndef OPENSSL_HEADER_CRYPTO_TEST_WYCHEPROOF_UTIL_H
+#define OPENSSL_HEADER_CRYPTO_TEST_WYCHEPROOF_UTIL_H
+
+#include <openssl/base.h>
+
+
+// This header contains convenience functions for Wycheproof tests.
+
+class FileTest;
+
+enum class WycheproofResult {
+  kValid,
+  kInvalid,
+  kAcceptable,
+};
+
+// GetWycheproofResult sets |*out| to the parsed "result" key of |t|.
+bool GetWycheproofResult(FileTest *t, WycheproofResult *out);
+
+// GetWycheproofDigest returns a digest function using the Wycheproof name, or
+// nullptr on error.
+const EVP_MD *GetWycheproofDigest(FileTest *t, const char *key,
+                                  bool instruction);
+
+// GetWycheproofCurve returns a curve using the Wycheproof name, or nullptr on
+// error.
+bssl::UniquePtr<EC_GROUP> GetWycheproofCurve(FileTest *t, const char *key,
+                                             bool instruction);
+
+
+#endif  // OPENSSL_HEADER_CRYPTO_TEST_WYCHEPROOF_UTIL_H
diff --git a/sources.cmake b/sources.cmake
index d2fea88..6ac7222 100644
--- a/sources.cmake
+++ b/sources.cmake
@@ -59,5 +59,12 @@
   crypto/x509/some_names1.pem
   crypto/x509/some_names2.pem
   crypto/x509/some_names3.pem
+  third_party/wycheproof/ecdsa_secp224r1_sha224_test.txt
+  third_party/wycheproof/ecdsa_secp224r1_sha256_test.txt
+  third_party/wycheproof/ecdsa_secp256r1_sha256_test.txt
+  third_party/wycheproof/ecdsa_secp384r1_sha384_test.txt
+  third_party/wycheproof/ecdsa_secp384r1_sha512_test.txt
+  third_party/wycheproof/ecdsa_secp521r1_sha512_test.txt
+  third_party/wycheproof/rsa_signature_test.txt
   third_party/wycheproof/x25519_test.txt
 )
diff --git a/third_party/wycheproof/convert_wycheproof.go b/third_party/wycheproof/convert_wycheproof.go
index 312a417..73ef166 100644
--- a/third_party/wycheproof/convert_wycheproof.go
+++ b/third_party/wycheproof/convert_wycheproof.go
@@ -224,6 +224,13 @@
 
 func main() {
 	jsonPaths := []string{
+		"ecdsa_secp224r1_sha224_test.json",
+		"ecdsa_secp224r1_sha256_test.json",
+		"ecdsa_secp256r1_sha256_test.json",
+		"ecdsa_secp384r1_sha384_test.json",
+		"ecdsa_secp384r1_sha512_test.json",
+		"ecdsa_secp521r1_sha512_test.json",
+		"rsa_signature_test.json",
 		"x25519_test.json",
 
 		// TODO(davidben): The following tests still need test drivers.
@@ -233,14 +240,7 @@
 		// "chacha20_poly1305_test.json",
 		// "dsa_test.json",
 		// "ecdh_test.json",
-		// "ecdsa_secp224r1_sha224_test.json",
-		// "ecdsa_secp224r1_sha256_test.json",
-		// "ecdsa_secp256r1_sha256_test.json",
-		// "ecdsa_secp384r1_sha384_test.json",
-		// "ecdsa_secp384r1_sha512_test.json",
-		// "ecdsa_secp521r1_sha512_test.json",
 		// "eddsa_test.json",
-		// "rsa_signature_test.json",
 	}
 	for _, jsonPath := range jsonPaths {
 		if !strings.HasSuffix(jsonPath, ".json") {
diff --git a/third_party/wycheproof/ecdsa_secp224r1_sha224_test.txt b/third_party/wycheproof/ecdsa_secp224r1_sha224_test.txt
new file mode 100644
index 0000000..59083d8
--- /dev/null
+++ b/third_party/wycheproof/ecdsa_secp224r1_sha224_test.txt
@@ -0,0 +1,2333 @@
+# Imported from Wycheproof's ecdsa_secp224r1_sha224_test.json.
+# This file is generated by convert_wycheproof.go. Do not edit by hand.
+#
+# Algorithm: ECDSA
+# Generator version: 0.4
+
+[key.curve = secp224r1]
+[key.keySize = 224]
+[key.type = ECPublicKey]
+[key.wx = 0eada93be10b2449e1e8bb58305d52008013c57107c1a20a317a6cba7]
+[key.wy = 0eca672340c03d1d2e09663286691df55069fa25490c9dd9f9c0bb2b5]
+[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004eada93be10b2449e1e8bb58305d52008013c57107c1a20a317a6cba7eca672340c03d1d2e09663286691df55069fa25490c9dd9f9c0bb2b5]
+[sha = SHA-224]
+
+# signature malleability
+msg = 313233343030
+result = valid
+sig = 303c021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021c2840bf24f6f66be287066b7cbf38788e1b7770b18fd1aa6a26d7c6dc
+
+# random signature
+msg = 313233343030
+result = valid
+sig = 303c021c533d488bd8c4b459bc1bb67c7c96f5fcfc70996660c068d7fca3d605021c31893ff9dd72c79f3a62fdc5d82f7c05b75b8807c3f6830e861697fb
+
+# random signature
+msg = 313233343030
+result = valid
+sig = 303d021c40d10e9cb11ac916d0c388a6feef764e2c22309f93a9f539c73725a2021d00904be66c40a6d256f3e99555c502b933f8625351e9bf7955fe173e75
+
+# random signature
+msg = 313233343030
+result = valid
+sig = 303c021c426f5e9c494c3669a6d0df24f5523d6dcda666a6ab8eb7def60a40bf021c1c342732ba0cc317dd4ffbbd20ce163607f9009a1a67518b0dff0cee
+
+# random signature
+msg = 313233343030
+result = valid
+sig = 303d021d00abf10842ebbfdcd2c3bf18e1acc17c04bcc488e65542af2de38cb712021c5f37ff71604b38b5d66087a36ffdf371b0d4e2d9d4a22c2e9c80fafc
+
+# random signature
+msg = 313233343030
+result = valid
+sig = 303d021c7827f94e5abd228d2bf7bd42bb8cbd1a3529ff26b295f4fbfa159b4c021d00b5a984cbd21ed6d230d22e4688745cfe0da94f9c0bccfb249ae6a4ef
+
+# Legacy:ASN encoding of s misses leading 0
+msg = 313233343030
+result = acceptable
+sig = 303c021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021cd7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361
+# Some implementations of ECDSA and DSA incorrectly encode r and s by not
+# including leading zeros in the ASN encoding of integers when necessary. Hence,
+# some implementations (e.g. jdk) allow signatures with incorrect ASN encodings
+# assuming that the signature is otherwise valid.
+
+# valid
+msg = 313233343030
+result = valid
+sig = 303d021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361
+
+# long form encoding of length
+msg = 313233343030
+result = invalid
+sig = 30813d021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361
+
+# long form encoding of length
+msg = 313233343030
+result = invalid
+sig = 303e02811c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361
+
+# long form encoding of length
+msg = 313233343030
+result = invalid
+sig = 303e021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a02811d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361
+
+# length contains leading 0
+msg = 313233343030
+result = invalid
+sig = 3082003d021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361
+
+# length contains leading 0
+msg = 313233343030
+result = invalid
+sig = 303f0282001c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361
+
+# length contains leading 0
+msg = 313233343030
+result = invalid
+sig = 303f021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a0282001d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361
+
+# wrong length
+msg = 313233343030
+result = invalid
+sig = 303e021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361
+
+# wrong length
+msg = 313233343030
+result = invalid
+sig = 303c021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361
+
+# wrong length
+msg = 313233343030
+result = invalid
+sig = 303d021d70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361
+
+# wrong length
+msg = 313233343030
+result = invalid
+sig = 303d021b70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361
+
+# wrong length
+msg = 313233343030
+result = invalid
+sig = 303d021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021e00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361
+
+# wrong length
+msg = 313233343030
+result = invalid
+sig = 303d021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021c00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361
+
+# uint32 overflow in length
+msg = 313233343030
+result = invalid
+sig = 3085010000003d021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361
+
+# uint32 overflow in length
+msg = 313233343030
+result = invalid
+sig = 30420285010000001c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361
+
+# uint32 overflow in length
+msg = 313233343030
+result = invalid
+sig = 3042021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a0285010000001d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361
+
+# uint64 overflow in length
+msg = 313233343030
+result = invalid
+sig = 308901000000000000003d021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361
+
+# uint64 overflow in length
+msg = 313233343030
+result = invalid
+sig = 3046028901000000000000001c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361
+
+# uint64 overflow in length
+msg = 313233343030
+result = invalid
+sig = 3046021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a028901000000000000001d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361
+
+# length = 2**31 - 1
+msg = 313233343030
+result = invalid
+sig = 30847fffffff021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361
+
+# length = 2**31 - 1
+msg = 313233343030
+result = invalid
+sig = 304102847fffffff70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361
+
+# length = 2**31 - 1
+msg = 313233343030
+result = invalid
+sig = 3041021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a02847fffffff00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361
+
+# length = 2**32 - 1
+msg = 313233343030
+result = invalid
+sig = 3084ffffffff021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361
+
+# length = 2**32 - 1
+msg = 313233343030
+result = invalid
+sig = 30410284ffffffff70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361
+
+# length = 2**32 - 1
+msg = 313233343030
+result = invalid
+sig = 3041021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a0284ffffffff00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361
+
+# length = 2**40 - 1
+msg = 313233343030
+result = invalid
+sig = 3085ffffffffff021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361
+
+# length = 2**40 - 1
+msg = 313233343030
+result = invalid
+sig = 30420285ffffffffff70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361
+
+# length = 2**40 - 1
+msg = 313233343030
+result = invalid
+sig = 3042021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a0285ffffffffff00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361
+
+# length = 2**64 - 1
+msg = 313233343030
+result = invalid
+sig = 3088ffffffffffffffff021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361
+
+# length = 2**64 - 1
+msg = 313233343030
+result = invalid
+sig = 30450288ffffffffffffffff70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361
+
+# length = 2**64 - 1
+msg = 313233343030
+result = invalid
+sig = 3045021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a0288ffffffffffffffff00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361
+
+# incorrect length
+msg = 313233343030
+result = invalid
+sig = 30ff021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361
+
+# incorrect length
+msg = 313233343030
+result = invalid
+sig = 303d02ff70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361
+
+# incorrect length
+msg = 313233343030
+result = invalid
+sig = 303d021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a02ff00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361
+
+# indefinite length without termination
+msg = 313233343030
+result = invalid
+sig = 3080021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361
+
+# indefinite length without termination
+msg = 313233343030
+result = invalid
+sig = 303d028070049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361
+
+# indefinite length without termination
+msg = 313233343030
+result = invalid
+sig = 303d021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a028000d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361
+
+# removing sequence
+msg = 313233343030
+result = invalid
+sig = 
+
+# appending 0's to sequence
+msg = 313233343030
+result = invalid
+sig = 303f021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb358463610000
+
+# prepending 0's to sequence
+msg = 313233343030
+result = invalid
+sig = 303f0000021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361
+
+# appending unused 0's
+msg = 313233343030
+result = invalid
+sig = 303d021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb358463610000
+
+# appending unused 0's
+msg = 313233343030
+result = invalid
+sig = 303f021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a0000021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361
+
+# appending null value
+msg = 313233343030
+result = invalid
+sig = 303f021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb358463610500
+
+# appending null value
+msg = 313233343030
+result = invalid
+sig = 303f021e70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a0500021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361
+
+# appending null value
+msg = 313233343030
+result = invalid
+sig = 303f021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021f00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb358463610500
+
+# including garbage
+msg = 313233343030
+result = invalid
+sig = 3042498177303d021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361
+
+# including garbage
+msg = 313233343030
+result = invalid
+sig = 30412500303d021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361
+
+# including garbage
+msg = 313233343030
+result = invalid
+sig = 303f303d021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb358463610004deadbeef
+
+# including garbage
+msg = 313233343030
+result = invalid
+sig = 30422221498177021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361
+
+# including garbage
+msg = 313233343030
+result = invalid
+sig = 304122202500021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361
+
+# including garbage
+msg = 313233343030
+result = invalid
+sig = 3045221e021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a0004deadbeef021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361
+
+# including garbage
+msg = 313233343030
+result = invalid
+sig = 3042021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a2222498177021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361
+
+# including garbage
+msg = 313233343030
+result = invalid
+sig = 3041021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a22212500021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361
+
+# including garbage
+msg = 313233343030
+result = invalid
+sig = 3045021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a221f021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb358463610004deadbeef
+
+# including undefined tags
+msg = 313233343030
+result = invalid
+sig = 3045aa00bb00cd00303d021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361
+
+# including undefined tags
+msg = 313233343030
+result = invalid
+sig = 3043aa02aabb303d021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361
+
+# including undefined tags
+msg = 313233343030
+result = invalid
+sig = 30452224aa00bb00cd00021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361
+
+# including undefined tags
+msg = 313233343030
+result = invalid
+sig = 30432222aa02aabb021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361
+
+# including undefined tags
+msg = 313233343030
+result = invalid
+sig = 3045021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a2225aa00bb00cd00021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361
+
+# including undefined tags
+msg = 313233343030
+result = invalid
+sig = 3043021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a2223aa02aabb021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361
+
+# using composition with indefinite length
+msg = 313233343030
+result = invalid
+sig = 3080303d021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb358463610000
+
+# using composition with indefinite length
+msg = 313233343030
+result = invalid
+sig = 30412280021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a0000021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361
+
+# using composition with indefinite length
+msg = 313233343030
+result = invalid
+sig = 3041021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a2280021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb358463610000
+
+# using composition with wrong tag
+msg = 313233343030
+result = invalid
+sig = 3080313d021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb358463610000
+
+# using composition with wrong tag
+msg = 313233343030
+result = invalid
+sig = 30412280031c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a0000021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361
+
+# using composition with wrong tag
+msg = 313233343030
+result = invalid
+sig = 3041021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a2280031d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb358463610000
+
+# Replacing sequence with NULL
+msg = 313233343030
+result = invalid
+sig = 0500
+
+# changing tag value
+msg = 313233343030
+result = invalid
+sig = 2e3d021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361
+
+# changing tag value
+msg = 313233343030
+result = invalid
+sig = 2f3d021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361
+
+# changing tag value
+msg = 313233343030
+result = invalid
+sig = 313d021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361
+
+# changing tag value
+msg = 313233343030
+result = invalid
+sig = 323d021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361
+
+# changing tag value
+msg = 313233343030
+result = invalid
+sig = ff3d021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361
+
+# changing tag value
+msg = 313233343030
+result = invalid
+sig = 303d001c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361
+
+# changing tag value
+msg = 313233343030
+result = invalid
+sig = 303d011c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361
+
+# changing tag value
+msg = 313233343030
+result = invalid
+sig = 303d031c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361
+
+# changing tag value
+msg = 313233343030
+result = invalid
+sig = 303d041c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361
+
+# changing tag value
+msg = 313233343030
+result = invalid
+sig = 303dff1c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361
+
+# changing tag value
+msg = 313233343030
+result = invalid
+sig = 303d021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a001d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361
+
+# changing tag value
+msg = 313233343030
+result = invalid
+sig = 303d021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a011d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361
+
+# changing tag value
+msg = 313233343030
+result = invalid
+sig = 303d021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a031d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361
+
+# changing tag value
+msg = 313233343030
+result = invalid
+sig = 303d021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a041d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361
+
+# changing tag value
+msg = 313233343030
+result = invalid
+sig = 303d021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480aff1d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361
+
+# dropping value of sequence
+msg = 313233343030
+result = invalid
+sig = 3000
+
+# using composition
+msg = 313233343030
+result = invalid
+sig = 3041300102303c1c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361
+
+# using composition
+msg = 313233343030
+result = invalid
+sig = 30412220020170021b049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361
+
+# using composition
+msg = 313233343030
+result = invalid
+sig = 3041021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a2221020100021cd7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361
+
+# truncate sequence
+msg = 313233343030
+result = invalid
+sig = 303c021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb358463
+
+# truncate sequence
+msg = 313233343030
+result = invalid
+sig = 303c1c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361
+
+# indefinite length
+msg = 313233343030
+result = invalid
+sig = 3080021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb358463610000
+
+# indefinite length with truncated delimiter
+msg = 313233343030
+result = invalid
+sig = 3080021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb3584636100
+
+# indefinite length with additional element
+msg = 313233343030
+result = invalid
+sig = 3080021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb3584636105000000
+
+# indefinite length with truncated element
+msg = 313233343030
+result = invalid
+sig = 3080021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361060811220000
+
+# indefinite length with garbage
+msg = 313233343030
+result = invalid
+sig = 3080021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb358463610000fe02beef
+
+# indefinite length with nonempty EOC
+msg = 313233343030
+result = invalid
+sig = 3080021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb358463610002beef
+
+# prepend empty sequence
+msg = 313233343030
+result = invalid
+sig = 303f3000021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361
+
+# append empty sequence
+msg = 313233343030
+result = invalid
+sig = 303f021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb358463613000
+
+# sequence of sequence
+msg = 313233343030
+result = invalid
+sig = 303f303d021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361
+
+# truncated sequence
+msg = 313233343030
+result = invalid
+sig = 301e021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a
+
+# repeat element in sequence
+msg = 313233343030
+result = invalid
+sig = 305c021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361
+
+# removing integer
+msg = 313233343030
+result = invalid
+sig = 301f021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361
+
+# appending 0's to integer
+msg = 313233343030
+result = invalid
+sig = 303f021e70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a0000021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361
+
+# appending 0's to integer
+msg = 313233343030
+result = invalid
+sig = 303f021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021f00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb358463610000
+
+# prepending 0's to integer
+msg = 313233343030
+result = invalid
+sig = 303f021e000070049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361
+
+# prepending 0's to integer
+msg = 313233343030
+result = invalid
+sig = 303f021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021f000000d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361
+
+# Replacing integer with NULL
+msg = 313233343030
+result = invalid
+sig = 30210500021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361
+
+# Replacing integer with NULL
+msg = 313233343030
+result = invalid
+sig = 3020021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a0500
+
+# dropping value of integer
+msg = 313233343030
+result = invalid
+sig = 30210200021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361
+
+# dropping value of integer
+msg = 313233343030
+result = invalid
+sig = 3020021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a0200
+
+# modify first byte of integer
+msg = 313233343030
+result = invalid
+sig = 303d021c72049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361
+
+# modify first byte of integer
+msg = 313233343030
+result = invalid
+sig = 303d021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d02d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361
+
+# modify last byte of integer
+msg = 313233343030
+result = invalid
+sig = 303d021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a488a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361
+
+# modify last byte of integer
+msg = 313233343030
+result = invalid
+sig = 303d021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb358463e1
+
+# truncate integer
+msg = 313233343030
+result = invalid
+sig = 303c021b70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a48021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361
+
+# truncate integer
+msg = 313233343030
+result = invalid
+sig = 303c021b049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361
+
+# truncate integer
+msg = 313233343030
+result = invalid
+sig = 303c021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021c00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb358463
+
+# truncate integer
+msg = 313233343030
+result = invalid
+sig = 303c021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021cd7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361
+
+# leading ff in integer
+msg = 313233343030
+result = invalid
+sig = 303e021dff70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361
+
+# leading ff in integer
+msg = 313233343030
+result = invalid
+sig = 303e021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021eff00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361
+
+# infinity
+msg = 313233343030
+result = invalid
+sig = 3022090180021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361
+
+# infinity
+msg = 313233343030
+result = invalid
+sig = 3021021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a090180
+
+# Modified r or s, e.g. by adding or subtracting the order of the group
+msg = 313233343030
+result = invalid
+sig = 303e021d0170049af31f8348673d56cece2b26fc2a84bbe2e2a2e84aeced767247021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361
+
+# Modified r or s, e.g. by adding or subtracting the order of the group
+msg = 313233343030
+result = invalid
+sig = 303e021dff70049af31f8348673d56cece2b28cee4c34a02667b2df86234be1dcd021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361
+
+# Modified r or s, e.g. by adding or subtracting the order of the group
+msg = 313233343030
+result = invalid
+sig = 303d021c8ffb650ce07cb798c2a93131d4d81a785bfd0d5b70f4de586ee5b7f6021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361
+
+# Modified r or s, e.g. by adding or subtracting the order of the group
+msg = 313233343030
+result = invalid
+sig = 303e021d008ffb650ce07cb798c2a93131d4d7311b3cb5fd9984d2079dcb41e233021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361
+
+# Modified r or s, e.g. by adding or subtracting the order of the group
+msg = 313233343030
+result = invalid
+sig = 303e021dfe8ffb650ce07cb798c2a93131d4d903d57b441d1d5d17b51312898db9021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361
+
+# Modified r or s, e.g. by adding or subtracting the order of the group
+msg = 313233343030
+result = invalid
+sig = 303e021d0170049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361
+
+# Modified r or s, e.g. by adding or subtracting the order of the group
+msg = 313233343030
+result = invalid
+sig = 303e021d008ffb650ce07cb798c2a93131d4d81a785bfd0d5b70f4de586ee5b7f6021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361
+
+# Modified r or s, e.g. by adding or subtracting the order of the group
+msg = 313233343030
+result = invalid
+sig = 303d021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d01d7bf40db0909941d78f9948340c5b4b7a5fa6fca97e8a82091e08d9e
+
+# Modified r or s, e.g. by adding or subtracting the order of the group
+msg = 313233343030
+result = invalid
+sig = 303c021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021cd7bf40db0909941d78f9948340c78771e4888f4e702e5595d9283924
+
+# Modified r or s, e.g. by adding or subtracting the order of the group
+msg = 313233343030
+result = invalid
+sig = 303d021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021dff2840bf24f6f66be287066b7cbf3961eb3abe80737bf48124ca7b9c9f
+
+# Modified r or s, e.g. by adding or subtracting the order of the group
+msg = 313233343030
+result = invalid
+sig = 303d021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021dfe2840bf24f6f66be287066b7cbf3a4b485a059035681757df6e1f7262
+
+# Modified r or s, e.g. by adding or subtracting the order of the group
+msg = 313233343030
+result = invalid
+sig = 303d021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d01d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361
+
+# Modified r or s, e.g. by adding or subtracting the order of the group
+msg = 313233343030
+result = invalid
+sig = 303c021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021c2840bf24f6f66be287066b7cbf3961eb3abe80737bf48124ca7b9c9f
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 3006020100020100
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 3006020100020101
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 30060201000201ff
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 3022020100021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 3022020100021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3c
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 3022020100021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3e
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 3022020100021d00ffffffffffffffffffffffffffffffff000000000000000000000001
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 3022020100021d00ffffffffffffffffffffffffffffffff000000000000000000000002
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 3008020100090380fe01
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 3006020101020100
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 3006020101020101
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 30060201010201ff
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 3022020101021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 3022020101021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3c
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 3022020101021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3e
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 3022020101021d00ffffffffffffffffffffffffffffffff000000000000000000000001
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 3022020101021d00ffffffffffffffffffffffffffffffff000000000000000000000002
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 3008020101090380fe01
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 30060201ff020100
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 30060201ff020101
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 30060201ff0201ff
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 30220201ff021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 30220201ff021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3c
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 30220201ff021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3e
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 30220201ff021d00ffffffffffffffffffffffffffffffff000000000000000000000001
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 30220201ff021d00ffffffffffffffffffffffffffffffff000000000000000000000002
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 30080201ff090380fe01
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 3022021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d020100
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 3022021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d020101
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 3022021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d0201ff
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 303e021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 303e021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3c
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 303e021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3e
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 303e021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d021d00ffffffffffffffffffffffffffffffff000000000000000000000001
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 303e021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d021d00ffffffffffffffffffffffffffffffff000000000000000000000002
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 3024021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d090380fe01
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 3022021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3c020100
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 3022021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3c020101
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 3022021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3c0201ff
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 303e021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3c021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 303e021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3c021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3c
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 303e021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3c021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3e
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 303e021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3c021d00ffffffffffffffffffffffffffffffff000000000000000000000001
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 303e021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3c021d00ffffffffffffffffffffffffffffffff000000000000000000000002
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 3024021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3c090380fe01
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 3022021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3e020100
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 3022021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3e020101
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 3022021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3e0201ff
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 303e021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3e021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 303e021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3e021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3c
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 303e021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3e021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3e
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 303e021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3e021d00ffffffffffffffffffffffffffffffff000000000000000000000001
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 303e021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3e021d00ffffffffffffffffffffffffffffffff000000000000000000000002
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 3024021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3e090380fe01
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 3022021d00ffffffffffffffffffffffffffffffff000000000000000000000001020100
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 3022021d00ffffffffffffffffffffffffffffffff000000000000000000000001020101
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 3022021d00ffffffffffffffffffffffffffffffff0000000000000000000000010201ff
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 303e021d00ffffffffffffffffffffffffffffffff000000000000000000000001021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 303e021d00ffffffffffffffffffffffffffffffff000000000000000000000001021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3c
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 303e021d00ffffffffffffffffffffffffffffffff000000000000000000000001021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3e
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 303e021d00ffffffffffffffffffffffffffffffff000000000000000000000001021d00ffffffffffffffffffffffffffffffff000000000000000000000001
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 303e021d00ffffffffffffffffffffffffffffffff000000000000000000000001021d00ffffffffffffffffffffffffffffffff000000000000000000000002
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 3024021d00ffffffffffffffffffffffffffffffff000000000000000000000001090380fe01
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 3022021d00ffffffffffffffffffffffffffffffff000000000000000000000002020100
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 3022021d00ffffffffffffffffffffffffffffffff000000000000000000000002020101
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 3022021d00ffffffffffffffffffffffffffffffff0000000000000000000000020201ff
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 303e021d00ffffffffffffffffffffffffffffffff000000000000000000000002021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 303e021d00ffffffffffffffffffffffffffffffff000000000000000000000002021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3c
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 303e021d00ffffffffffffffffffffffffffffffff000000000000000000000002021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3e
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 303e021d00ffffffffffffffffffffffffffffffff000000000000000000000002021d00ffffffffffffffffffffffffffffffff000000000000000000000001
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 303e021d00ffffffffffffffffffffffffffffffff000000000000000000000002021d00ffffffffffffffffffffffffffffffff000000000000000000000002
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 3024021d00ffffffffffffffffffffffffffffffff000000000000000000000002090380fe01
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Edge case for Shamir multiplication
+msg = 3137353738
+result = valid
+sig = 303c021c326bc06353f7f9c9f77b8f4b55464e8619944e7879402cca572e041a021c3116e1a38e4ab2008eca032fb2d185e5c21a232eaf4507ae56177fd2
+
+[key.curve = secp224r1]
+[key.keySize = 224]
+[key.type = ECPublicKey]
+[key.wx = 08bf7e792f7c86877f1fd0552e42d80653b59e3a29e762a22810daac7]
+[key.wy = 0eec615bbad04b58dc2a7956090b8040bb5055325bba0aa8b3a5caa6f]
+[keyDer = 304e301006072a8648ce3d020106052b81040021033a00048bf7e792f7c86877f1fd0552e42d80653b59e3a29e762a22810daac7eec615bbad04b58dc2a7956090b8040bb5055325bba0aa8b3a5caa6f]
+[sha = SHA-224]
+
+# k*G has a large x-coordinate
+msg = 313233343030
+result = valid
+sig = 3030020f00e95c1f470fc1ec22d6baa3a3d5c1021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3a
+
+# r too large
+msg = 313233343030
+result = invalid
+sig = 303e021d00fffffffffffffffffffffffffffffffefffffffffffffffffffffffe021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3a
+
+[key.curve = secp224r1]
+[key.keySize = 224]
+[key.type = ECPublicKey]
+[key.wx = 2646ff36d9697aaaed0d641117f94f60e138bab8e9912b558ae0a818]
+[key.wy = 0ca48e45a33550c1b5bd20a00e4d9df3033c03222e87bd96a8197f2dd]
+[keyDer = 304e301006072a8648ce3d020106052b81040021033a00042646ff36d9697aaaed0d641117f94f60e138bab8e9912b558ae0a818ca48e45a33550c1b5bd20a00e4d9df3033c03222e87bd96a8197f2dd]
+[sha = SHA-224]
+
+# r,s are large
+msg = 313233343030
+result = valid
+sig = 303e021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3c021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3b
+
+[key.curve = secp224r1]
+[key.keySize = 224]
+[key.type = ECPublicKey]
+[key.wx = 0ea3ea2873b6fc099bfd779b0a2c23c2c4354e2fec4536f3b8e420988]
+[key.wy = 0f97e1c7646b4eb3de616752f415ab3a6f696d1d674fb4b6732252382]
+[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004ea3ea2873b6fc099bfd779b0a2c23c2c4354e2fec4536f3b8e420988f97e1c7646b4eb3de616752f415ab3a6f696d1d674fb4b6732252382]
+[sha = SHA-224]
+
+# r and s^-1 have a large Hamming weight
+msg = 313233343030
+result = valid
+sig = 303c021c7fffffffffffffffffffffffffffffffffffffffffffffffffffffff021c3d5052691b8dc89debad360466f2a39e82e8ae2aefb77c3c92ad7cd1
+
+[key.curve = secp224r1]
+[key.keySize = 224]
+[key.type = ECPublicKey]
+[key.wx = 092ae54e38b4e9c6ae9943193747c4c8acc6c96f422515288e9698a13]
+[key.wy = 0e8f3a759a1a8273c53f4b4b18bfcf78d9bb988adb3b005002dbe434c]
+[keyDer = 304e301006072a8648ce3d020106052b81040021033a000492ae54e38b4e9c6ae9943193747c4c8acc6c96f422515288e9698a13e8f3a759a1a8273c53f4b4b18bfcf78d9bb988adb3b005002dbe434c]
+[sha = SHA-224]
+
+# r and s^-1 have a large Hamming weight
+msg = 313233343030
+result = valid
+sig = 303d021c7fffffffffffffffffffffffffffffffffffffffffffffffffffffff021d00bf19ab4d3ebf5a1a49d765909308daa88c2b7be3969db552ea30562b
+
+[key.curve = secp224r1]
+[key.keySize = 224]
+[key.type = ECPublicKey]
+[key.wx = 0b157315cc1aaeae64eb5b38452884195fdfe8a15fb5618284f48afe5]
+[key.wy = 0e1fbbaad729477a45f3752b7f72ad2f9cd7dce4158a8e21b8127e8a7]
+[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004b157315cc1aaeae64eb5b38452884195fdfe8a15fb5618284f48afe5e1fbbaad729477a45f3752b7f72ad2f9cd7dce4158a8e21b8127e8a7]
+[sha = SHA-224]
+
+# small r and s
+msg = 313233343030
+result = valid
+sig = 3006020103020101
+
+[key.curve = secp224r1]
+[key.keySize = 224]
+[key.type = ECPublicKey]
+[key.wx = 087d9d964044b5b16801f32de9f3f9066194e8bf80affa3cb0d4ddb1d]
+[key.wy = 0b5eb9b6594e6d1bcacd0fd9d67c408f789dfb95feb79a6e2fb9c4cee]
+[keyDer = 304e301006072a8648ce3d020106052b81040021033a000487d9d964044b5b16801f32de9f3f9066194e8bf80affa3cb0d4ddb1db5eb9b6594e6d1bcacd0fd9d67c408f789dfb95feb79a6e2fb9c4cee]
+[sha = SHA-224]
+
+# small r and s
+msg = 313233343030
+result = valid
+sig = 3006020103020103
+
+[key.curve = secp224r1]
+[key.keySize = 224]
+[key.type = ECPublicKey]
+[key.wx = 461b435af09ede35e74dac21f9af7b1b9998213039f8785d4a4905f5]
+[key.wy = 18b89bde69de34a482638461d09386e7193ca90ca5b3038e2a3885d1]
+[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004461b435af09ede35e74dac21f9af7b1b9998213039f8785d4a4905f518b89bde69de34a482638461d09386e7193ca90ca5b3038e2a3885d1]
+[sha = SHA-224]
+
+# small r and s
+msg = 313233343030
+result = valid
+sig = 3006020103020104
+
+# r is larger than n
+msg = 313233343030
+result = invalid
+sig = 3022021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a40020104
+
+[key.curve = secp224r1]
+[key.keySize = 224]
+[key.type = ECPublicKey]
+[key.wx = 08093af8db04b3dd2e7c3c59bb64a832c2fb8e8e141bae7ba1534950a]
+[key.wy = 10c5e87aecbd1fcdfc36cd18d41b3238b2ac613eb7c9de988d881816]
+[keyDer = 304e301006072a8648ce3d020106052b81040021033a00048093af8db04b3dd2e7c3c59bb64a832c2fb8e8e141bae7ba1534950a10c5e87aecbd1fcdfc36cd18d41b3238b2ac613eb7c9de988d881816]
+[sha = SHA-224]
+
+# s is larger than n
+msg = 313233343030
+result = invalid
+sig = 3022020103021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c6f00c4
+
+[key.curve = secp224r1]
+[key.keySize = 224]
+[key.type = ECPublicKey]
+[key.wx = 0c6d71f4ba0933f1269f7d6df83fd0c9c67254f101dcc126dc15faa3e]
+[key.wy = 3c45dc9fedc71c9f2b0dd1b12b656241f5e335066f3f925bdbcfe98f]
+[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004c6d71f4ba0933f1269f7d6df83fd0c9c67254f101dcc126dc15faa3e3c45dc9fedc71c9f2b0dd1b12b656241f5e335066f3f925bdbcfe98f]
+[sha = SHA-224]
+
+# small r and s^-1
+msg = 313233343030
+result = valid
+sig = 302302020100021d00c993264c993264c993264c99326411d2e55b3214a8d67528812a55ab
+
+[key.curve = secp224r1]
+[key.keySize = 224]
+[key.type = ECPublicKey]
+[key.wx = 0beb9d8dcba48146b9032688ecea947a231e7d0e6ce17d76b56ed6348]
+[key.wy = 35503f3b4af414870ef03383784b1d846b3e07b8e9fc2d6190a3bfda]
+[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004beb9d8dcba48146b9032688ecea947a231e7d0e6ce17d76b56ed634835503f3b4af414870ef03383784b1d846b3e07b8e9fc2d6190a3bfda]
+[sha = SHA-224]
+
+# smallish r and s^-1
+msg = 313233343030
+result = valid
+sig = 302702072d9b4d347952cc021c3e85d56474b5c55fbe86608442a84b2bf093b7d75f53a47250e1c70c
+
+[key.curve = secp224r1]
+[key.keySize = 224]
+[key.type = ECPublicKey]
+[key.wx = 1955ba3f90e7a739471a5d182b594c9747eb49d5356203f3bb8b939c]
+[key.wy = 0807d88ce3a0885bfa5b5b7f6e9beb18285e7130524b6c1498b3269ee]
+[keyDer = 304e301006072a8648ce3d020106052b81040021033a00041955ba3f90e7a739471a5d182b594c9747eb49d5356203f3bb8b939c807d88ce3a0885bfa5b5b7f6e9beb18285e7130524b6c1498b3269ee]
+[sha = SHA-224]
+
+# 100-bit r and small s^-1
+msg = 313233343030
+result = valid
+sig = 302d020d1033e67e37b32b445580bf4efb021c02fd02fd02fd02fd02fd02fd02fd0043a4fd2da317247308c74dc6b8
+
+[key.curve = secp224r1]
+[key.keySize = 224]
+[key.type = ECPublicKey]
+[key.wx = 5cb9e5a5071f2b37aa3a5e5f389f54f996b0bc8a132ecb6885318fbf]
+[key.wy = 4ec5f8b93d8bf2a3b64fa7cac316392562c46567963c43a69f7a37fd]
+[keyDer = 304e301006072a8648ce3d020106052b81040021033a00045cb9e5a5071f2b37aa3a5e5f389f54f996b0bc8a132ecb6885318fbf4ec5f8b93d8bf2a3b64fa7cac316392562c46567963c43a69f7a37fd]
+[sha = SHA-224]
+
+# small r and 100 bit s^-1
+msg = 313233343030
+result = valid
+sig = 302302020100021d00d05434abacd859ed74185e75b751c6d9f60c7921dacfbb8e19cdba8e
+
+[key.curve = secp224r1]
+[key.keySize = 224]
+[key.type = ECPublicKey]
+[key.wx = 7b34ef8723a4309c0fa8a7ec3a783477652a82892370f6763314fe7b]
+[key.wy = 0dee663853071e35fd3c76f991d7843c5e168ca659b93bd6015518fba]
+[keyDer = 304e301006072a8648ce3d020106052b81040021033a00047b34ef8723a4309c0fa8a7ec3a783477652a82892370f6763314fe7bdee663853071e35fd3c76f991d7843c5e168ca659b93bd6015518fba]
+[sha = SHA-224]
+
+# 100-bit r and s^-1
+msg = 313233343030
+result = valid
+sig = 302e020d062522bbd3ecbe7c39e93e7c24021d00d05434abacd859ed74185e75b751c6d9f60c7921dacfbb8e19cdba8e
+
+[key.curve = secp224r1]
+[key.keySize = 224]
+[key.type = ECPublicKey]
+[key.wx = 3f26a9c13979cf5d090ea25dc966398022ceec31504abc4b10f7676]
+[key.wy = 7d577dcf47e10e384c6b9a229a455a9fd33e54fe7960b8b0160aef16]
+[keyDer = 304e301006072a8648ce3d020106052b81040021033a000403f26a9c13979cf5d090ea25dc966398022ceec31504abc4b10f76767d577dcf47e10e384c6b9a229a455a9fd33e54fe7960b8b0160aef16]
+[sha = SHA-224]
+
+# r and s^-1 are close to n
+msg = 313233343030
+result = valid
+sig = 303d021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c29bd021c5555555555555555555555555555078ba03da56a069f0dc1c9740e14
+
+[key.curve = secp224r1]
+[key.keySize = 224]
+[key.type = ECPublicKey]
+[key.wx = 0b671296dd5f690502e4b1500e4acb4c82d3aa8dfbc5868a643f86a3c]
+[key.wy = 0a46ba8c3a7b823259522291e2416232276cca8503cc8dbf941f1d93d]
+[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004b671296dd5f690502e4b1500e4acb4c82d3aa8dfbc5868a643f86a3ca46ba8c3a7b823259522291e2416232276cca8503cc8dbf941f1d93d]
+[sha = SHA-224]
+
+# s == 1
+msg = 313233343030
+result = valid
+sig = 3021021c5555555555555555555555555555078ba03da56a069f0dc1c9740e14020101
+
+# s == 0
+msg = 313233343030
+result = invalid
+sig = 3021021c5555555555555555555555555555078ba03da56a069f0dc1c9740e14020100
+
+[key.curve = secp224r1]
+[key.keySize = 224]
+[key.type = ECPublicKey]
+[key.wx = 76e34b57a8c61df59cb0b7921cec6e5422344033f7accb7b3179e682]
+[key.wy = 0cefd0a848309d1decf98a3b9e333691b95c17821cb681137630c02e2]
+[keyDer = 304e301006072a8648ce3d020106052b81040021033a000476e34b57a8c61df59cb0b7921cec6e5422344033f7accb7b3179e682cefd0a848309d1decf98a3b9e333691b95c17821cb681137630c02e2]
+[sha = SHA-224]
+
+# point at infinity during verify
+msg = 313233343030
+result = invalid
+sig = 303c021c7fffffffffffffffffffffffffff8b51705c781f09ee94a2ae2e151e021c5555555555555555555555555555078ba03da56a069f0dc1c9740e14
+
+[key.curve = secp224r1]
+[key.keySize = 224]
+[key.type = ECPublicKey]
+[key.wx = 0b5c09b4851a67371eee7bbf02451e5208c40de61bc1a33df2710b384]
+[key.wy = 0dcce4e5b83c32a800e8de28fa936d582cdcad185e894caac797f1d14]
+[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004b5c09b4851a67371eee7bbf02451e5208c40de61bc1a33df2710b384dcce4e5b83c32a800e8de28fa936d582cdcad185e894caac797f1d14]
+[sha = SHA-224]
+
+# u1 == 1
+msg = 313233343030
+result = valid
+sig = 303c021c5555555555555555555555555555078ba03da56a069f0dc1c9740e14021c753bb40078934081d7bd113ec49b19ef09d1ba33498690516d4d122c
+
+[key.curve = secp224r1]
+[key.keySize = 224]
+[key.type = ECPublicKey]
+[key.wx = 0941e283be31300bfd4f6a12b876fd3267352551cc49e9eef73f76538]
+[key.wy = 0c115e5fe3b92f643c6cef1c58f3f8657574d1f64957d4880995cde83]
+[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004941e283be31300bfd4f6a12b876fd3267352551cc49e9eef73f76538c115e5fe3b92f643c6cef1c58f3f8657574d1f64957d4880995cde83]
+[sha = SHA-224]
+
+# u1 == n - 1
+msg = 313233343030
+result = valid
+sig = 303d021c5555555555555555555555555555078ba03da56a069f0dc1c9740e14021d008ac44bff876cbf7e2842eec13b63fcb3d6e7360aca5698f3ef0f1811
+
+[key.curve = secp224r1]
+[key.keySize = 224]
+[key.type = ECPublicKey]
+[key.wx = 43c9ccd08a80bca18022722b0bdcd790d82a3ef8b65c3f34204bb472]
+[key.wy = 09ee1c1f00598130b2313a3e38a3798d03dac665cff20f36ce8a2024a]
+[keyDer = 304e301006072a8648ce3d020106052b81040021033a000443c9ccd08a80bca18022722b0bdcd790d82a3ef8b65c3f34204bb4729ee1c1f00598130b2313a3e38a3798d03dac665cff20f36ce8a2024a]
+[sha = SHA-224]
+
+# u2 == 1
+msg = 313233343030
+result = valid
+sig = 303c021c5555555555555555555555555555078ba03da56a069f0dc1c9740e14021c5555555555555555555555555555078ba03da56a069f0dc1c9740e14
+
+[key.curve = secp224r1]
+[key.keySize = 224]
+[key.type = ECPublicKey]
+[key.wx = 0d958e418fad1c5ea5c923e6185e03ed5539d3f5f58dfac8bb9f10459]
+[key.wy = 6997e408c97be5fdc037a5c004389d4b97eb1f54635e985853c1f082]
+[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004d958e418fad1c5ea5c923e6185e03ed5539d3f5f58dfac8bb9f104596997e408c97be5fdc037a5c004389d4b97eb1f54635e985853c1f082]
+[sha = SHA-224]
+
+# u2 == n - 1
+msg = 313233343030
+result = valid
+sig = 303d021c5555555555555555555555555555078ba03da56a069f0dc1c9740e14021d00aaaaaaaaaaaaaaaaaaaaaaaaaaaa0f17407b4ad40d3e1b8392e81c29
+
+[key.curve = secp224r1]
+[key.keySize = 224]
+[key.type = ECPublicKey]
+[key.wx = 0d629b434c9b5d157bd72e114fd839553f7f0e94600934a0a49e59aa4]
+[key.wy = 713a13c01775e75e2ebae75d9e29d2506184177b7dd0868693873596]
+[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004d629b434c9b5d157bd72e114fd839553f7f0e94600934a0a49e59aa4713a13c01775e75e2ebae75d9e29d2506184177b7dd0868693873596]
+[sha = SHA-224]
+
+# edge case for u1
+msg = 313233343030
+result = valid
+sig = 303d021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021d00d1be91557d866ad5f2945b14ec3317bc43c1338fd06af6496201cce2
+
+[key.curve = secp224r1]
+[key.keySize = 224]
+[key.type = ECPublicKey]
+[key.wx = 3d2e9bb9a712bf3ad42ac30659fdbda9be9956537f9f37cd05f0ff37]
+[key.wy = 7d5982d6d9266d774942c44d9eb3501051d3b9688610131e7856ef36]
+[keyDer = 304e301006072a8648ce3d020106052b81040021033a00043d2e9bb9a712bf3ad42ac30659fdbda9be9956537f9f37cd05f0ff377d5982d6d9266d774942c44d9eb3501051d3b9688610131e7856ef36]
+[sha = SHA-224]
+
+# edge case for u1
+msg = 313233343030
+result = valid
+sig = 303c021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021c7ac54a381d9bd3f2698359d6f658b5e4167d15a75b576e82d2efbd37
+
+[key.curve = secp224r1]
+[key.keySize = 224]
+[key.type = ECPublicKey]
+[key.wx = 0a0be2f10144b9b42b016f1bd9fca30e4c24aae4775596c7cdb07ae60]
+[key.wy = 0d60ff3a70f1541631f6087d3f3b3fe376d2305b50b94821106412479]
+[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004a0be2f10144b9b42b016f1bd9fca30e4c24aae4775596c7cdb07ae60d60ff3a70f1541631f6087d3f3b3fe376d2305b50b94821106412479]
+[sha = SHA-224]
+
+# edge case for u1
+msg = 313233343030
+result = valid
+sig = 303c021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021c4fbb063e82402e16fe14edda4d7986b0b88344a1f53b0e2684ee7e31
+
+[key.curve = secp224r1]
+[key.keySize = 224]
+[key.type = ECPublicKey]
+[key.wx = 4d74397a586c8ac5e326bed03720bde7037e4a07aee7209f70493cab]
+[key.wy = 106778bfd081d17ab6dcb8fd8a454962941c26ecc19cda9fb77719db]
+[keyDer = 304e301006072a8648ce3d020106052b81040021033a00044d74397a586c8ac5e326bed03720bde7037e4a07aee7209f70493cab106778bfd081d17ab6dcb8fd8a454962941c26ecc19cda9fb77719db]
+[sha = SHA-224]
+
+# edge case for u1
+msg = 313233343030
+result = valid
+sig = 303d021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021d00d3be5f50d726f99b8ac44bff876bfe78dd7ae630d227ef0ba87ae39b
+
+[key.curve = secp224r1]
+[key.keySize = 224]
+[key.type = ECPublicKey]
+[key.wx = 08c2f149b1738243f81a6f12135395a2ba2718863622e66e33efc241f]
+[key.wy = 5638cf6ae9cfb39578cf3a719702052e5e9e940216c5136dcb6ef085]
+[keyDer = 304e301006072a8648ce3d020106052b81040021033a00048c2f149b1738243f81a6f12135395a2ba2718863622e66e33efc241f5638cf6ae9cfb39578cf3a719702052e5e9e940216c5136dcb6ef085]
+[sha = SHA-224]
+
+# edge case for u1
+msg = 313233343030
+result = valid
+sig = 303d021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021d00e5f50d726f99b8ac44bff876cbf710e47f9087d1afdfb1dab6d6daf1
+
+[key.curve = secp224r1]
+[key.keySize = 224]
+[key.type = ECPublicKey]
+[key.wx = 0ad5227e48afaa165e7b97ef8210687556e10643fda8a377aaf4f5bf4]
+[key.wy = 12e86d4ae55f4460aba6a932f307ee78efdc136e9a3df6313100bf4f]
+[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004ad5227e48afaa165e7b97ef8210687556e10643fda8a377aaf4f5bf412e86d4ae55f4460aba6a932f307ee78efdc136e9a3df6313100bf4f]
+[sha = SHA-224]
+
+# edge case for u1
+msg = 313233343030
+result = valid
+sig = 303d021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021d00cbea1ae4df337158897ff0ed97ef0b261e681f654be23a7011518ba5
+
+[key.curve = secp224r1]
+[key.keySize = 224]
+[key.type = ECPublicKey]
+[key.wx = 3fb94a3165ecdef43fa27907ed075caf52c25420ac7bc7bb90408992]
+[key.wy = 23c4d7b4775b591ae223dd4da9ceaabd73b9743ddab8b40576e393f]
+[keyDer = 304e301006072a8648ce3d020106052b81040021033a00043fb94a3165ecdef43fa27907ed075caf52c25420ac7bc7bb90408992023c4d7b4775b591ae223dd4da9ceaabd73b9743ddab8b40576e393f]
+[sha = SHA-224]
+
+# edge case for u1
+msg = 313233343030
+result = valid
+sig = 303d021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021d00d726f99b8ac44bff876cbf7e28422aa07ec3cb1d9472bd704f4029f0
+
+[key.curve = secp224r1]
+[key.keySize = 224]
+[key.type = ECPublicKey]
+[key.wx = 0e45fcf0a7f4dc2a308dc7868251423fbf71a205a9546850a01a732fc]
+[key.wy = 09a73ca4d41175076f2f362b276ecb0ccdb6e0bb30c4a1b35c2e3ed82]
+[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004e45fcf0a7f4dc2a308dc7868251423fbf71a205a9546850a01a732fc9a73ca4d41175076f2f362b276ecb0ccdb6e0bb30c4a1b35c2e3ed82]
+[sha = SHA-224]
+
+# edge case for u1
+msg = 313233343030
+result = valid
+sig = 303d021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021d009720b755413cca9506b5d27589e58ac4bed856762ba7ae20ab5b43cc
+
+[key.curve = secp224r1]
+[key.keySize = 224]
+[key.type = ECPublicKey]
+[key.wx = 3c59e13982fd9c1a45991b1e9d79e939a52a62ca479764f1477e2813]
+[key.wy = 1b004c9bffd7f00c05e3168c625cc93ab7a0f1ba8d6fa26a4d5162cb]
+[keyDer = 304e301006072a8648ce3d020106052b81040021033a00043c59e13982fd9c1a45991b1e9d79e939a52a62ca479764f1477e28131b004c9bffd7f00c05e3168c625cc93ab7a0f1ba8d6fa26a4d5162cb]
+[sha = SHA-224]
+
+# edge case for u1
+msg = 313233343030
+result = valid
+sig = 303c021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021c2e416eaa8279952a0d6ba4eb13cbfee69cf7bcae437232fbfa5a5d5b
+
+[key.curve = secp224r1]
+[key.keySize = 224]
+[key.type = ECPublicKey]
+[key.wx = 0c6b8ff152d7a1b7a99ce3483bdeaaf5bd2ce64dc6b0f89cf3544b87c]
+[key.wy = 53ab6cf9cb510dc1440ab4e412a167f4c69365fcfc97f31d5ba4581]
+[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004c6b8ff152d7a1b7a99ce3483bdeaaf5bd2ce64dc6b0f89cf3544b87c053ab6cf9cb510dc1440ab4e412a167f4c69365fcfc97f31d5ba4581]
+[sha = SHA-224]
+
+# edge case for u1
+msg = 313233343030
+result = valid
+sig = 303d021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021d00c56225ffc3b65fbf142177609db189ab5bd013246f19e11ca5b5a127
+
+[key.curve = secp224r1]
+[key.keySize = 224]
+[key.type = ECPublicKey]
+[key.wx = 7c0772fb6553c0ec0dd1f73b5db380764d9f2f7afb4eac1e774dacd5]
+[key.wy = 6e2e5de0db63bf03cf9675eae6d2dfe5424e79ab394951c9b60ad5df]
+[keyDer = 304e301006072a8648ce3d020106052b81040021033a00047c0772fb6553c0ec0dd1f73b5db380764d9f2f7afb4eac1e774dacd56e2e5de0db63bf03cf9675eae6d2dfe5424e79ab394951c9b60ad5df]
+[sha = SHA-224]
+
+# edge case for u1
+msg = 313233343030
+result = valid
+sig = 303d021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021d00a7dd831f4120170b7f0a76ed26bc4ea9cc9e1a70048c1bb5f0a55437
+
+[key.curve = secp224r1]
+[key.keySize = 224]
+[key.type = ECPublicKey]
+[key.wx = 4108e0ccd47cba09fb7ed4d9f3455823780965157861c1bf8f93d34b]
+[key.wy = 46d6fdb71e9e89adaae71376b13fd17644b11eed00d498783da0ba1a]
+[keyDer = 304e301006072a8648ce3d020106052b81040021033a00044108e0ccd47cba09fb7ed4d9f3455823780965157861c1bf8f93d34b46d6fdb71e9e89adaae71376b13fd17644b11eed00d498783da0ba1a]
+[sha = SHA-224]
+
+# edge case for u2
+msg = 313233343030
+result = valid
+sig = 303c021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021c7fffffffffffffffffffffffffffb2364ae85014b149b86c741eb8be
+
+[key.curve = secp224r1]
+[key.keySize = 224]
+[key.type = ECPublicKey]
+[key.wx = 2f2da40a1b72f67ba63613a243119c41c7252839cf106e86b5d8e6e3]
+[key.wy = 5a1e0e2fc49b4f316f0c0e7236785749eb34ce923c23aef330af8733]
+[keyDer = 304e301006072a8648ce3d020106052b81040021033a00042f2da40a1b72f67ba63613a243119c41c7252839cf106e86b5d8e6e35a1e0e2fc49b4f316f0c0e7236785749eb34ce923c23aef330af8733]
+[sha = SHA-224]
+
+# edge case for u2
+msg = 313233343030
+result = valid
+sig = 303d021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021d00855f5b2dc8e46ec428a593f73219cf65dae793e8346e30cc3701309c
+
+[key.curve = secp224r1]
+[key.keySize = 224]
+[key.type = ECPublicKey]
+[key.wx = 7dc09710f4f586af05b08f0c9dcd48b1308733c97767fc286d1c7283]
+[key.wy = 4353a704c7950b8f4a11394bc8db06adccf19d8ed95c7f214a173137]
+[keyDer = 304e301006072a8648ce3d020106052b81040021033a00047dc09710f4f586af05b08f0c9dcd48b1308733c97767fc286d1c72834353a704c7950b8f4a11394bc8db06adccf19d8ed95c7f214a173137]
+[sha = SHA-224]
+
+# edge case for u2
+msg = 313233343030
+result = valid
+sig = 303c021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021c2db5f61aea817276af2064e104c7a30e32034cb526dd0aacfa56566f
+
+[key.curve = secp224r1]
+[key.keySize = 224]
+[key.type = ECPublicKey]
+[key.wx = 0dbb439e2c3e9d1822b94ccc7d98c9fcb668e65dd6a759ad2dfdcd328]
+[key.wy = 082663234e6da512d7d7d5fe79156ad0e19ffc62d618e3cf48276106d]
+[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004dbb439e2c3e9d1822b94ccc7d98c9fcb668e65dd6a759ad2dfdcd32882663234e6da512d7d7d5fe79156ad0e19ffc62d618e3cf48276106d]
+[sha = SHA-224]
+
+# edge case for u2
+msg = 313233343030
+result = valid
+sig = 303d021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021d0084a6c7513e5f48c07fffffffffff8713f3cba1293e4f3e95597fe6bd
+
+[key.curve = secp224r1]
+[key.keySize = 224]
+[key.type = ECPublicKey]
+[key.wx = 0e012dc20cca5bd2adfaa27f57419596ce09ed0f18a9148e30a0f6ed2]
+[key.wy = 55beca1b5e3e2485ef9537ae48a67b72dbcf6d7b33372023a5c443e8]
+[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004e012dc20cca5bd2adfaa27f57419596ce09ed0f18a9148e30a0f6ed255beca1b5e3e2485ef9537ae48a67b72dbcf6d7b33372023a5c443e8]
+[sha = SHA-224]
+
+# edge case for u2
+msg = 313233343030
+result = valid
+sig = 303c021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021c6c7513e5f48c07ffffffffffffff9d21fd1b31544cb13ca86a75b25e
+
+[key.curve = secp224r1]
+[key.keySize = 224]
+[key.type = ECPublicKey]
+[key.wx = 0c510ab34abd4855c54d62407abe6ca090c73ba49aca9de9bf117bca2]
+[key.wy = 42b3b00c272c22681af7c255120fac148ad73c81b47846e4ad2f5627]
+[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004c510ab34abd4855c54d62407abe6ca090c73ba49aca9de9bf117bca242b3b00c272c22681af7c255120fac148ad73c81b47846e4ad2f5627]
+[sha = SHA-224]
+
+# edge case for u2
+msg = 313233343030
+result = valid
+sig = 303d021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021d00d8ea27cbe9180fffffffffffffff3a43fa3662a899627950d4eb64bc
+
+[key.curve = secp224r1]
+[key.keySize = 224]
+[key.type = ECPublicKey]
+[key.wx = 08a6e167536a47aaa224fec21ce077642efdb97d93ae16b9672279f4]
+[key.wy = 33fb9f1abb25f2c0c3e6008ac857ede4a89ca8d9d08b8996614969ac]
+[keyDer = 304e301006072a8648ce3d020106052b81040021033a000408a6e167536a47aaa224fec21ce077642efdb97d93ae16b9672279f433fb9f1abb25f2c0c3e6008ac857ede4a89ca8d9d08b8996614969ac]
+[sha = SHA-224]
+
+# edge case for u2
+msg = 313233343030
+result = valid
+sig = 303c021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021c3e5f48c07fffffffffffffffffffc724968c0ecf9ed783744a7337b3
+
+[key.curve = secp224r1]
+[key.keySize = 224]
+[key.type = ECPublicKey]
+[key.wx = 1a83e185fcf30e6c69cf292e497d63cc04e6fd07cb9365a74be3c39c]
+[key.wy = 6b2d56247df49cf94176c4e8efc84ec710cd0d614dd066c16f6ad3e0]
+[keyDer = 304e301006072a8648ce3d020106052b81040021033a00041a83e185fcf30e6c69cf292e497d63cc04e6fd07cb9365a74be3c39c6b2d56247df49cf94176c4e8efc84ec710cd0d614dd066c16f6ad3e0]
+[sha = SHA-224]
+
+# edge case for u2
+msg = 313233343030
+result = valid
+sig = 303d021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021d00bfffffffffffffffffffffffffff3d87bb44c833bb384d0f224ccdde
+
+[key.curve = secp224r1]
+[key.keySize = 224]
+[key.type = ECPublicKey]
+[key.wx = 2d59efd841a44b83fd42e6a2984a53fa93ad242c11678f92202cccfb]
+[key.wy = 095bcaf0b2f6eb0e6d4d83e3260e037d3dc0e48ab6c4141ce6b56cad0]
+[keyDer = 304e301006072a8648ce3d020106052b81040021033a00042d59efd841a44b83fd42e6a2984a53fa93ad242c11678f92202cccfb95bcaf0b2f6eb0e6d4d83e3260e037d3dc0e48ab6c4141ce6b56cad0]
+[sha = SHA-224]
+
+# edge case for u2
+msg = 313233343030
+result = valid
+sig = 303c021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021c7fffffffffffffffffffffffffff646c95d0a029629370d8e83d717f
+
+[key.curve = secp224r1]
+[key.keySize = 224]
+[key.type = ECPublicKey]
+[key.wx = 1161c7add6f67f995b93e19eb18bd5e73fd71d6bb10dceef0b792e9c]
+[key.wy = 08c44cef9826b4ed67508c09d07ec857a0ea49ed1a7f1fa2c74cb838]
+[keyDer = 304e301006072a8648ce3d020106052b81040021033a00041161c7add6f67f995b93e19eb18bd5e73fd71d6bb10dceef0b792e9c08c44cef9826b4ed67508c09d07ec857a0ea49ed1a7f1fa2c74cb838]
+[sha = SHA-224]
+
+# edge case for u2
+msg = 313233343030
+result = valid
+sig = 303c021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021c3fffffffffffffffffffffffffff8b51705c781f09ee94a2ae2e1520
+
+[key.curve = secp224r1]
+[key.keySize = 224]
+[key.type = ECPublicKey]
+[key.wx = 084dc3d2ebfcf3480713baeff30ad0781bc8c4d06ab6ddd4f7f1045af]
+[key.wy = 7570537c5d71a78b1a041aca0fe35f642824abda8c3ff2e9fcf5c8cb]
+[keyDer = 304e301006072a8648ce3d020106052b81040021033a000484dc3d2ebfcf3480713baeff30ad0781bc8c4d06ab6ddd4f7f1045af7570537c5d71a78b1a041aca0fe35f642824abda8c3ff2e9fcf5c8cb]
+[sha = SHA-224]
+
+# edge case for u2
+msg = 313233343030
+result = valid
+sig = 303d021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021d0096dafb0d7540b93b5790327082635cd8895e1e799d5d19f92b594056
+
+[key.curve = secp224r1]
+[key.keySize = 224]
+[key.type = ECPublicKey]
+[key.wx = 1767574e645c550ef3d353f76d4428f9616ac288b36378857de33262]
+[key.wy = 09fe09825a57f3a0ec11189f4560272297ab6d5e095401febb60d0dc9]
+[keyDer = 304e301006072a8648ce3d020106052b81040021033a00041767574e645c550ef3d353f76d4428f9616ac288b36378857de332629fe09825a57f3a0ec11189f4560272297ab6d5e095401febb60d0dc9]
+[sha = SHA-224]
+
+# point duplication during verification
+msg = 313233343030
+result = valid
+sig = 303d021d00c44503dae85dd5210780f02928b3d927171c578f8603d16b240663c7021c1ef359e4bd146f63d8155c5c2523fa3353c9820f84f28150bad3819a
+# Some implementations of ECDSA do not handle duplication and points at infinity
+# correctly. This is a test vector that has been specially crafted to check for
+# such an omission.
+
+[key.curve = secp224r1]
+[key.keySize = 224]
+[key.type = ECPublicKey]
+[key.wx = 1767574e645c550ef3d353f76d4428f9616ac288b36378857de33262]
+[key.wy = 601f67da5a80c5f13eee760ba9fd8dd585492a1f6abfe01449f2f238]
+[keyDer = 304e301006072a8648ce3d020106052b81040021033a00041767574e645c550ef3d353f76d4428f9616ac288b36378857de33262601f67da5a80c5f13eee760ba9fd8dd585492a1f6abfe01449f2f238]
+[sha = SHA-224]
+
+# duplication bug
+msg = 313233343030
+result = invalid
+sig = 303d021d00c44503dae85dd5210780f02928b3d927171c578f8603d16b240663c7021c1ef359e4bd146f63d8155c5c2523fa3353c9820f84f28150bad3819a
+# Some implementations of ECDSA do not handle duplication and points at infinity
+# correctly. This is a test vector that has been specially crafted to check for
+# such an omission.
+
+[key.curve = secp224r1]
+[key.keySize = 224]
+[key.type = ECPublicKey]
+[key.wx = 0e2ef8c8ccb58eba287d9279b349e7652cca3e7cda188a5f179d77142]
+[key.wy = 0f87594f3664c0faf7b59670e353a370d1d68ad89d6a1e246b4d03bee]
+[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004e2ef8c8ccb58eba287d9279b349e7652cca3e7cda188a5f179d77142f87594f3664c0faf7b59670e353a370d1d68ad89d6a1e246b4d03bee]
+[sha = SHA-224]
+
+# comparison with point at infinity 
+msg = 313233343030
+result = invalid
+sig = 303c021c5555555555555555555555555555078ba03da56a069f0dc1c9740e14021c33333333333333333333333333330486f9be9672d0c5d50ddf45a20c
+
+[key.curve = secp224r1]
+[key.keySize = 224]
+[key.type = ECPublicKey]
+[key.wx = 0b8bf3ef9646abfffb84220104ec996a92cef33f9328ec4cb1ea69948]
+[key.wy = 4fea51a0de9e9d801babd42ca0924b36498bc5900fbeb9cbd5ad9c1a]
+[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004b8bf3ef9646abfffb84220104ec996a92cef33f9328ec4cb1ea699484fea51a0de9e9d801babd42ca0924b36498bc5900fbeb9cbd5ad9c1a]
+[sha = SHA-224]
+
+# extreme value for k
+msg = 313233343030
+result = valid
+sig = 303c021c706a46dc76dcb76798e60e6d89474788d16dc18032d268fd1a704fa6021c5555555555555555555555555555078ba03da56a069f0dc1c9740e14
+
+[key.curve = secp224r1]
+[key.keySize = 224]
+[key.type = ECPublicKey]
+[key.wx = 24819323b7be8ab0910f7f33bd2f7669c44b13f09479965e95287d13]
+[key.wy = 0b0592345beafbfdb8cf3629269bdd817728d5d5cd3c28bc6c6414a70]
+[keyDer = 304e301006072a8648ce3d020106052b81040021033a000424819323b7be8ab0910f7f33bd2f7669c44b13f09479965e95287d13b0592345beafbfdb8cf3629269bdd817728d5d5cd3c28bc6c6414a70]
+[sha = SHA-224]
+
+# extreme value for k
+msg = 313233343030
+result = valid
+sig = 303d021d00b70e0cbd6bb4bf7f321390b94a03c1d356c21122343280d6115c1d21021c5555555555555555555555555555078ba03da56a069f0dc1c9740e14
+
+[key.curve = secp224r1]
+[key.keySize = 224]
+[key.type = ECPublicKey]
+[key.wx = 0b70e0cbd6bb4bf7f321390b94a03c1d356c21122343280d6115c1d21]
+[key.wy = 0bd376388b5f723fb4c22dfe6cd4375a05a07476444d5819985007e34]
+[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004b70e0cbd6bb4bf7f321390b94a03c1d356c21122343280d6115c1d21bd376388b5f723fb4c22dfe6cd4375a05a07476444d5819985007e34]
+[sha = SHA-224]
+
+# testing point duplication
+msg = 313233343030
+result = invalid
+sig = 303c021c753bb40078934081d7bd113ec49b19ef09d1ba33498690516d4d122c021c249249249249249249249249249227ce201a6b76951f982e7ae89851
+
+# testing point duplication
+msg = 313233343030
+result = invalid
+sig = 303d021d008ac44bff876cbf7e2842eec13b63fcb3d6e7360aca5698f3ef0f1811021c249249249249249249249249249227ce201a6b76951f982e7ae89851
+
+[key.curve = secp224r1]
+[key.keySize = 224]
+[key.type = ECPublicKey]
+[key.wx = 0b70e0cbd6bb4bf7f321390b94a03c1d356c21122343280d6115c1d21]
+[key.wy = 42c89c774a08dc04b3dd201932bc8a5ea5f8b89bbb2a7e667aff81cd]
+[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004b70e0cbd6bb4bf7f321390b94a03c1d356c21122343280d6115c1d2142c89c774a08dc04b3dd201932bc8a5ea5f8b89bbb2a7e667aff81cd]
+[sha = SHA-224]
+
+# testing point duplication
+msg = 313233343030
+result = invalid
+sig = 303c021c753bb40078934081d7bd113ec49b19ef09d1ba33498690516d4d122c021c249249249249249249249249249227ce201a6b76951f982e7ae89851
+
+# testing point duplication
+msg = 313233343030
+result = invalid
+sig = 303d021d008ac44bff876cbf7e2842eec13b63fcb3d6e7360aca5698f3ef0f1811021c249249249249249249249249249227ce201a6b76951f982e7ae89851
+
+[key.curve = secp224r1]
+[key.keySize = 224]
+[key.type = ECPublicKey]
+[key.wx = 4c246670658a1d41f5d77bce246cbe386ac22848e269b9d4cd67c466]
+[key.wy = 0ddd947153d39b2d42533a460def26880408caf2dd3dd48fe888cd176]
+[keyDer = 304e301006072a8648ce3d020106052b81040021033a00044c246670658a1d41f5d77bce246cbe386ac22848e269b9d4cd67c466ddd947153d39b2d42533a460def26880408caf2dd3dd48fe888cd176]
+[sha = SHA-224]
+
+# pseudorandom signature
+msg = 
+result = valid
+sig = 303d021c2770403d42b7b45e553308d1f6a480640b61cac0ae36665d6f14d34e021d0085506b0404265ededf9a89fc7c9c7a55c16c5b0d781f774de8f46fa1
+
+# pseudorandom signature
+msg = 
+result = valid
+sig = 303d021d00dd0d56c27a0dc01ce0aad178f274d47bdf9dac8db1df5edbd3234e9f021c393cb201b9f3306ef587c8461e18617f8c0cb96dfad301fca8c852a5
+
+# pseudorandom signature
+msg = 
+result = valid
+sig = 303c021c0441d3ea1ccaf7ee9cba39cc90f117edf9183d34e8ec255bbee3af7b021c72787e0e4c55099d0582680e153ed4907d2a950c9421da4b83036091
+
+# pseudorandom signature
+msg = 
+result = valid
+sig = 303c021c4408ea3b626ab23a391f941f93e1f2998efb4c2dc4ab6ccbf2f79b50021c0fa5ffbafb3943ff0c4e68408247f95343c4832bc01e5cd505685ef3
+
+# pseudorandom signature
+msg = 
+result = valid
+sig = 303d021d009f0659f0009e16c6a98e26f7479b7ed4268f28d9bd8806ca54a5d8e7021c43aa3fd3dfc50844e03f4ce9801d3a1023a8c4d0bd67149f437ae3a2
+
+# pseudorandom signature
+msg = 
+result = valid
+sig = 303d021d00b2f4f3ca7ce467a8928ee15b2672a30aad1d03f5271e9a0e7a52e233021c3e0f281a9d56fdfac280ac1eb799d3874115e773041d1e722fc36b67
+
+# pseudorandom signature
+msg = 
+result = valid
+sig = 303e021d00ed63abaa150741427c9810dbaadec1bf43c0ac36968146300c0b080d021d00febd4a3944f0ea30f0e9bb13d553e839b48ef721e598aa03db7638d5
+
+# pseudorandom signature
+msg = 
+result = valid
+sig = 303d021c340814eb8a132af8e8d6bc0836c0abcd6411e8d8930cf346c41de9ae021d00c8eefdb53796bcb54c59f3193ef858ebc92cebac9f0bb38c08284b4e
+
+# pseudorandom signature
+msg = 
+result = valid
+sig = 303d021d00cc75615f5415f8244fd42b518618b9734e3c5b1399507557f7834789021c7b68afe08887d34f1ce19942e4f3c5d99c20d0e15ba13adc287e5554
+
+# pseudorandom signature
+msg = 
+result = valid
+sig = 303d021d00f83bb419a391163c306b3e10c3bb5a029b428d560181c80e279498f3021c317446aa67bac1e52b6069e29e90f6df1737a61229600523e32f4e23
+
+# pseudorandom signature
+msg = 4d7367
+result = valid
+sig = 303d021d00b68da722bbba7f6a58417bb5d0dd88f40316fc628b0edfcb0f02b062021c5c742e330b6febadf9a12d58ba2a7199629457ef2e9e4cecd2f09f50
+
+# pseudorandom signature
+msg = 4d7367
+result = valid
+sig = 303d021c5df6b8389e40473ac6cb14330066887779a6aafbec652c9d3f42f4db021d00ce28e7b8f4a4d5263a10c20d615b3dbaad18b58de36625a485d77adb
+
+# pseudorandom signature
+msg = 4d7367
+result = valid
+sig = 303d021d00edd07a0529340b7e3ad39a37f7f7043cc560f605f2c14d5b6e7c4f63021c03cd4525a02091490b49645464040fac40d8a70ce49042b21f1a1b8e
+
+# pseudorandom signature
+msg = 4d7367
+result = valid
+sig = 303d021d00d32e7b5ebef67e442f086595e62d7f282c26b5618e50ae386de8efa9021c554e7c860e0e1db0080cd520c7fe745b72c540074fc610dc0e280520
+
+# pseudorandom signature
+msg = 4d7367
+result = valid
+sig = 303d021d00d1edaf4c0174197bf38b78b53c6ed7d8d3f16ab50379bc9c25e40536021c438bc07b8cfc3b8aa319e9d50153ca4bb6702071bbc01b687d48bd99
+
+# pseudorandom signature
+msg = 4d7367
+result = valid
+sig = 303e021d008bb29b81e2b348ab4f04156269f21e9ed74eada70e505faf8ee8519a021d008b9a30f30ea26c37bfe4f879939ed442523ff8ce0a3ceda97f3314e2
+
+# pseudorandom signature
+msg = 4d7367
+result = valid
+sig = 303d021c627cf63b5c30c55368d377cee6e8da5ccc265952b36eed5f2a7ccc0b021d008f76f6b9cfec6ad1bbb3e0b27ddadc7c3b35b6fd33a8302a75b0ee55
+
+# pseudorandom signature
+msg = 4d7367
+result = valid
+sig = 303c021c1d6b1e116413eae3d8975144d14bbab1db23dbc2254417973f8871a4021c7dfea6372066fce663a84ced6385ae63a4c5121d3ba6856208603ddf
+
+# pseudorandom signature
+msg = 4d7367
+result = valid
+sig = 303d021c1e93ab2e3b2249bcc89c326d709ddaa568320cf8598c3ee0d69aa674021d00ee64abd080c4f31311b5c1ff081f3131a1d76e292f23e1f8602a3dff
+
+# pseudorandom signature
+msg = 4d7367
+result = valid
+sig = 303c021c76ab1b4c88eb4985ed345b5e3abf06ddc8c3f34c0d0e1b393a76ce85021c523ce0669a34b629b6e13a9f8b0fa6c5a6514e1267077df420ab3b88
+
+# pseudorandom signature
+msg = 313233343030
+result = valid
+sig = 303c021c01ec1ff15c8a55d697a5424d674753f82f711593828368d2fbb41a17021c20d9089db7baf46b8135e17e01645e732d22d5adb20e3772da740eee
+
+# pseudorandom signature
+msg = 313233343030
+result = valid
+sig = 303c021c5af925948bda1fe510456cf27ce65b6d3ad17dd6d511600fad58aacf021c2eb0a3cf8b5e0b73239eb053a5a78ab8af78397062d06f8dbda2eb17
+
+# pseudorandom signature
+msg = 313233343030
+result = valid
+sig = 303c021c070fa48e5307b660cfa9e66a0ab98959ec3dcc3ac5e1b1dff1064087021c028926a511087943333f6fa336b235792b6f64ee3f5f594a7c3f6d2c
+
+# pseudorandom signature
+msg = 313233343030
+result = valid
+sig = 303d021d00bcfbb22ed79dd2ee8ae602dde144a63f9fa68f8f9b71b5994ac8f17b021c27c9c1494081d99a2708b02196eb9581b0b4147d00f3ae3089cc6d7a
+
+# pseudorandom signature
+msg = 313233343030
+result = valid
+sig = 303d021d00a914df6f841ef05491827d92e55148a5c71c687c89dccbfdfd6eddfc021c7316b41eecbff1dd0fafdeb8b717e3f91aceeb2c22cb25023ee2af0b
+
+# pseudorandom signature
+msg = 313233343030
+result = valid
+sig = 303e021d00a72fc403de3dab1cf179f630940cfd990702969160d7bdf5c47a12a0021d00c2b0a943e45dbd0ffe6a4e31eab8099cd940c02d415041c149f24308
+
+# pseudorandom signature
+msg = 313233343030
+result = valid
+sig = 303d021c23ae9b89bbddbc88815c39e6f5969cce536caf36547b19d286fd868d021d00df9f9b611e22facb95e599bbca556f943739d5110678883c27d89c4d
+
+# pseudorandom signature
+msg = 313233343030
+result = valid
+sig = 303d021c356c7d340cfbd7205d466872524b1585d8659c43532fad657352f420021d00bc54e0b4c6f878e6052058ef4cbadefe3b4299993df773277bc32e5c
+
+# pseudorandom signature
+msg = 313233343030
+result = valid
+sig = 303d021d0086f4ab774e4e5d8705eaeff1f464da1774c177defcf4799656606b85021c3e03ea07272bad191989244af4230c275657c13258b77f9241caf7e6
+
+# pseudorandom signature
+msg = 313233343030
+result = valid
+sig = 303c021c1bde22394310f2f3139a51406c05ef6b553cd72b3520c824eb0ba4e6021c379d85d4a88357b77fc418c1e4a2525e964415605b7a5ca5018c7662
+
+# pseudorandom signature
+msg = 0000000000000000000000000000000000000000
+result = valid
+sig = 303c021c3e46e9ba4dc089ff30fa8c0209c31b11ff49dbeec090f9f53c000c75021c6f2e3b36369416602bca83206809ed898fcf158a56c25a5474143f68
+
+# pseudorandom signature
+msg = 0000000000000000000000000000000000000000
+result = valid
+sig = 303d021c6464668eeb6f693262fa4449dfffa86d346a2d11521d196214158666021d009ba2b14539efc3c884515e5bcf794c27a00ccbff01297a45dc444693
+
+# pseudorandom signature
+msg = 0000000000000000000000000000000000000000
+result = valid
+sig = 303c021c50b504b81612583ebecc4317a24ea4f7527d246ae1bee6c0157452f8021c0df691ff8b33d71c8b96bd246328ebd3a2f91d2be2ade9a7c2643cbf
+
+# pseudorandom signature
+msg = 0000000000000000000000000000000000000000
+result = valid
+sig = 303d021d00e14a319fd627669f24ce1a51f7ec2333da3b2c3de62c3aaf2b02e76b021c7845a14342c67c2f1ccd0a8a3a34ca0f382386964cd4c07360dd7bf8
+
+# pseudorandom signature
+msg = 0000000000000000000000000000000000000000
+result = valid
+sig = 303b021c098c7a8a3b6c5659e7a013efbd8e907935d0606b6c2a868455abf489021b7730907f494e81ddceb19215fa7e9398e7aa9144ac74d9fbf8c519
+
+# pseudorandom signature
+msg = 0000000000000000000000000000000000000000
+result = valid
+sig = 303e021d009e5db35801390400d1c6d496ba9d9ff5fddb688bdad6c8144d12e3b4021d00f8a618180b6b76c9bd837a67547a826c3cf270be1f2f50af690b8285
+
+# pseudorandom signature
+msg = 0000000000000000000000000000000000000000
+result = valid
+sig = 303e021d00f1b4f951e32e2ae47b776cdb87654cb18b74106d6b81f29e4d98f3cc021d00f1ea4b08a530d55982eb4a895d28f75fc2b831d7e46fd835bf8d8a33
+
+# pseudorandom signature
+msg = 0000000000000000000000000000000000000000
+result = valid
+sig = 303c021c50e80890e6b9b25b1aae3f8ddbc48026f57ad0f117694b0377bf4b9e021c7e804b9aaeb1df008cb3ac44f54d7d9ff159ca37d7f869a642c65eb6
+
+# pseudorandom signature
+msg = 0000000000000000000000000000000000000000
+result = valid
+sig = 303e021d00bdd75697eeb16df9b85ba07a14bcd200997a64bf1ec12e6e24bbe81b021d00d6f8396d399baa426c70d9cf00f1e392281755bff240752ca544e433
+
+# pseudorandom signature
+msg = 0000000000000000000000000000000000000000
+result = valid
+sig = 303d021c36766ad3607b8b63a4d7ce4132b46c90c8b99f44afb589720efffe4d021d00ded14db5945f5f84ba235f8eb2ada604ae8a9cf92527f692bf066629
+
+[key.curve = secp224r1]
+[key.keySize = 224]
+[key.type = ECPublicKey]
+[key.wx = 0aed6fcad2400c4d94e55dbb6b012ce3d4c2b46843fbe99d4289e6ecf]
+[key.wy = 08a24a89e71343d7d151d258d2cb690349c2d56b366dd10a600000000]
+[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004aed6fcad2400c4d94e55dbb6b012ce3d4c2b46843fbe99d4289e6ecf8a24a89e71343d7d151d258d2cb690349c2d56b366dd10a600000000]
+[sha = SHA-224]
+
+# y-coordinate of the public key has many trailing 0's
+msg = 4d657373616765
+result = valid
+sig = 303d021c77b38da37079d27b837613ac3e8248d66eabd5d637076c8e62c7991e021d00d40cd9f81efc52db4429c0c1af7c1d8a22b6c7babbe7fbd8b5b3f02f
+
+# y-coordinate of the public key has many trailing 0's
+msg = 4d657373616765
+result = valid
+sig = 303d021d008c03b32c166c0c8b99d7f876acd109447efb13f6b82945e78d51a269021c657568f1a0a8bd7df5ffa43097ebb2b64435c8e3335bcaafc63f9ed5
+
+# y-coordinate of the public key has many trailing 0's
+msg = 4d657373616765
+result = valid
+sig = 303d021d00d199a375253d30f1d2b4493542e9934f9f1f8b0680117679f5bc4ad2021c11419ddbf02c8ad5f518f8dac33f86a85e777af51a034132e2767a6d
+
+[key.curve = secp224r1]
+[key.keySize = 224]
+[key.type = ECPublicKey]
+[key.wx = 0bf19ecfe43ffe289f699f479316145b9a7f7370b9ece5ab1212174f1]
+[key.wy = 73d528949ae9142f818bade71a960407963be0b6482a6a60ffffffff]
+[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004bf19ecfe43ffe289f699f479316145b9a7f7370b9ece5ab1212174f173d528949ae9142f818bade71a960407963be0b6482a6a60ffffffff]
+[sha = SHA-224]
+
+# y-coordinate of the public key has many trailing 1's
+msg = 4d657373616765
+result = valid
+sig = 303d021d008ff82699e2e82870be9cfdd8a408bb34f8f38a83a4ac8370f18f2bc8021c7e5008fab6a0d4159200077ef9918dad6592cd8359838852c636ac05
+
+# y-coordinate of the public key has many trailing 1's
+msg = 4d657373616765
+result = valid
+sig = 303d021c3f3b60b529ae0f950c517264adf2e481616bc47416742d5103589660021d00f731ebe98e58384b3a64b4696d4cc9619828ad51d7c39980749709a6
+
+# y-coordinate of the public key has many trailing 1's
+msg = 4d657373616765
+result = valid
+sig = 303d021d00dc11ffdc6b78754a335f168c4033916a2158d125a3f4fed9dc736661021c6dd84364717d9f4b0790f2b282f9245ecb316874eac025600397f109
+
+[key.curve = secp224r1]
+[key.keySize = 224]
+[key.type = ECPublicKey]
+[key.wx = 26e5abf135cb54eaaa16b69e4b0b292275344e88a09df6df80000000]
+[key.wy = 0eab891de54e3f26ff50ab989f333dac551583d468ae623c596434af0]
+[keyDer = 304e301006072a8648ce3d020106052b81040021033a000426e5abf135cb54eaaa16b69e4b0b292275344e88a09df6df80000000eab891de54e3f26ff50ab989f333dac551583d468ae623c596434af0]
+[sha = SHA-224]
+
+# x-coordinate of the public key has many trailing 0's
+msg = 4d657373616765
+result = valid
+sig = 303e021d00a59b25b786d55f26b04dfe90ee02a6bde64ed6e431dc9fbdc3ab360e021d00fc14b5ad20f39da9900e35437936c8626fccf6632e7a3d9e587e3311
+
+# x-coordinate of the public key has many trailing 0's
+msg = 4d657373616765
+result = valid
+sig = 303d021c2eda1f96c1a6e3ad8a3321ce82cbb13a5b935b501abf6c06f7fd2b3f021d00e81050c3e5f53a3c7b9d0bdb9ed92a326dfeac44791ba1abe4d6e973
+
+# x-coordinate of the public key has many trailing 0's
+msg = 4d657373616765
+result = valid
+sig = 303d021c60f5e093fda08fc14ac99d820a18ad1370c58150bea0aca24fc6db9d021d00c2220a0ebbf4896e68fdb5bd824f88291c1c862b916f9c4af87f8f5f
+
+[key.curve = secp224r1]
+[key.keySize = 224]
+[key.type = ECPublicKey]
+[key.wx = 0ec627f345545d03f8c6dbd08e575527116567fe375f9ecaaffffffff]
+[key.wy = 41bf705697d5f716bcf78718d5393b63a98691f4a1f24246375538fd]
+[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004ec627f345545d03f8c6dbd08e575527116567fe375f9ecaaffffffff41bf705697d5f716bcf78718d5393b63a98691f4a1f24246375538fd]
+[sha = SHA-224]
+
+# x-coordinate of the public key has many trailing 1's
+msg = 4d657373616765
+result = valid
+sig = 303d021c2ead37846a5e36a490b75140bdc7b636c6e9f6d8f980f6fadb08f769021d00e1fe130ae1798c196d7be62c7a5ddb3168cf4b8d48b6b6b4dc94ab3b
+
+# x-coordinate of the public key has many trailing 1's
+msg = 4d657373616765
+result = valid
+sig = 303d021d00a8a4c9416d72c860573d073281cb08c86ad65313f06b15a329e82eb2021c5a6edd2f0816b7263d915d72c67d50a854e3abee5cde1b679a0cef09
+
+# x-coordinate of the public key has many trailing 1's
+msg = 4d657373616765
+result = valid
+sig = 303c021c576bb86c517bfecdc930a4c8501725548d425afbb96d93f5c1e2a0e1021c77248c5ecd620c431438c50e6bee6858091b54a87f8548ae35c21027
+
+[key.curve = secp224r1]
+[key.keySize = 224]
+[key.type = ECPublicKey]
+[key.wx = 15016e52b36472d536477605fb805dd3903082a062d1ea30af9e555a]
+[key.wy = 762d28f1fdc219184f81681fbff566d465b5f1f31e872df5]
+[keyDer = 304e301006072a8648ce3d020106052b81040021033a000415016e52b36472d536477605fb805dd3903082a062d1ea30af9e555a00000000762d28f1fdc219184f81681fbff566d465b5f1f31e872df5]
+[sha = SHA-224]
+
+# y-coordinate of the public key is small
+msg = 4d657373616765
+result = valid
+sig = 303d021c34e41cba628fd8787ba1a528f6015d2cae015c1c9a866e08a7133801021d0083d422ffdd99cc3c6d7096ef927f0b11988d1824e6e93840ff666ccd
+
+# y-coordinate of the public key is small
+msg = 4d657373616765
+result = valid
+sig = 303c021c2558a42e79689244bccd5e855f6a1e42b4ff726873f30b532b89ef53021c07f9bd947785187175d848b6e2d79f7ab3bbc1087b42590b0cfb256a
+
+# y-coordinate of the public key is small
+msg = 4d657373616765
+result = valid
+sig = 303e021d00d5fe7dd5fb4fd1ea5ce66c0824f53f96ce47fd9b6c63b4d57827fd17021d00bce5bc3af705afaacb81bfa6d552d6198962fece9fba41546c602ddc
+
+[key.curve = secp224r1]
+[key.keySize = 224]
+[key.type = ECPublicKey]
+[key.wx = 15016e52b36472d536477605fb805dd3903082a062d1ea30af9e555a]
+[key.wy = 0ffffffff89d2d70e023de6e7b07e97df400a992b9a4a0e0ce178d20c]
+[keyDer = 304e301006072a8648ce3d020106052b81040021033a000415016e52b36472d536477605fb805dd3903082a062d1ea30af9e555affffffff89d2d70e023de6e7b07e97df400a992b9a4a0e0ce178d20c]
+[sha = SHA-224]
+
+# y-coordinate of the public key is large
+msg = 4d657373616765
+result = valid
+sig = 303d021d008c1da2f07cdcbce4db8067b863468cfc728df52980229028689e57b6021c32175c1390a4b2cab6359bab9f854957d4fd7976c9c6d920c871c051
+
+# y-coordinate of the public key is large
+msg = 4d657373616765
+result = valid
+sig = 303e021d00e46d4f11b86b5a12f6fe781d1f934ef2b30e78f6f9cc86a9996e20c0021d008351974b965526034a0ccef0e7d3bc13d91798151488c91533143f7b
+
+# y-coordinate of the public key is large
+msg = 4d657373616765
+result = valid
+sig = 303c021c305ccf0b5d0cf33dc745bb7c7964c233f6cfd8892a1c1ae9f50b2f3f021c785f6e85f5e652587c6e15d0c45c427278cf65bb1429a57d8826ca39
+
+[key.curve = secp224r1]
+[key.keySize = 224]
+[key.type = ECPublicKey]
+[key.wx = 0f7e4713d085112112c37cdf4601ff688da796016b71a727a]
+[key.wy = 0de5a9ec165054cc987f9dc87e9991b92e4fa649ca655eeae9f2a30e1]
+[keyDer = 304e301006072a8648ce3d020106052b81040021033a000400000000f7e4713d085112112c37cdf4601ff688da796016b71a727ade5a9ec165054cc987f9dc87e9991b92e4fa649ca655eeae9f2a30e1]
+[sha = SHA-224]
+
+# x-coordinate of the public key is small
+msg = 4d657373616765
+result = valid
+sig = 303d021c0e4fde0ac8d37536505f7b8bdc2d22c5c334b064ac5ed27bea9c179e021d00c4d6bf829dd547000d6f70b9ad9e9c1503bebcf1d95c2608942ca19d
+
+# x-coordinate of the public key is small
+msg = 4d657373616765
+result = valid
+sig = 303e021d00818afcaf491da9d08a7cc29318d5e85dce568dcca7018059f44e9b7e021d00bf32a233d5fc6ed8e2d9270b1bdad4bbd2a0f2c293d289bd91ffbcf3
+
+# x-coordinate of the public key is small
+msg = 4d657373616765
+result = valid
+sig = 303c021c0e05ed675c673e5e70a4fdd5a47b114c5d542d4f6d7a367597d713ea021c26d70d65c48430373363987810bdcc556e02718eab214403ae008db4
+
+[key.curve = secp224r1]
+[key.keySize = 224]
+[key.type = ECPublicKey]
+[key.wx = 0ffffffffeadf7cee8d34d04cf22c8f7de35674fb2f501d242a76f725]
+[key.wy = 086c409309d398e60ce1e0a4c9e05a9d32627577e8ce2cc7f3afa2c3e]
+[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004ffffffffeadf7cee8d34d04cf22c8f7de35674fb2f501d242a76f72586c409309d398e60ce1e0a4c9e05a9d32627577e8ce2cc7f3afa2c3e]
+[sha = SHA-224]
+
+# x-coordinate of the public key is large
+msg = 4d657373616765
+result = valid
+sig = 303e021d00ab7a19eecf63e9668278963b65236b2768e57cae0e268cb86a0ddda1021d008829f5d3a3394f9467ba62e66ef1768e3e54f93ed23ec962bc443c2e
+
+# x-coordinate of the public key is large
+msg = 4d657373616765
+result = valid
+sig = 303d021c17111a77cf79bead456ed86a7d8a935531440281eb8b15a885e341c0021d00fdc3958d04f037b1d4bb2cee307b5201be062e0d4e089df1c1917668
+
+# x-coordinate of the public key is large
+msg = 4d657373616765
+result = valid
+sig = 303d021d00acafa1e33345eeba0c338c2204b4cd8ba21de7ec3e1213317038e968021c0b42fbbaeda98a35da0de4c79546f3a0f7d9dec275d2cd671f93c874
+
+[key.curve = secp224r1]
+[key.keySize = 224]
+[key.type = ECPublicKey]
+[key.wx = 0b0013c6fbff6f09fecda1c263ef65399d4cf989ca5fc4f8fff0fe9e1]
+[key.wy = 0e2ab0e8495e859eb2afb00769d6e7fe626a119167c0b6bc]
+[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004b0013c6fbff6f09fecda1c263ef65399d4cf989ca5fc4f8fff0fe9e1000000000e2ab0e8495e859eb2afb00769d6e7fe626a119167c0b6bc]
+[sha = SHA-224]
+
+# y-coordinate of the public key is small
+msg = 4d657373616765
+result = valid
+sig = 303d021d00a3fe71a2a56f554e98fd10a8098c2a543c98bc6b3602ef39f2412308021c5d1d68f9a870ef2bc87484b3386549fae95811ab72bc0e3a514720da
+
+# y-coordinate of the public key is small
+msg = 4d657373616765
+result = valid
+sig = 303d021c132f7625704756c13f2bfa449e60952f836f4904660b5b1da07e5a9f021d0082b4abafc40e8fd19b0c967f02fff152737ce01153658df445c4d7b7
+
+# y-coordinate of the public key is small
+msg = 4d657373616765
+result = valid
+sig = 303e021d00f36a8347c6fe0397a1161a364cbc4bdfb4d8b7894cbaa6edc55a4ff7021d009c9c90515da5e602d62e99f48eac414e913dd0b7cbf680c1a5399952
+
+[key.curve = secp224r1]
+[key.keySize = 224]
+[key.type = ECPublicKey]
+[key.wx = 0b0013c6fbff6f09fecda1c263ef65399d4cf989ca5fc4f8fff0fe9e1]
+[key.wy = 0fffffffff1d54f17b6a17a614d504ff7962918019d95ee6e983f4945]
+[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004b0013c6fbff6f09fecda1c263ef65399d4cf989ca5fc4f8fff0fe9e1fffffffff1d54f17b6a17a614d504ff7962918019d95ee6e983f4945]
+[sha = SHA-224]
+
+# y-coordinate of the public key is large
+msg = 4d657373616765
+result = valid
+sig = 303d021c2125ecc08e52e9e39e590117de2145bd879626cb87180e52e9d3ce03021d008f7e838d0e8fb80005fe3c72fca1b7cc08ed321a34487896b0c90b04
+
+# y-coordinate of the public key is large
+msg = 4d657373616765
+result = valid
+sig = 303e021d00e485747ac2f3d045e010cdadab4fd5dbd5556c0008445fb73e07cd90021d00e2133a7906aeac504852e09e6d057f29ab21368cfc4e2394be565e68
+
+# y-coordinate of the public key is large
+msg = 4d657373616765
+result = valid
+sig = 303d021d00a4de0d931ddab90e667ebc0ad800ce49e971c60543abdc46cefff926021c550816170bd87593b9fb8ad5ed9ab4ddb12403ff6fe032252833bac4
+
diff --git a/third_party/wycheproof/ecdsa_secp224r1_sha256_test.txt b/third_party/wycheproof/ecdsa_secp224r1_sha256_test.txt
new file mode 100644
index 0000000..2868b6c
--- /dev/null
+++ b/third_party/wycheproof/ecdsa_secp224r1_sha256_test.txt
@@ -0,0 +1,2324 @@
+# Imported from Wycheproof's ecdsa_secp224r1_sha256_test.json.
+# This file is generated by convert_wycheproof.go. Do not edit by hand.
+#
+# Algorithm: ECDSA
+# Generator version: 0.4
+
+[key.curve = secp224r1]
+[key.keySize = 224]
+[key.type = ECPublicKey]
+[key.wx = 0eada93be10b2449e1e8bb58305d52008013c57107c1a20a317a6cba7]
+[key.wy = 0eca672340c03d1d2e09663286691df55069fa25490c9dd9f9c0bb2b5]
+[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004eada93be10b2449e1e8bb58305d52008013c57107c1a20a317a6cba7eca672340c03d1d2e09663286691df55069fa25490c9dd9f9c0bb2b5]
+[sha = SHA-256]
+
+# signature malleability
+msg = 313233343030
+result = valid
+sig = 303d021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021d009e82950ebe102f37ff3645cc7d3c1bab8864e5e03a5011eeba8150bc
+
+# random signature
+msg = 313233343030
+result = valid
+sig = 303d021c684caf7bdbcd579b1d8a17591e98630040e1bda6d6d5780af206a0b9021d00c006293694f152d326ba30011d95554d09189c7735b26068c5101c0d
+
+# random signature
+msg = 313233343030
+result = valid
+sig = 303e021d008f59422c1b4482269602cd7486aee41817a36c64d232fc411f3a1d09021d00d61e33aaaa743e2d10f55c302318c41d2236b2478a4f85fca09319fd
+
+# random signature
+msg = 313233343030
+result = valid
+sig = 303e021d008c451662a222b7ed1d4e55744761bc47b8015e570e9b5390b56adf4e021d00acbe66d485b3c9cba373401f8e37fb4ff3c12bc6302cd7f8a6a65ebb
+
+# random signature
+msg = 313233343030
+result = valid
+sig = 303e021d00d269d4150eb8ba7d590f35c6ad28e015d2f8cc4474c3b28d6d2c4af8021d00add458ae2267a4b3aba251104cc7b5d82c9aed339f4856b2e8397096
+
+# random signature
+msg = 313233343030
+result = valid
+sig = 303e021d00df70013e990003e109e47b31e517715cd40628fe461c690b5447abff021d00838b89938718900c0b572545d4c556f9c00e46b0da22ae3840cb03e6
+
+# valid
+msg = 313233343030
+result = valid
+sig = 303c021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981
+
+# long form encoding of length
+msg = 313233343030
+result = invalid
+sig = 30813c021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981
+
+# long form encoding of length
+msg = 313233343030
+result = invalid
+sig = 303d02811c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981
+
+# long form encoding of length
+msg = 313233343030
+result = invalid
+sig = 303d021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a0402811c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981
+
+# length contains leading 0
+msg = 313233343030
+result = invalid
+sig = 3082003c021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981
+
+# length contains leading 0
+msg = 313233343030
+result = invalid
+sig = 303e0282001c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981
+
+# length contains leading 0
+msg = 313233343030
+result = invalid
+sig = 303e021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a040282001c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981
+
+# wrong length
+msg = 313233343030
+result = invalid
+sig = 303d021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981
+
+# wrong length
+msg = 313233343030
+result = invalid
+sig = 303b021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981
+
+# wrong length
+msg = 313233343030
+result = invalid
+sig = 303c021d3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981
+
+# wrong length
+msg = 313233343030
+result = invalid
+sig = 303c021b3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981
+
+# wrong length
+msg = 313233343030
+result = invalid
+sig = 303c021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021d617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981
+
+# wrong length
+msg = 313233343030
+result = invalid
+sig = 303c021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021b617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981
+
+# uint32 overflow in length
+msg = 313233343030
+result = invalid
+sig = 3085010000003c021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981
+
+# uint32 overflow in length
+msg = 313233343030
+result = invalid
+sig = 30410285010000001c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981
+
+# uint32 overflow in length
+msg = 313233343030
+result = invalid
+sig = 3041021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a040285010000001c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981
+
+# uint64 overflow in length
+msg = 313233343030
+result = invalid
+sig = 308901000000000000003c021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981
+
+# uint64 overflow in length
+msg = 313233343030
+result = invalid
+sig = 3045028901000000000000001c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981
+
+# uint64 overflow in length
+msg = 313233343030
+result = invalid
+sig = 3045021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04028901000000000000001c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981
+
+# length = 2**31 - 1
+msg = 313233343030
+result = invalid
+sig = 30847fffffff021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981
+
+# length = 2**31 - 1
+msg = 313233343030
+result = invalid
+sig = 304002847fffffff3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981
+
+# length = 2**31 - 1
+msg = 313233343030
+result = invalid
+sig = 3040021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a0402847fffffff617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981
+
+# length = 2**32 - 1
+msg = 313233343030
+result = invalid
+sig = 3084ffffffff021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981
+
+# length = 2**32 - 1
+msg = 313233343030
+result = invalid
+sig = 30400284ffffffff3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981
+
+# length = 2**32 - 1
+msg = 313233343030
+result = invalid
+sig = 3040021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a040284ffffffff617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981
+
+# length = 2**40 - 1
+msg = 313233343030
+result = invalid
+sig = 3085ffffffffff021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981
+
+# length = 2**40 - 1
+msg = 313233343030
+result = invalid
+sig = 30410285ffffffffff3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981
+
+# length = 2**40 - 1
+msg = 313233343030
+result = invalid
+sig = 3041021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a040285ffffffffff617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981
+
+# length = 2**64 - 1
+msg = 313233343030
+result = invalid
+sig = 3088ffffffffffffffff021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981
+
+# length = 2**64 - 1
+msg = 313233343030
+result = invalid
+sig = 30440288ffffffffffffffff3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981
+
+# length = 2**64 - 1
+msg = 313233343030
+result = invalid
+sig = 3044021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a040288ffffffffffffffff617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981
+
+# incorrect length
+msg = 313233343030
+result = invalid
+sig = 30ff021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981
+
+# incorrect length
+msg = 313233343030
+result = invalid
+sig = 303c02ff3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981
+
+# incorrect length
+msg = 313233343030
+result = invalid
+sig = 303c021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a0402ff617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981
+
+# indefinite length without termination
+msg = 313233343030
+result = invalid
+sig = 3080021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981
+
+# indefinite length without termination
+msg = 313233343030
+result = invalid
+sig = 303c02803ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981
+
+# indefinite length without termination
+msg = 313233343030
+result = invalid
+sig = 303c021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a040280617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981
+
+# removing sequence
+msg = 313233343030
+result = invalid
+sig = 
+
+# appending 0's to sequence
+msg = 313233343030
+result = invalid
+sig = 303e021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad9810000
+
+# prepending 0's to sequence
+msg = 313233343030
+result = invalid
+sig = 303e0000021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981
+
+# appending unused 0's
+msg = 313233343030
+result = invalid
+sig = 303c021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad9810000
+
+# appending unused 0's
+msg = 313233343030
+result = invalid
+sig = 303e021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a040000021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981
+
+# appending null value
+msg = 313233343030
+result = invalid
+sig = 303e021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad9810500
+
+# appending null value
+msg = 313233343030
+result = invalid
+sig = 303e021e3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a040500021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981
+
+# appending null value
+msg = 313233343030
+result = invalid
+sig = 303e021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021e617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad9810500
+
+# including garbage
+msg = 313233343030
+result = invalid
+sig = 3041498177303c021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981
+
+# including garbage
+msg = 313233343030
+result = invalid
+sig = 30402500303c021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981
+
+# including garbage
+msg = 313233343030
+result = invalid
+sig = 303e303c021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad9810004deadbeef
+
+# including garbage
+msg = 313233343030
+result = invalid
+sig = 30412221498177021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981
+
+# including garbage
+msg = 313233343030
+result = invalid
+sig = 304022202500021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981
+
+# including garbage
+msg = 313233343030
+result = invalid
+sig = 3044221e021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a040004deadbeef021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981
+
+# including garbage
+msg = 313233343030
+result = invalid
+sig = 3041021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a042221498177021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981
+
+# including garbage
+msg = 313233343030
+result = invalid
+sig = 3040021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a0422202500021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981
+
+# including garbage
+msg = 313233343030
+result = invalid
+sig = 3044021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04221e021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad9810004deadbeef
+
+# including undefined tags
+msg = 313233343030
+result = invalid
+sig = 3044aa00bb00cd00303c021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981
+
+# including undefined tags
+msg = 313233343030
+result = invalid
+sig = 3042aa02aabb303c021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981
+
+# including undefined tags
+msg = 313233343030
+result = invalid
+sig = 30442224aa00bb00cd00021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981
+
+# including undefined tags
+msg = 313233343030
+result = invalid
+sig = 30422222aa02aabb021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981
+
+# including undefined tags
+msg = 313233343030
+result = invalid
+sig = 3044021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a042224aa00bb00cd00021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981
+
+# including undefined tags
+msg = 313233343030
+result = invalid
+sig = 3042021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a042222aa02aabb021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981
+
+# using composition with indefinite length
+msg = 313233343030
+result = invalid
+sig = 3080303c021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad9810000
+
+# using composition with indefinite length
+msg = 313233343030
+result = invalid
+sig = 30402280021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a040000021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981
+
+# using composition with indefinite length
+msg = 313233343030
+result = invalid
+sig = 3040021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a042280021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad9810000
+
+# using composition with wrong tag
+msg = 313233343030
+result = invalid
+sig = 3080313c021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad9810000
+
+# using composition with wrong tag
+msg = 313233343030
+result = invalid
+sig = 30402280031c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a040000021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981
+
+# using composition with wrong tag
+msg = 313233343030
+result = invalid
+sig = 3040021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a042280031c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad9810000
+
+# Replacing sequence with NULL
+msg = 313233343030
+result = invalid
+sig = 0500
+
+# changing tag value
+msg = 313233343030
+result = invalid
+sig = 2e3c021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981
+
+# changing tag value
+msg = 313233343030
+result = invalid
+sig = 2f3c021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981
+
+# changing tag value
+msg = 313233343030
+result = invalid
+sig = 313c021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981
+
+# changing tag value
+msg = 313233343030
+result = invalid
+sig = 323c021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981
+
+# changing tag value
+msg = 313233343030
+result = invalid
+sig = ff3c021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981
+
+# changing tag value
+msg = 313233343030
+result = invalid
+sig = 303c001c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981
+
+# changing tag value
+msg = 313233343030
+result = invalid
+sig = 303c011c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981
+
+# changing tag value
+msg = 313233343030
+result = invalid
+sig = 303c031c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981
+
+# changing tag value
+msg = 313233343030
+result = invalid
+sig = 303c041c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981
+
+# changing tag value
+msg = 313233343030
+result = invalid
+sig = 303cff1c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981
+
+# changing tag value
+msg = 313233343030
+result = invalid
+sig = 303c021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04001c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981
+
+# changing tag value
+msg = 313233343030
+result = invalid
+sig = 303c021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04011c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981
+
+# changing tag value
+msg = 313233343030
+result = invalid
+sig = 303c021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04031c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981
+
+# changing tag value
+msg = 313233343030
+result = invalid
+sig = 303c021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04041c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981
+
+# changing tag value
+msg = 313233343030
+result = invalid
+sig = 303c021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04ff1c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981
+
+# dropping value of sequence
+msg = 313233343030
+result = invalid
+sig = 3000
+
+# using composition
+msg = 313233343030
+result = invalid
+sig = 3040300102303b1c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981
+
+# using composition
+msg = 313233343030
+result = invalid
+sig = 3040222002013a021bde5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981
+
+# using composition
+msg = 313233343030
+result = invalid
+sig = 3040021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a042220020161021b7d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981
+
+# truncate sequence
+msg = 313233343030
+result = invalid
+sig = 303b021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad9
+
+# truncate sequence
+msg = 313233343030
+result = invalid
+sig = 303b1c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981
+
+# indefinite length
+msg = 313233343030
+result = invalid
+sig = 3080021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad9810000
+
+# indefinite length with truncated delimiter
+msg = 313233343030
+result = invalid
+sig = 3080021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad98100
+
+# indefinite length with additional element
+msg = 313233343030
+result = invalid
+sig = 3080021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad98105000000
+
+# indefinite length with truncated element
+msg = 313233343030
+result = invalid
+sig = 3080021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981060811220000
+
+# indefinite length with garbage
+msg = 313233343030
+result = invalid
+sig = 3080021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad9810000fe02beef
+
+# indefinite length with nonempty EOC
+msg = 313233343030
+result = invalid
+sig = 3080021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad9810002beef
+
+# prepend empty sequence
+msg = 313233343030
+result = invalid
+sig = 303e3000021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981
+
+# append empty sequence
+msg = 313233343030
+result = invalid
+sig = 303e021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad9813000
+
+# sequence of sequence
+msg = 313233343030
+result = invalid
+sig = 303e303c021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981
+
+# truncated sequence
+msg = 313233343030
+result = invalid
+sig = 301e021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04
+
+# repeat element in sequence
+msg = 313233343030
+result = invalid
+sig = 305a021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981
+
+# removing integer
+msg = 313233343030
+result = invalid
+sig = 301e021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981
+
+# appending 0's to integer
+msg = 313233343030
+result = invalid
+sig = 303e021e3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a040000021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981
+
+# appending 0's to integer
+msg = 313233343030
+result = invalid
+sig = 303e021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021e617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad9810000
+
+# prepending 0's to integer
+msg = 313233343030
+result = invalid
+sig = 303e021e00003ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981
+
+# prepending 0's to integer
+msg = 313233343030
+result = invalid
+sig = 303e021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021e0000617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981
+
+# Replacing integer with NULL
+msg = 313233343030
+result = invalid
+sig = 30200500021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981
+
+# Replacing integer with NULL
+msg = 313233343030
+result = invalid
+sig = 3020021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a040500
+
+# dropping value of integer
+msg = 313233343030
+result = invalid
+sig = 30200200021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981
+
+# dropping value of integer
+msg = 313233343030
+result = invalid
+sig = 3020021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a040200
+
+# modify first byte of integer
+msg = 313233343030
+result = invalid
+sig = 303c021c38de5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981
+
+# modify first byte of integer
+msg = 313233343030
+result = invalid
+sig = 303c021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c637d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981
+
+# modify last byte of integer
+msg = 313233343030
+result = invalid
+sig = 303c021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a84021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981
+
+# modify last byte of integer
+msg = 313233343030
+result = invalid
+sig = 303c021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad901
+
+# truncate integer
+msg = 313233343030
+result = invalid
+sig = 303b021b3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981
+
+# truncate integer
+msg = 313233343030
+result = invalid
+sig = 303b021bde5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981
+
+# truncate integer
+msg = 313233343030
+result = invalid
+sig = 303b021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021b617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad9
+
+# truncate integer
+msg = 313233343030
+result = invalid
+sig = 303b021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021b7d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981
+
+# leading ff in integer
+msg = 313233343030
+result = invalid
+sig = 303d021dff3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981
+
+# leading ff in integer
+msg = 313233343030
+result = invalid
+sig = 303d021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021dff617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981
+
+# infinity
+msg = 313233343030
+result = invalid
+sig = 3021090180021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981
+
+# infinity
+msg = 313233343030
+result = invalid
+sig = 3021021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04090180
+
+# Modified r or s, e.g. by adding or subtracting the order of the group
+msg = 313233343030
+result = invalid
+sig = 303d021d013ade5c0624a5677ed7b6450d941fd283098d8a004fc718e2e7e6b441021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981
+
+# Modified r or s, e.g. by adding or subtracting the order of the group
+msg = 313233343030
+result = invalid
+sig = 303d021dff3ade5c0624a5677ed7b6450d9421a53d481ba984280cc6582f2e5fc7021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981
+
+# Modified r or s, e.g. by adding or subtracting the order of the group
+msg = 313233343030
+result = invalid
+sig = 303c021cc521a3f9db5a98812849baf26bdf441fd72b663dc4161062747575fc021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981
+
+# Modified r or s, e.g. by adding or subtracting the order of the group
+msg = 313233343030
+result = invalid
+sig = 303d021d00c521a3f9db5a98812849baf26bde5ac2b7e4567bd7f339a7d0d1a039021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981
+
+# Modified r or s, e.g. by adding or subtracting the order of the group
+msg = 313233343030
+result = invalid
+sig = 303d021dfec521a3f9db5a98812849baf26be02d7cf67275ffb038e71d18194bbf021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981
+
+# Modified r or s, e.g. by adding or subtracting the order of the group
+msg = 313233343030
+result = invalid
+sig = 303d021d013ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981
+
+# Modified r or s, e.g. by adding or subtracting the order of the group
+msg = 313233343030
+result = invalid
+sig = 303d021d00c521a3f9db5a98812849baf26bdf441fd72b663dc4161062747575fc021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981
+
+# Modified r or s, e.g. by adding or subtracting the order of the group
+msg = 313233343030
+result = invalid
+sig = 303d021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021d01617d6af141efd0c800c9ba3382c2119a390cfa9bed6a409bfe3703be
+
+# Modified r or s, e.g. by adding or subtracting the order of the group
+msg = 313233343030
+result = invalid
+sig = 303d021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021dff617d6af141efd0c800c9ba3382c3e454779b1a1fc5afee11457eaf44
+
+# Modified r or s, e.g. by adding or subtracting the order of the group
+msg = 313233343030
+result = invalid
+sig = 303c021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c9e82950ebe102f37ff3645cc7d3d0508a7abf5a22672e8a95e25267f
+
+# Modified r or s, e.g. by adding or subtracting the order of the group
+msg = 313233343030
+result = invalid
+sig = 303d021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021dfe9e82950ebe102f37ff3645cc7d3dee65c6f305641295bf6401c8fc42
+
+# Modified r or s, e.g. by adding or subtracting the order of the group
+msg = 313233343030
+result = invalid
+sig = 303d021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021d01617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981
+
+# Modified r or s, e.g. by adding or subtracting the order of the group
+msg = 313233343030
+result = invalid
+sig = 303d021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021d009e82950ebe102f37ff3645cc7d3d0508a7abf5a22672e8a95e25267f
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 3006020100020100
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 3006020100020101
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 30060201000201ff
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 3022020100021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 3022020100021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3c
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 3022020100021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3e
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 3022020100021d00ffffffffffffffffffffffffffffffff000000000000000000000001
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 3022020100021d00ffffffffffffffffffffffffffffffff000000000000000000000002
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 3008020100090380fe01
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 3006020101020100
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 3006020101020101
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 30060201010201ff
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 3022020101021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 3022020101021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3c
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 3022020101021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3e
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 3022020101021d00ffffffffffffffffffffffffffffffff000000000000000000000001
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 3022020101021d00ffffffffffffffffffffffffffffffff000000000000000000000002
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 3008020101090380fe01
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 30060201ff020100
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 30060201ff020101
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 30060201ff0201ff
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 30220201ff021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 30220201ff021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3c
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 30220201ff021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3e
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 30220201ff021d00ffffffffffffffffffffffffffffffff000000000000000000000001
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 30220201ff021d00ffffffffffffffffffffffffffffffff000000000000000000000002
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 30080201ff090380fe01
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 3022021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d020100
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 3022021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d020101
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 3022021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d0201ff
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 303e021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 303e021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3c
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 303e021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3e
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 303e021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d021d00ffffffffffffffffffffffffffffffff000000000000000000000001
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 303e021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d021d00ffffffffffffffffffffffffffffffff000000000000000000000002
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 3024021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d090380fe01
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 3022021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3c020100
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 3022021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3c020101
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 3022021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3c0201ff
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 303e021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3c021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 303e021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3c021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3c
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 303e021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3c021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3e
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 303e021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3c021d00ffffffffffffffffffffffffffffffff000000000000000000000001
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 303e021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3c021d00ffffffffffffffffffffffffffffffff000000000000000000000002
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 3024021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3c090380fe01
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 3022021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3e020100
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 3022021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3e020101
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 3022021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3e0201ff
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 303e021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3e021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 303e021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3e021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3c
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 303e021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3e021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3e
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 303e021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3e021d00ffffffffffffffffffffffffffffffff000000000000000000000001
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 303e021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3e021d00ffffffffffffffffffffffffffffffff000000000000000000000002
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 3024021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3e090380fe01
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 3022021d00ffffffffffffffffffffffffffffffff000000000000000000000001020100
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 3022021d00ffffffffffffffffffffffffffffffff000000000000000000000001020101
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 3022021d00ffffffffffffffffffffffffffffffff0000000000000000000000010201ff
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 303e021d00ffffffffffffffffffffffffffffffff000000000000000000000001021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 303e021d00ffffffffffffffffffffffffffffffff000000000000000000000001021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3c
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 303e021d00ffffffffffffffffffffffffffffffff000000000000000000000001021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3e
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 303e021d00ffffffffffffffffffffffffffffffff000000000000000000000001021d00ffffffffffffffffffffffffffffffff000000000000000000000001
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 303e021d00ffffffffffffffffffffffffffffffff000000000000000000000001021d00ffffffffffffffffffffffffffffffff000000000000000000000002
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 3024021d00ffffffffffffffffffffffffffffffff000000000000000000000001090380fe01
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 3022021d00ffffffffffffffffffffffffffffffff000000000000000000000002020100
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 3022021d00ffffffffffffffffffffffffffffffff000000000000000000000002020101
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 3022021d00ffffffffffffffffffffffffffffffff0000000000000000000000020201ff
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 303e021d00ffffffffffffffffffffffffffffffff000000000000000000000002021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 303e021d00ffffffffffffffffffffffffffffffff000000000000000000000002021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3c
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 303e021d00ffffffffffffffffffffffffffffffff000000000000000000000002021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3e
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 303e021d00ffffffffffffffffffffffffffffffff000000000000000000000002021d00ffffffffffffffffffffffffffffffff000000000000000000000001
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 303e021d00ffffffffffffffffffffffffffffffff000000000000000000000002021d00ffffffffffffffffffffffffffffffff000000000000000000000002
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 3024021d00ffffffffffffffffffffffffffffffff000000000000000000000002090380fe01
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Edge case for Shamir multiplication
+msg = 3839313737
+result = valid
+sig = 303d021c326bc06353f7f9c9f77b8f4b55464e8619944e7879402cca572e041a021d0096ad91f02a3bc40c118abd416ed5c6203ed7ced0330860d7b88c10ab
+
+[key.curve = secp224r1]
+[key.keySize = 224]
+[key.type = ECPublicKey]
+[key.wx = 093b4c28f032d00f80e77491edc158359909ee9e30a7327b74219e5e2]
+[key.wy = 482c19ae35cb28afc9b95ca1ed7ad91c812d5fcceb4beddbf1a16d92]
+[keyDer = 304e301006072a8648ce3d020106052b81040021033a000493b4c28f032d00f80e77491edc158359909ee9e30a7327b74219e5e2482c19ae35cb28afc9b95ca1ed7ad91c812d5fcceb4beddbf1a16d92]
+[sha = SHA-256]
+
+# k*G has a large x-coordinate
+msg = 313233343030
+result = valid
+sig = 3030020f00e95c1f470fc1ec22d6baa3a3d5c1021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3a
+
+# r too large
+msg = 313233343030
+result = invalid
+sig = 303e021d00fffffffffffffffffffffffffffffffefffffffffffffffffffffffe021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3a
+
+[key.curve = secp224r1]
+[key.keySize = 224]
+[key.type = ECPublicKey]
+[key.wx = 0da927f4ba88b639bf5334221d2f54d8ef9ccc1a1125fad18c7bfb789]
+[key.wy = 0ac51ae53de6d834a9db3947b8dd4c6ac2b084b85496bfa72d86b6948]
+[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004da927f4ba88b639bf5334221d2f54d8ef9ccc1a1125fad18c7bfb789ac51ae53de6d834a9db3947b8dd4c6ac2b084b85496bfa72d86b6948]
+[sha = SHA-256]
+
+# r,s are large
+msg = 313233343030
+result = valid
+sig = 303e021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3c021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3b
+
+[key.curve = secp224r1]
+[key.keySize = 224]
+[key.type = ECPublicKey]
+[key.wx = 20888e1c0f5694c4c0363b36482beb6e1e6649b3d3b26f127febb6fc]
+[key.wy = 0de00c2f3d8e4a7e8a0bafd417c96d3e81c975946a2f3686aa39d35f1]
+[keyDer = 304e301006072a8648ce3d020106052b81040021033a000420888e1c0f5694c4c0363b36482beb6e1e6649b3d3b26f127febb6fcde00c2f3d8e4a7e8a0bafd417c96d3e81c975946a2f3686aa39d35f1]
+[sha = SHA-256]
+
+# r and s^-1 have a large Hamming weight
+msg = 313233343030
+result = valid
+sig = 303c021c7fffffffffffffffffffffffffffffffffffffffffffffffffffffff021c3d5052691b8dc89debad360466f2a39e82e8ae2aefb77c3c92ad7cd1
+
+[key.curve = secp224r1]
+[key.keySize = 224]
+[key.type = ECPublicKey]
+[key.wx = 09545c86f032c5df255a4490bb0b83eca201181792ad74246874db229]
+[key.wy = 405264c283063327b70f4c2be5ab4d2e9407b866e121d6145d124c04]
+[keyDer = 304e301006072a8648ce3d020106052b81040021033a00049545c86f032c5df255a4490bb0b83eca201181792ad74246874db229405264c283063327b70f4c2be5ab4d2e9407b866e121d6145d124c04]
+[sha = SHA-256]
+
+# r and s^-1 have a large Hamming weight
+msg = 313233343030
+result = valid
+sig = 303d021c7fffffffffffffffffffffffffffffffffffffffffffffffffffffff021d00bf19ab4d3ebf5a1a49d765909308daa88c2b7be3969db552ea30562b
+
+[key.curve = secp224r1]
+[key.keySize = 224]
+[key.type = ECPublicKey]
+[key.wx = 579d53f39d5109bd440e3e3e7efd603740963348ff9c72c03b0fe6b8]
+[key.wy = 0df02f133ecd60b072a0812adc752708f2be9d8c9ad5953d8c7bf3965]
+[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004579d53f39d5109bd440e3e3e7efd603740963348ff9c72c03b0fe6b8df02f133ecd60b072a0812adc752708f2be9d8c9ad5953d8c7bf3965]
+[sha = SHA-256]
+
+# small r and s
+msg = 313233343030
+result = valid
+sig = 3006020103020101
+
+[key.curve = secp224r1]
+[key.keySize = 224]
+[key.type = ECPublicKey]
+[key.wx = 0d2a14c8106d89f3536faebdafcd4680f65ab4bf2243164ca1464b628]
+[key.wy = 0acaf2bee52e6231d3c980f52f8e189a41c3e3a05e591195ec864217a]
+[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004d2a14c8106d89f3536faebdafcd4680f65ab4bf2243164ca1464b628acaf2bee52e6231d3c980f52f8e189a41c3e3a05e591195ec864217a]
+[sha = SHA-256]
+
+# small r and s
+msg = 313233343030
+result = valid
+sig = 3006020103020103
+
+[key.curve = secp224r1]
+[key.keySize = 224]
+[key.type = ECPublicKey]
+[key.wx = 0e892479153ad13ea5ca45d4c323ebf1fc3cd0cdf787c34306a3f79a4]
+[key.wy = 326ca9645f2b517608dc1f08b7a84cfc61e6ff68d14f27d2043c7ef5]
+[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004e892479153ad13ea5ca45d4c323ebf1fc3cd0cdf787c34306a3f79a4326ca9645f2b517608dc1f08b7a84cfc61e6ff68d14f27d2043c7ef5]
+[sha = SHA-256]
+
+# small r and s
+msg = 313233343030
+result = valid
+sig = 3006020103020104
+
+# r is larger than n
+msg = 313233343030
+result = invalid
+sig = 3022021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a40020104
+
+[key.curve = secp224r1]
+[key.keySize = 224]
+[key.type = ECPublicKey]
+[key.wx = 2b0eac35c0b294f6d435dcaffa8633b0123005465c30080adbcc103a]
+[key.wy = 0d465a63bfb71d4aee09328697fe1088753646d8369b8dc103217c219]
+[keyDer = 304e301006072a8648ce3d020106052b81040021033a00042b0eac35c0b294f6d435dcaffa8633b0123005465c30080adbcc103ad465a63bfb71d4aee09328697fe1088753646d8369b8dc103217c219]
+[sha = SHA-256]
+
+# s is larger than n
+msg = 313233343030
+result = invalid
+sig = 3022020103021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c6f00c4
+
+[key.curve = secp224r1]
+[key.keySize = 224]
+[key.type = ECPublicKey]
+[key.wx = 0d156e01e33becede8f4fb4ae9521d751e7f8eb795ca00857db2fd7af]
+[key.wy = 0d73a450ec60e6a9218a8431870687e0968944f6dc5ffeb30e4693b7c]
+[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004d156e01e33becede8f4fb4ae9521d751e7f8eb795ca00857db2fd7afd73a450ec60e6a9218a8431870687e0968944f6dc5ffeb30e4693b7c]
+[sha = SHA-256]
+
+# small r and s^-1
+msg = 313233343030
+result = valid
+sig = 302302020100021d00c993264c993264c993264c99326411d2e55b3214a8d67528812a55ab
+
+[key.curve = secp224r1]
+[key.keySize = 224]
+[key.type = ECPublicKey]
+[key.wx = 0f293a8a2b4aff0bed95c663b364afe69778d38dd7e7a304f7d3c74e6]
+[key.wy = 17dfd09e7803c4439a6c075cb579cde652d03f7559ff58846312fa4c]
+[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004f293a8a2b4aff0bed95c663b364afe69778d38dd7e7a304f7d3c74e617dfd09e7803c4439a6c075cb579cde652d03f7559ff58846312fa4c]
+[sha = SHA-256]
+
+# smallish r and s^-1
+msg = 313233343030
+result = valid
+sig = 302702072d9b4d347952cc021c3e85d56474b5c55fbe86608442a84b2bf093b7d75f53a47250e1c70c
+
+[key.curve = secp224r1]
+[key.keySize = 224]
+[key.type = ECPublicKey]
+[key.wx = 0d4ddf003b298cbaa7d2edc584b28b474a76162ed4b5b0f6222c54317]
+[key.wy = 0d4e4fe030f178fb4aa4a6d7f61265ecd7ef13c313606b8d341a8b954]
+[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004d4ddf003b298cbaa7d2edc584b28b474a76162ed4b5b0f6222c54317d4e4fe030f178fb4aa4a6d7f61265ecd7ef13c313606b8d341a8b954]
+[sha = SHA-256]
+
+# 100-bit r and small s^-1
+msg = 313233343030
+result = valid
+sig = 302d020d1033e67e37b32b445580bf4efb021c02fd02fd02fd02fd02fd02fd02fd0043a4fd2da317247308c74dc6b8
+
+[key.curve = secp224r1]
+[key.keySize = 224]
+[key.type = ECPublicKey]
+[key.wx = 08a5bf0028f1e3eb6841dee7b8f873f68b0c560e592e3182074f51ce8]
+[key.wy = 09668c32224b65b6849713d35e3acf1786862e65b5a664b47a098caa0]
+[keyDer = 304e301006072a8648ce3d020106052b81040021033a00048a5bf0028f1e3eb6841dee7b8f873f68b0c560e592e3182074f51ce89668c32224b65b6849713d35e3acf1786862e65b5a664b47a098caa0]
+[sha = SHA-256]
+
+# small r and 100 bit s^-1
+msg = 313233343030
+result = valid
+sig = 302302020100021d00d05434abacd859ed74185e75b751c6d9f60c7921dacfbb8e19cdba8e
+
+[key.curve = secp224r1]
+[key.keySize = 224]
+[key.type = ECPublicKey]
+[key.wx = 0b53e569b18e9361567e5713ee69ecbe7949911b0257546a24c3dd137]
+[key.wy = 0f29a83334cff1c44d8c0c33b6dadb8568c024fa1fbb694cd9e705f5a]
+[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004b53e569b18e9361567e5713ee69ecbe7949911b0257546a24c3dd137f29a83334cff1c44d8c0c33b6dadb8568c024fa1fbb694cd9e705f5a]
+[sha = SHA-256]
+
+# 100-bit r and s^-1
+msg = 313233343030
+result = valid
+sig = 302e020d062522bbd3ecbe7c39e93e7c24021d00d05434abacd859ed74185e75b751c6d9f60c7921dacfbb8e19cdba8e
+
+[key.curve = secp224r1]
+[key.keySize = 224]
+[key.type = ECPublicKey]
+[key.wx = 77f3ebf52725c809acbb19adf093126a2a3a065ca654c22099c97812]
+[key.wy = 09f1948d23c5158ec2adff455eb2fedf1075d4ec22d660977424a10f7]
+[keyDer = 304e301006072a8648ce3d020106052b81040021033a000477f3ebf52725c809acbb19adf093126a2a3a065ca654c22099c978129f1948d23c5158ec2adff455eb2fedf1075d4ec22d660977424a10f7]
+[sha = SHA-256]
+
+# r and s^-1 are close to n
+msg = 313233343030
+result = valid
+sig = 303d021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c29bd021c5555555555555555555555555555078ba03da56a069f0dc1c9740e14
+
+[key.curve = secp224r1]
+[key.keySize = 224]
+[key.type = ECPublicKey]
+[key.wx = 0a7f7b99e5cdc6fec8928eff773ccdf3b68b19d43cdb41809e19c60f3]
+[key.wy = 1736b7a0c12a9c2d706671912915142b3e05c89ef3ad497bd6c34699]
+[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004a7f7b99e5cdc6fec8928eff773ccdf3b68b19d43cdb41809e19c60f31736b7a0c12a9c2d706671912915142b3e05c89ef3ad497bd6c34699]
+[sha = SHA-256]
+
+# s == 1
+msg = 313233343030
+result = valid
+sig = 3021021c5555555555555555555555555555078ba03da56a069f0dc1c9740e14020101
+
+# s == 0
+msg = 313233343030
+result = invalid
+sig = 3021021c5555555555555555555555555555078ba03da56a069f0dc1c9740e14020100
+
+[key.curve = secp224r1]
+[key.keySize = 224]
+[key.type = ECPublicKey]
+[key.wx = 09cf00010b4ad86636f6cc70fb58c3b995c0d12e46fc58e24b0d28f69]
+[key.wy = 21c8a8a320cc450ccb15ebd71617f4ed25db4d3413fbdf157d31dbb6]
+[keyDer = 304e301006072a8648ce3d020106052b81040021033a00049cf00010b4ad86636f6cc70fb58c3b995c0d12e46fc58e24b0d28f6921c8a8a320cc450ccb15ebd71617f4ed25db4d3413fbdf157d31dbb6]
+[sha = SHA-256]
+
+# point at infinity during verify
+msg = 313233343030
+result = invalid
+sig = 303c021c7fffffffffffffffffffffffffff8b51705c781f09ee94a2ae2e151e021c5555555555555555555555555555078ba03da56a069f0dc1c9740e14
+
+[key.curve = secp224r1]
+[key.keySize = 224]
+[key.type = ECPublicKey]
+[key.wx = 10518eb7a926b5f7b65be801ec9b2abf76adce25c6152e452a3512c8]
+[key.wy = 3f322b9ab57ea8352ad29beb99ef356b713432fcc4aef31f903045d9]
+[keyDer = 304e301006072a8648ce3d020106052b81040021033a000410518eb7a926b5f7b65be801ec9b2abf76adce25c6152e452a3512c83f322b9ab57ea8352ad29beb99ef356b713432fcc4aef31f903045d9]
+[sha = SHA-256]
+
+# u1 == 1
+msg = 313233343030
+result = valid
+sig = 303d021c5555555555555555555555555555078ba03da56a069f0dc1c9740e14021d00bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419fe
+
+[key.curve = secp224r1]
+[key.keySize = 224]
+[key.type = ECPublicKey]
+[key.wx = 08a5dfedc9dd1cb9a439c88b3dd472b2e66173f7866855db6bb6c12fd]
+[key.wy = 3badfbb8a4c6fd80e66510957927c78a2aa02ecef62816d0356b49c3]
+[keyDer = 304e301006072a8648ce3d020106052b81040021033a00048a5dfedc9dd1cb9a439c88b3dd472b2e66173f7866855db6bb6c12fd3badfbb8a4c6fd80e66510957927c78a2aa02ecef62816d0356b49c3]
+[sha = SHA-256]
+
+# u1 == n - 1
+msg = 313233343030
+result = valid
+sig = 303c021c5555555555555555555555555555078ba03da56a069f0dc1c9740e14021c44a5ad0bd0636d9e12bc9e0a6bdc74bfe082087ae8b61cbd54b8103f
+
+[key.curve = secp224r1]
+[key.keySize = 224]
+[key.type = ECPublicKey]
+[key.wx = 083a59fc3df295e84c290b32d0b550a06f99456fc2298e4a68c4f2bff]
+[key.wy = 1b34f483db30db3a51d8288732c107d8b1a858cd54c3936e1b5c11a4]
+[keyDer = 304e301006072a8648ce3d020106052b81040021033a000483a59fc3df295e84c290b32d0b550a06f99456fc2298e4a68c4f2bff1b34f483db30db3a51d8288732c107d8b1a858cd54c3936e1b5c11a4]
+[sha = SHA-256]
+
+# u2 == 1
+msg = 313233343030
+result = valid
+sig = 303c021c5555555555555555555555555555078ba03da56a069f0dc1c9740e14021c5555555555555555555555555555078ba03da56a069f0dc1c9740e14
+
+[key.curve = secp224r1]
+[key.keySize = 224]
+[key.type = ECPublicKey]
+[key.wx = 58bada578a205d6e170722c8ed6c7715011fe33d7eba869ed1d448a7]
+[key.wy = 5be4730c1d2d2ef881e02f028a241b7d7d3b0d0b4a9c0565fcb49977]
+[keyDer = 304e301006072a8648ce3d020106052b81040021033a000458bada578a205d6e170722c8ed6c7715011fe33d7eba869ed1d448a75be4730c1d2d2ef881e02f028a241b7d7d3b0d0b4a9c0565fcb49977]
+[sha = SHA-256]
+
+# u2 == n - 1
+msg = 313233343030
+result = valid
+sig = 303d021c5555555555555555555555555555078ba03da56a069f0dc1c9740e14021d00aaaaaaaaaaaaaaaaaaaaaaaaaaaa0f17407b4ad40d3e1b8392e81c29
+
+[key.curve = secp224r1]
+[key.keySize = 224]
+[key.type = ECPublicKey]
+[key.wx = 7fcc799b919fe9789ce01dd9202731cb7d815158bc6cb8468760247c]
+[key.wy = 0f9d2957e0dd5e4c40124bd5e0dd1be41c038fce2cd1dc814e0af37d]
+[keyDer = 304e301006072a8648ce3d020106052b81040021033a00047fcc799b919fe9789ce01dd9202731cb7d815158bc6cb8468760247c0f9d2957e0dd5e4c40124bd5e0dd1be41c038fce2cd1dc814e0af37d]
+[sha = SHA-256]
+
+# edge case for u1
+msg = 313233343030
+result = valid
+sig = 303d021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021d0093c8c651653430cb4f1675fc86b5e82ca04ff2ab1501674476aac169
+
+[key.curve = secp224r1]
+[key.keySize = 224]
+[key.type = ECPublicKey]
+[key.wx = 3ddd68f69d0bfd47ad19370fa3dc72eb258268c2b5f3768852151674]
+[key.wy = 0fbe0e155d94d2373a01a5e70f1a105259e7b8b1d2fdf4dba3cf4c780]
+[keyDer = 304e301006072a8648ce3d020106052b81040021033a00043ddd68f69d0bfd47ad19370fa3dc72eb258268c2b5f3768852151674fbe0e155d94d2373a01a5e70f1a105259e7b8b1d2fdf4dba3cf4c780]
+[sha = SHA-256]
+
+# edge case for u1
+msg = 313233343030
+result = valid
+sig = 303d021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021d009df50acc33b3625a2d5940dd13dbb97d1f7dd56afff8b7de7545127c
+
+[key.curve = secp224r1]
+[key.keySize = 224]
+[key.type = ECPublicKey]
+[key.wx = 1cb1f564c29ebf60a342b3bc33c8945cb279c6c1a012255c874e1c37]
+[key.wy = 0b75191ab3b2bb730914ebfa14080410970b71eaf4fe01e2d48be9891]
+[keyDer = 304e301006072a8648ce3d020106052b81040021033a00041cb1f564c29ebf60a342b3bc33c8945cb279c6c1a012255c874e1c37b75191ab3b2bb730914ebfa14080410970b71eaf4fe01e2d48be9891]
+[sha = SHA-256]
+
+# edge case for u1
+msg = 313233343030
+result = valid
+sig = 303d021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021d00dce8c223f235699d1f5d2dcde4809d013390b59129f783239525c08f
+
+[key.curve = secp224r1]
+[key.keySize = 224]
+[key.type = ECPublicKey]
+[key.wx = 44e309eb686e7af7f1e2cc17fd56542b38910b3b7908ea54fb038d36]
+[key.wy = 477e829d4c8332e5b29f344ad27a21c18dab24a31ce7985b63a21304]
+[keyDer = 304e301006072a8648ce3d020106052b81040021033a000444e309eb686e7af7f1e2cc17fd56542b38910b3b7908ea54fb038d36477e829d4c8332e5b29f344ad27a21c18dab24a31ce7985b63a21304]
+[sha = SHA-256]
+
+# edge case for u1
+msg = 313233343030
+result = valid
+sig = 303c021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021c074aae944ee7a7d544a5ad0bd06366f872d2250ba3018a63d2a7f2e6
+
+[key.curve = secp224r1]
+[key.keySize = 224]
+[key.type = ECPublicKey]
+[key.wx = 0c728064542cb5142f5eefe638124dcd7a1ad0b3555842a47dd5108e1]
+[key.wy = 10129dd878ebd47313276cec86f521ea9585cd105b3dc421141993b8]
+[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004c728064542cb5142f5eefe638124dcd7a1ad0b3555842a47dd5108e110129dd878ebd47313276cec86f521ea9585cd105b3dc421141993b8]
+[sha = SHA-256]
+
+# edge case for u1
+msg = 313233343030
+result = valid
+sig = 303d021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021d00aae944ee7a7d544a5ad0bd0636d9455f4e83de0f186f89bca56b3c5c
+
+[key.curve = secp224r1]
+[key.keySize = 224]
+[key.type = ECPublicKey]
+[key.wx = 0c46c1ad3d3d0df8e9c0f525c21ce8d81ef9d66297f442d6309966722]
+[key.wy = 0cfa2253aa31a98d8966b85969bf9c819c019292ef6a53ac1db2a108]
+[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004c46c1ad3d3d0df8e9c0f525c21ce8d81ef9d66297f442d63099667220cfa2253aa31a98d8966b85969bf9c819c019292ef6a53ac1db2a108]
+[sha = SHA-256]
+
+# edge case for u1
+msg = 313233343030
+result = valid
+sig = 303c021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021c55d289dcf4faa894b5a17a0c6db3741bbc4ecbe01d01ea33ee7a4e7b
+
+[key.curve = secp224r1]
+[key.keySize = 224]
+[key.type = ECPublicKey]
+[key.wx = 0b7b2e48c1e60e20925f4d9b6be600dd83786a936c9bfab00639c33ca]
+[key.wy = 0a967cbc65070739a3379da80d54843a18d9c11a29a32234a0b303c12]
+[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004b7b2e48c1e60e20925f4d9b6be600dd83786a936c9bfab00639c33caa967cbc65070739a3379da80d54843a18d9c11a29a32234a0b303c12]
+[sha = SHA-256]
+
+# edge case for u1
+msg = 313233343030
+result = valid
+sig = 303c021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021c4ee7a7d544a5ad0bd0636d9e12bc561ce04faaf1312bba3a15601ebc
+
+[key.curve = secp224r1]
+[key.keySize = 224]
+[key.type = ECPublicKey]
+[key.wx = 0f4a3d4598875af7f2741bbd67b1733b6541bc5325b3bcb4d3267c27e]
+[key.wy = 0c30bf322f58a45c6c2aa2ced55f175d1cbf72a7c5bfc464d74f666c0]
+[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004f4a3d4598875af7f2741bbd67b1733b6541bc5325b3bcb4d3267c27ec30bf322f58a45c6c2aa2ced55f175d1cbf72a7c5bfc464d74f666c0]
+[sha = SHA-256]
+
+# edge case for u1
+msg = 313233343030
+result = valid
+sig = 303c021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021c361b9cd74d65e79a5874c501bca4973b20347ec97f6de10072d8b46a
+
+[key.curve = secp224r1]
+[key.keySize = 224]
+[key.type = ECPublicKey]
+[key.wx = 56d1e5c1d664f6ce2fc1fcb937a7ce231a29486abf36c73f77a2bd11]
+[key.wy = 6cb282c9d7c6fc05f399c183e880ea362edf043cd28ffac9f94f2141]
+[keyDer = 304e301006072a8648ce3d020106052b81040021033a000456d1e5c1d664f6ce2fc1fcb937a7ce231a29486abf36c73f77a2bd116cb282c9d7c6fc05f399c183e880ea362edf043cd28ffac9f94f2141]
+[sha = SHA-256]
+
+# edge case for u1
+msg = 313233343030
+result = valid
+sig = 303c021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021c6c3739ae9acbcf34b0e98a0379492e764068fd92fedbc200e5b168d4
+
+[key.curve = secp224r1]
+[key.keySize = 224]
+[key.type = ECPublicKey]
+[key.wx = 30bce8c6b7f1bbba040b8d121d85d55167ac99b2e2cf1cfac8b018b5]
+[key.wy = 0f1c384c35be0ae309a5cb55aba982343d2125f2d4a559d8c545359cd]
+[keyDer = 304e301006072a8648ce3d020106052b81040021033a000430bce8c6b7f1bbba040b8d121d85d55167ac99b2e2cf1cfac8b018b5f1c384c35be0ae309a5cb55aba982343d2125f2d4a559d8c545359cd]
+[sha = SHA-256]
+
+# edge case for u1
+msg = 313233343030
+result = valid
+sig = 303d021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021d00a252d685e831b6cf095e4f0535edc5b1609d7c5c7e49a301588a1d3e
+
+[key.curve = secp224r1]
+[key.keySize = 224]
+[key.type = ECPublicKey]
+[key.wx = 0e87e538a978cf187908beb27a4a247d496a8421dab1fe79f8744d2b5]
+[key.wy = 539b9f8fe8bddcf7c97c44c55a4fc22f4d78f6a961447a5b613b5c49]
+[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004e87e538a978cf187908beb27a4a247d496a8421dab1fe79f8744d2b5539b9f8fe8bddcf7c97c44c55a4fc22f4d78f6a961447a5b613b5c49]
+[sha = SHA-256]
+
+# edge case for u1
+msg = 313233343030
+result = valid
+sig = 303d021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021d00ee746111f91ab4ce8fae96e6f23fd9d20a24d2e79eea563478c0f566
+
+[key.curve = secp224r1]
+[key.keySize = 224]
+[key.type = ECPublicKey]
+[key.wx = 113a2cc57c8ee7de11bc45e14546c72a29725b9a7218114ac31f0281]
+[key.wy = 6c765b9a46b0215312a3292f5979c98d37b35883baa156281b1bae8c]
+[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004113a2cc57c8ee7de11bc45e14546c72a29725b9a7218114ac31f02816c765b9a46b0215312a3292f5979c98d37b35883baa156281b1bae8c]
+[sha = SHA-256]
+
+# edge case for u2
+msg = 313233343030
+result = valid
+sig = 303c021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021c7fffffffffffffffffffffffffffb2364ae85014b149b86c741eb8be
+
+[key.curve = secp224r1]
+[key.keySize = 224]
+[key.type = ECPublicKey]
+[key.wx = 23dd9c3f1a4b478b01fa2c5e997d0482073b32918de44be583dcf74a]
+[key.wy = 0d661a5ed579a2f09d2ff56d6b80f26568d93a237ca6444b0cadc7951]
+[keyDer = 304e301006072a8648ce3d020106052b81040021033a000423dd9c3f1a4b478b01fa2c5e997d0482073b32918de44be583dcf74ad661a5ed579a2f09d2ff56d6b80f26568d93a237ca6444b0cadc7951]
+[sha = SHA-256]
+
+# edge case for u2
+msg = 313233343030
+result = valid
+sig = 303d021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021d00855f5b2dc8e46ec428a593f73219cf65dae793e8346e30cc3701309c
+
+[key.curve = secp224r1]
+[key.keySize = 224]
+[key.type = ECPublicKey]
+[key.wx = 0bbce4b17d45d24a1c80bc8eca98c359d5e1e458058a00b950643256d]
+[key.wy = 0fe09e092318e39303dca03688e4ecf300300784312d617e5088c584c]
+[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004bbce4b17d45d24a1c80bc8eca98c359d5e1e458058a00b950643256dfe09e092318e39303dca03688e4ecf300300784312d617e5088c584c]
+[sha = SHA-256]
+
+# edge case for u2
+msg = 313233343030
+result = valid
+sig = 303c021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021c2db5f61aea817276af2064e104c7a30e32034cb526dd0aacfa56566f
+
+[key.curve = secp224r1]
+[key.keySize = 224]
+[key.type = ECPublicKey]
+[key.wx = 35f58446c1bdbeaa56660a897ebf965f2d18820c7cd0630f04a4953]
+[key.wy = 47bdfaea60091f405e09929cb2c0e2f6eed53e0871b7fe0cd5a15d85]
+[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004035f58446c1bdbeaa56660a897ebf965f2d18820c7cd0630f04a495347bdfaea60091f405e09929cb2c0e2f6eed53e0871b7fe0cd5a15d85]
+[sha = SHA-256]
+
+# edge case for u2
+msg = 313233343030
+result = valid
+sig = 303d021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021d0084a6c7513e5f48c07fffffffffff8713f3cba1293e4f3e95597fe6bd
+
+[key.curve = secp224r1]
+[key.keySize = 224]
+[key.type = ECPublicKey]
+[key.wx = 0911c0033eac46332691cb7920c4950eed57354761e1081a1ea9f1279]
+[key.wy = 508ebf7cfd3eab5dabdee1be14ce8296b1fc20acfaac16f7824c6002]
+[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004911c0033eac46332691cb7920c4950eed57354761e1081a1ea9f1279508ebf7cfd3eab5dabdee1be14ce8296b1fc20acfaac16f7824c6002]
+[sha = SHA-256]
+
+# edge case for u2
+msg = 313233343030
+result = valid
+sig = 303c021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021c6c7513e5f48c07ffffffffffffff9d21fd1b31544cb13ca86a75b25e
+
+[key.curve = secp224r1]
+[key.keySize = 224]
+[key.type = ECPublicKey]
+[key.wx = 62b2abb70bb9c7efdfb57181f433b64751f108130dce180d6992e7d3]
+[key.wy = 124b3aa8a53e5eedf72aa67e6edcc71f19e36e6ad1d099a59ffd9555]
+[keyDer = 304e301006072a8648ce3d020106052b81040021033a000462b2abb70bb9c7efdfb57181f433b64751f108130dce180d6992e7d3124b3aa8a53e5eedf72aa67e6edcc71f19e36e6ad1d099a59ffd9555]
+[sha = SHA-256]
+
+# edge case for u2
+msg = 313233343030
+result = valid
+sig = 303d021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021d00d8ea27cbe9180fffffffffffffff3a43fa3662a899627950d4eb64bc
+
+[key.curve = secp224r1]
+[key.keySize = 224]
+[key.type = ECPublicKey]
+[key.wx = 0f759330e7992752aae6a85f7bb0599784bea53e288ff7ee8d53d5e6]
+[key.wy = 0defe617362380e92f9a23c4fdcc34e09713aab9cc44119418f6f2fd1]
+[keyDer = 304e301006072a8648ce3d020106052b81040021033a00040f759330e7992752aae6a85f7bb0599784bea53e288ff7ee8d53d5e6defe617362380e92f9a23c4fdcc34e09713aab9cc44119418f6f2fd1]
+[sha = SHA-256]
+
+# edge case for u2
+msg = 313233343030
+result = valid
+sig = 303c021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021c3e5f48c07fffffffffffffffffffc724968c0ecf9ed783744a7337b3
+
+[key.curve = secp224r1]
+[key.keySize = 224]
+[key.type = ECPublicKey]
+[key.wx = 08f2eda42742ab31f5d4cf666892d1d623efd3b26f7df9aa70296e80d]
+[key.wy = 3beaf235cfea41fadb98c533a8fdeb5841d69ee65f6e71914711f138]
+[keyDer = 304e301006072a8648ce3d020106052b81040021033a00048f2eda42742ab31f5d4cf666892d1d623efd3b26f7df9aa70296e80d3beaf235cfea41fadb98c533a8fdeb5841d69ee65f6e71914711f138]
+[sha = SHA-256]
+
+# edge case for u2
+msg = 313233343030
+result = valid
+sig = 303d021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021d00bfffffffffffffffffffffffffff3d87bb44c833bb384d0f224ccdde
+
+[key.curve = secp224r1]
+[key.keySize = 224]
+[key.type = ECPublicKey]
+[key.wx = 2bcf4371b319a691ed0e2e0c4a55a8a9b987dec86b863621e97b9c09]
+[key.wy = 5b8660a74cc964a6af0311edc6b1cd980f9c7bf3a6c9b7f9132a0b2f]
+[keyDer = 304e301006072a8648ce3d020106052b81040021033a00042bcf4371b319a691ed0e2e0c4a55a8a9b987dec86b863621e97b9c095b8660a74cc964a6af0311edc6b1cd980f9c7bf3a6c9b7f9132a0b2f]
+[sha = SHA-256]
+
+# edge case for u2
+msg = 313233343030
+result = valid
+sig = 303c021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021c7fffffffffffffffffffffffffff646c95d0a029629370d8e83d717f
+
+[key.curve = secp224r1]
+[key.keySize = 224]
+[key.type = ECPublicKey]
+[key.wx = 0a6f252568f6fbd1ae045e602344359c0c216911723748f9a3e7fadec]
+[key.wy = 3b76efc75ba030bfe7de2ded686991e6183d40241a05b479693c7015]
+[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004a6f252568f6fbd1ae045e602344359c0c216911723748f9a3e7fadec3b76efc75ba030bfe7de2ded686991e6183d40241a05b479693c7015]
+[sha = SHA-256]
+
+# edge case for u2
+msg = 313233343030
+result = valid
+sig = 303c021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021c3fffffffffffffffffffffffffff8b51705c781f09ee94a2ae2e1520
+
+[key.curve = secp224r1]
+[key.keySize = 224]
+[key.type = ECPublicKey]
+[key.wx = 0a74c1c3a31c7d493ab2c0af89cf5e688621ca9466d2ba1d8761c3fe8]
+[key.wy = 2ba0d08f4c9f76856c2b7138c8f1e780b6959992b16ccdfd925f4b3a]
+[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004a74c1c3a31c7d493ab2c0af89cf5e688621ca9466d2ba1d8761c3fe82ba0d08f4c9f76856c2b7138c8f1e780b6959992b16ccdfd925f4b3a]
+[sha = SHA-256]
+
+# edge case for u2
+msg = 313233343030
+result = valid
+sig = 303d021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021d0096dafb0d7540b93b5790327082635cd8895e1e799d5d19f92b594056
+
+[key.curve = secp224r1]
+[key.keySize = 224]
+[key.type = ECPublicKey]
+[key.wx = 34ea72798257f33f24f64c49438fc43e8f67ddc7170fd127e2c43f2]
+[key.wy = 080562acc9b49f2d7fcc89421d2a5db2ea8dd0361fb48d897d4612627]
+[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004034ea72798257f33f24f64c49438fc43e8f67ddc7170fd127e2c43f280562acc9b49f2d7fcc89421d2a5db2ea8dd0361fb48d897d4612627]
+[sha = SHA-256]
+
+# point duplication during verification
+msg = 313233343030
+result = valid
+sig = 303d021d00c44503dae85dd5210780f02928b3d927171c578f8603d16b240663c7021c3f552f1c2b01651edf5902650fe9ab046f71999ac928edc0087bdb13
+# Some implementations of ECDSA do not handle duplication and points at infinity
+# correctly. This is a test vector that has been specially crafted to check for
+# such an omission.
+
+[key.curve = secp224r1]
+[key.keySize = 224]
+[key.type = ECPublicKey]
+[key.wx = 34ea72798257f33f24f64c49438fc43e8f67ddc7170fd127e2c43f2]
+[key.wy = 7fa9d53364b60d2803376bde2d5a24d05722fc9e04b727682b9ed9da]
+[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004034ea72798257f33f24f64c49438fc43e8f67ddc7170fd127e2c43f27fa9d53364b60d2803376bde2d5a24d05722fc9e04b727682b9ed9da]
+[sha = SHA-256]
+
+# duplication bug
+msg = 313233343030
+result = invalid
+sig = 303d021d00c44503dae85dd5210780f02928b3d927171c578f8603d16b240663c7021c3f552f1c2b01651edf5902650fe9ab046f71999ac928edc0087bdb13
+# Some implementations of ECDSA do not handle duplication and points at infinity
+# correctly. This is a test vector that has been specially crafted to check for
+# such an omission.
+
+[key.curve = secp224r1]
+[key.keySize = 224]
+[key.type = ECPublicKey]
+[key.wx = 3672ba9718e60d00eab4295c819ea366a778dd6fd621fa9665259cb6]
+[key.wy = 7ae5e847eeaea674beeb636379e968f79265502e414a1d444f04ae79]
+[keyDer = 304e301006072a8648ce3d020106052b81040021033a00043672ba9718e60d00eab4295c819ea366a778dd6fd621fa9665259cb67ae5e847eeaea674beeb636379e968f79265502e414a1d444f04ae79]
+[sha = SHA-256]
+
+# comparison with point at infinity 
+msg = 313233343030
+result = invalid
+sig = 303c021c5555555555555555555555555555078ba03da56a069f0dc1c9740e14021c33333333333333333333333333330486f9be9672d0c5d50ddf45a20c
+
+[key.curve = secp224r1]
+[key.keySize = 224]
+[key.type = ECPublicKey]
+[key.wx = 33eeefbfc77229136e56b575144863ed90b4c0f8a9e315816d6de648]
+[key.wy = 51749dd11480c141fb5a1946313163c0141265b68a26216bcb9936a]
+[keyDer = 304e301006072a8648ce3d020106052b81040021033a000433eeefbfc77229136e56b575144863ed90b4c0f8a9e315816d6de648051749dd11480c141fb5a1946313163c0141265b68a26216bcb9936a]
+[sha = SHA-256]
+
+# extreme value for k
+msg = 313233343030
+result = valid
+sig = 303c021c706a46dc76dcb76798e60e6d89474788d16dc18032d268fd1a704fa6021c5555555555555555555555555555078ba03da56a069f0dc1c9740e14
+
+[key.curve = secp224r1]
+[key.keySize = 224]
+[key.type = ECPublicKey]
+[key.wx = 0c520b18003b356094147ee2f9df1178572bed837bd89443b25ebceb8]
+[key.wy = 0e2e93a998fbbabe82192ea4c85651cf09a95ab0dc2e3d975ee7be98]
+[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004c520b18003b356094147ee2f9df1178572bed837bd89443b25ebceb80e2e93a998fbbabe82192ea4c85651cf09a95ab0dc2e3d975ee7be98]
+[sha = SHA-256]
+
+# extreme value for k
+msg = 313233343030
+result = valid
+sig = 303d021d00b70e0cbd6bb4bf7f321390b94a03c1d356c21122343280d6115c1d21021c5555555555555555555555555555078ba03da56a069f0dc1c9740e14
+
+[key.curve = secp224r1]
+[key.keySize = 224]
+[key.type = ECPublicKey]
+[key.wx = 0b70e0cbd6bb4bf7f321390b94a03c1d356c21122343280d6115c1d21]
+[key.wy = 0bd376388b5f723fb4c22dfe6cd4375a05a07476444d5819985007e34]
+[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004b70e0cbd6bb4bf7f321390b94a03c1d356c21122343280d6115c1d21bd376388b5f723fb4c22dfe6cd4375a05a07476444d5819985007e34]
+[sha = SHA-256]
+
+# testing point duplication
+msg = 313233343030
+result = invalid
+sig = 303d021d00bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419fe021c249249249249249249249249249227ce201a6b76951f982e7ae89851
+
+# testing point duplication
+msg = 313233343030
+result = invalid
+sig = 303c021c44a5ad0bd0636d9e12bc9e0a6bdc74bfe082087ae8b61cbd54b8103f021c249249249249249249249249249227ce201a6b76951f982e7ae89851
+
+[key.curve = secp224r1]
+[key.keySize = 224]
+[key.type = ECPublicKey]
+[key.wx = 0b70e0cbd6bb4bf7f321390b94a03c1d356c21122343280d6115c1d21]
+[key.wy = 42c89c774a08dc04b3dd201932bc8a5ea5f8b89bbb2a7e667aff81cd]
+[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004b70e0cbd6bb4bf7f321390b94a03c1d356c21122343280d6115c1d2142c89c774a08dc04b3dd201932bc8a5ea5f8b89bbb2a7e667aff81cd]
+[sha = SHA-256]
+
+# testing point duplication
+msg = 313233343030
+result = invalid
+sig = 303d021d00bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419fe021c249249249249249249249249249227ce201a6b76951f982e7ae89851
+
+# testing point duplication
+msg = 313233343030
+result = invalid
+sig = 303c021c44a5ad0bd0636d9e12bc9e0a6bdc74bfe082087ae8b61cbd54b8103f021c249249249249249249249249249227ce201a6b76951f982e7ae89851
+
+[key.curve = secp224r1]
+[key.keySize = 224]
+[key.type = ECPublicKey]
+[key.wx = 4c246670658a1d41f5d77bce246cbe386ac22848e269b9d4cd67c466]
+[key.wy = 0ddd947153d39b2d42533a460def26880408caf2dd3dd48fe888cd176]
+[keyDer = 304e301006072a8648ce3d020106052b81040021033a00044c246670658a1d41f5d77bce246cbe386ac22848e269b9d4cd67c466ddd947153d39b2d42533a460def26880408caf2dd3dd48fe888cd176]
+[sha = SHA-256]
+
+# pseudorandom signature
+msg = 
+result = valid
+sig = 303d021c0364e7d96832614a80216e730c353534d4bffd2c26649c0b4b0e2628021d008f40064b412fe38c5ba9cf664e6172ed48e6e79f0fe5e31a54985dfc
+
+# pseudorandom signature
+msg = 
+result = valid
+sig = 303e021d00b41091a5d3fbacfb8cf5633536cbe1d9fcf21e6d68cc9778490e058d021d00fb62cf967601d20f34f43cb138f57b7e0ba1f0b900faf0ea2bb1fc14
+
+# pseudorandom signature
+msg = 
+result = valid
+sig = 303d021d00d0f1072fd6283d4d60ee043f6c78b6e3ca9c1cce4caaf9ae4874b2c9021c49e7aa1cc6e8c7833bd67a8880329b96ece3d4fda1c0fcaf53daadac
+
+# pseudorandom signature
+msg = 
+result = valid
+sig = 303d021d009124453ca4b811d8a50834a092ef6a32ce6db98e72a66a140fe33b9f021c20cd9182f7d9d42e1e67ea77b92190afaaa4ff664cfc684e0f384eb1
+
+# pseudorandom signature
+msg = 
+result = valid
+sig = 303e021d00c8db428f70740b9a2769e50ef6c8897a58f2b805d3630556a23025e1021d00a1eaa6d5b7f44109f839a66ee6463f16c2ca7ca0fb20ea4eb992ac10
+
+# pseudorandom signature
+msg = 
+result = valid
+sig = 303e021d00f3142ef7e66d0434c9d2db4187183504d7ab2692d5a8c92e4dc08883021d00b8f43460ff89694721da3d8dfa21d9cf09eccc4ec97ad8216719b3c4
+
+# pseudorandom signature
+msg = 
+result = valid
+sig = 303d021c5b1c9ef283f70dbacae11eaa63f13e6b5a33dbcdb329c3ceeab98848021d00f70ebe657369f642c61d643bdf52d49b07a68d80279561958c3102d9
+
+# pseudorandom signature
+msg = 
+result = valid
+sig = 303d021d00d4340200c221c443f6763120ecafca40a327dd6e40dae29641b11205021c3c9b65e174695e62117579f4ca5903044320e48d6ccec91446426325
+
+# pseudorandom signature
+msg = 
+result = valid
+sig = 303d021c53df2654f17e3c002c7f464e9aff8c3dcaa1b8f0122c8a4b86e9c4e5021d00cae45907fa41b790c7e90f0669ae3e76ff0a3de0b585998e81df34c1
+
+# pseudorandom signature
+msg = 
+result = valid
+sig = 303d021d00bea17b9096e2bc7e041cdef9ec91f42b827ee8c8228d65d9bf7a9711021c13e245afc9277f7e32714fd7b3d95872aa689b219ac0acf050c1d9ec
+
+# pseudorandom signature
+msg = 4d7367
+result = valid
+sig = 303d021d00f4b68df62b9238363ccc1bbee00deb3fb2693f7894178e14eeac596a021c7f51c9451adacd2bcbc721f7df0643d7cd18a6b52064b507e1912f23
+
+# pseudorandom signature
+msg = 4d7367
+result = valid
+sig = 303d021c6f66f0f4d6fe7620666bb98e24769a58af83693d42cd7769b3caeabf021d00818ad21034973894236d27a9bcd736eb9ac631caeb196ed4c97ce7f5
+
+# pseudorandom signature
+msg = 4d7367
+result = valid
+sig = 303c021c30d85a8bd9d7750d036da6cd2e8d590d23d54d60a07fb32e1c170402021c420de69e400c572c36ce3b35e40a4b47bedfbe3a7af58f8ceb4066ed
+
+# pseudorandom signature
+msg = 4d7367
+result = valid
+sig = 303d021d00e01302d4273341f11ef9788ac1e525a45f2659d7a8a64885aec54ae1021c3a886ab91681c019476753253fdda416731aad946b91886214fe0650
+
+# pseudorandom signature
+msg = 4d7367
+result = valid
+sig = 303c021c3afd7abd885aae32de3ef49cb331155334bb4309e4eda73ac4aee400021c1d51e8a79b85335560dfb118a8f4cf16ee3641a782d3ee5e455a63b6
+
+# pseudorandom signature
+msg = 4d7367
+result = valid
+sig = 303d021c07c73dae6b6f894bf1aeb340eaf06cbdf5556887aeed306ca87bb4a7021d00f0e98ce504608ac63b30b7d581a9ee44a5b439736a20661a0d0656a8
+
+# pseudorandom signature
+msg = 4d7367
+result = valid
+sig = 303d021c3d8216344b7480e25230dd4608b7ca09a63ae352f9961c2a3088676f021d00e71d2d7e78aae7f826b1d30a06f89f8fbe8702e639d85cf15b3ecb06
+
+# pseudorandom signature
+msg = 4d7367
+result = valid
+sig = 303d021c24e768c333808f0f0eb05b3ddf95d5530f8670334e742ff4ad783ef9021d00f4da768f939e12c7cecc90c45cfff173ea1fc4237290b17d2acbf8a9
+
+# pseudorandom signature
+msg = 4d7367
+result = valid
+sig = 303d021d00b1d7988d9bcd4f7a7b643e391f5b37d9f56a6ca4ab81c9a5a2b72d14021c518da4c39db722cdae6d1a8f0268ded4e4522926b672b4bd14ef8564
+
+# pseudorandom signature
+msg = 4d7367
+result = valid
+sig = 303c021c6374f85c920dace4b5828384b05696d0bd7cc0992f804a8059247538021c01b8f519efc35f104cc83be9280c44b4345cafcda02b944744a931c7
+
+# pseudorandom signature
+msg = 313233343030
+result = valid
+sig = 303d021d00b2970cdec29c70294a18bbc49985efa33acc0af509c326a3977a35e8021c0cea3ed8ebaaf6ee6aef6049a23cbc39f61fcf8fc6be4bab13385579
+
+# pseudorandom signature
+msg = 313233343030
+result = valid
+sig = 303d021d00bc9052305d076c009f0250d888d0fae950bbdf53e42fc5b35850d4c5021c400a143f82c3b045ce46742aca8a1af966cc4b04e10fe96090374d36
+
+# pseudorandom signature
+msg = 313233343030
+result = valid
+sig = 303c021c7a57cfac41911d334dde984ef64bacf978fb04c77ffe00892e611fad021c52a3f891c2877d433b6b5799ca6f774941370654e17811b2fc401974
+
+# pseudorandom signature
+msg = 313233343030
+result = valid
+sig = 303c021c2092d6e7a86055b119e1f6f97b21ac3789e78804d0e25ff2945ad240021c3099207c5088715cb79437724b84018459553e82e6a72e6791cc2b02
+
+# pseudorandom signature
+msg = 313233343030
+result = valid
+sig = 303e021d0089b1dfa081bc9200d86bcf63c75e80fab8b8b11270768fa0ed07d45e021d008c2299775762dd15aefb1a18d9adac8dc756f4619e5fc3c526922100
+
+# pseudorandom signature
+msg = 313233343030
+result = valid
+sig = 303d021d00b16307867551b63b168131371c2eb6e8fab7d1ecfec6fde744e0ec51021c2f3ad86ba61343dc7d33908f83feb28a5b63aba08e3e990bdd441ab1
+
+# pseudorandom signature
+msg = 313233343030
+result = valid
+sig = 303e021d00b712f2b41da5c8265797d52b946fb79ecfe70544f83be0badbe4b71c021d00b02018a67a61d7df4d04aef55bafabd50e56840733b99b781185667f
+
+# pseudorandom signature
+msg = 313233343030
+result = valid
+sig = 303d021d008972a6fc414736cfc4a57704dc2d76857738366a4175acb71eb3aa59021c0bfdc4fd4b6d9e6afb62b9f5e41c8cbac2790dd9fa06a72df6e0d0d8
+
+# pseudorandom signature
+msg = 313233343030
+result = valid
+sig = 303e021d00da7640586f3f0aae5fb1c3e32da59b3322c24d6303d1d006d50f74b5021d00c5462bf20238cdd4e534494629561aa111480d08b48557e69fc17f3e
+
+# pseudorandom signature
+msg = 313233343030
+result = valid
+sig = 303c021c05c302ce36d5b7ba053cc9c9c26095e887df0f7e190396e13e487905021c52cb970da954ac97f3c507399451dcf28a4d37871b66b46f99c58531
+
+# pseudorandom signature
+msg = 0000000000000000000000000000000000000000
+result = valid
+sig = 303d021c7e7b0eb7da8c68a7072b11404ee95a5c407fbfe3d69646802e28ae77021d00d409a2f6bbaae59bb60fc0a092b12fa4e67dc8d088cf19a833322fd6
+
+# pseudorandom signature
+msg = 0000000000000000000000000000000000000000
+result = valid
+sig = 303d021c0d81b5454f87f6000460dc7819b6fc712c042645340e0f4196f046e9021d00aa2efd27ccc7b942bcfebce7e735125227e2bdadcb943efa88f1f42e
+
+# pseudorandom signature
+msg = 0000000000000000000000000000000000000000
+result = valid
+sig = 303c021c09b59a8f079529fad06c514abaf356537f9bc2eedfefc595aace6c48021c721310942b44535e02f455015143fffe3dae9e5193a4ef1eeff94686
+
+# pseudorandom signature
+msg = 0000000000000000000000000000000000000000
+result = valid
+sig = 303d021d0092f268abc43239955edad0766503714b4e156ec436df34b1da00b2c2021c580cab7733f22244b5c74ceae56e048b260c2d1e8b96b15997145ba4
+
+# pseudorandom signature
+msg = 0000000000000000000000000000000000000000
+result = valid
+sig = 303c021c514ef0e344b5cb8de93212d0493192437f86090ecc284dae54f74a60021c42e510fc18cd8c39113d4153dc2fc59dd2efaf22bd9330119458820a
+
+# pseudorandom signature
+msg = 0000000000000000000000000000000000000000
+result = valid
+sig = 303e021d008a16dcf2e449678047e967a2c281c6500b6cdfddf631d784ff60fb68021d00b16ac240544d86b9b40e4baf4d53f1ee33fdf8161830ccad4d2f354e
+
+# pseudorandom signature
+msg = 0000000000000000000000000000000000000000
+result = valid
+sig = 303c021c6f84179e3ea956abbf31daebace7b443c7a0e9f9641fa8fe4f4f9be9021c39df090fbe36b37c2aab1cbd61d7a5138c4b709e70606bcf99ff16ae
+
+# pseudorandom signature
+msg = 0000000000000000000000000000000000000000
+result = valid
+sig = 303d021d00c0f2d12d910cf6bc0c4d09443a6da8247649e1724f95bddd711e2f64021c766bf054f829d02db13c6aa8536e00e5e30e5313a868e0a7851fcdcc
+
+# pseudorandom signature
+msg = 0000000000000000000000000000000000000000
+result = valid
+sig = 303e021d00ca3d5f3822b905db4786b88e0ca370555825971d1a4b7fcc37bb1ed0021d00a3c21935732cd227a4f592c91cdd2509c078984b38a37cf530338364
+
+# pseudorandom signature
+msg = 0000000000000000000000000000000000000000
+result = valid
+sig = 303d021d00e1e6139431452e5cb96dc75677cbb3f1892b98e8fa2ba3f62ed8ea1a021c735daa1083e15eefad9357f76f83198448daffea42d34946d6c48b1f
+
+[key.curve = secp224r1]
+[key.keySize = 224]
+[key.type = ECPublicKey]
+[key.wx = 0aed6fcad2400c4d94e55dbb6b012ce3d4c2b46843fbe99d4289e6ecf]
+[key.wy = 08a24a89e71343d7d151d258d2cb690349c2d56b366dd10a600000000]
+[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004aed6fcad2400c4d94e55dbb6b012ce3d4c2b46843fbe99d4289e6ecf8a24a89e71343d7d151d258d2cb690349c2d56b366dd10a600000000]
+[sha = SHA-256]
+
+# y-coordinate of the public key has many trailing 0's
+msg = 4d657373616765
+result = valid
+sig = 303c021c519bf185ff4635271961fa491be257231deeea9c53a6ede3b4a89ed1021c486bdad484a6a3134e1471cf56a9df0fac50f773b3e37d6f327617d7
+
+# y-coordinate of the public key has many trailing 0's
+msg = 4d657373616765
+result = valid
+sig = 303d021c09fd644898b7cb5d018b52234e7b4ef2b54789afd0ce9c434e9e5515021d00f19309532164ea2053cae55df7bdcbab536c83ea7bfe6fe10d60c1ab
+
+# y-coordinate of the public key has many trailing 0's
+msg = 4d657373616765
+result = valid
+sig = 303d021d00ec919d4e283ccf1f71a9e3c0f781a36758d3f38b1b78a87a74288e80021c4c4663044a73c79bd88f0dc245ab1a32f89f06f40a704b31e9fabc51
+
+[key.curve = secp224r1]
+[key.keySize = 224]
+[key.type = ECPublicKey]
+[key.wx = 0bf19ecfe43ffe289f699f479316145b9a7f7370b9ece5ab1212174f1]
+[key.wy = 73d528949ae9142f818bade71a960407963be0b6482a6a60ffffffff]
+[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004bf19ecfe43ffe289f699f479316145b9a7f7370b9ece5ab1212174f173d528949ae9142f818bade71a960407963be0b6482a6a60ffffffff]
+[sha = SHA-256]
+
+# y-coordinate of the public key has many trailing 1's
+msg = 4d657373616765
+result = valid
+sig = 303e021d00c51760478447217597ecc6f4001bd45088d53c90f53103608bf88aea021d00a201253aa903f9781e8992101d7171d2dd3a5d48c44d8e1d544cd6d7
+
+# y-coordinate of the public key has many trailing 1's
+msg = 4d657373616765
+result = valid
+sig = 303c021c76be0112674ec29128823e1af7512e6143872fef30a64e2f1799bd56021c187e503e1a48c27b549fe0a4ce5e581e242c8663fc9efb02d6f2b193
+
+# y-coordinate of the public key has many trailing 1's
+msg = 4d657373616765
+result = valid
+sig = 303c021c36245ef126b5b51e459f84eaaad5a495061f0471dc8c23f1c5f16282021c39e31d72a06ba8e14fcf95778e07bc16a2628e39449da8857d506edc
+
+[key.curve = secp224r1]
+[key.keySize = 224]
+[key.type = ECPublicKey]
+[key.wx = 26e5abf135cb54eaaa16b69e4b0b292275344e88a09df6df80000000]
+[key.wy = 0eab891de54e3f26ff50ab989f333dac551583d468ae623c596434af0]
+[keyDer = 304e301006072a8648ce3d020106052b81040021033a000426e5abf135cb54eaaa16b69e4b0b292275344e88a09df6df80000000eab891de54e3f26ff50ab989f333dac551583d468ae623c596434af0]
+[sha = SHA-256]
+
+# x-coordinate of the public key has many trailing 0's
+msg = 4d657373616765
+result = valid
+sig = 303c021c258682975df8bca7f203f771ebeb478ef637360c860fc386cfb21745021c7663e70188047e41469a2a35c8c330dd900f2340ba82aafd22962a96
+
+# x-coordinate of the public key has many trailing 0's
+msg = 4d657373616765
+result = valid
+sig = 303e021d0085c98614f36c0d66f8d87834cae978611b7b4eebf59a46bea1b89ae9021d00d1a18e378dda840e06b60f6279bf0a2231d9fa2d8d2c31e88bc1bdd7
+
+# x-coordinate of the public key has many trailing 0's
+msg = 4d657373616765
+result = valid
+sig = 303e021d00ca7b7432ba41ff2112e1116fffde89bbd68f5ce67fe5513d16c8e6f7021d00e421b7599e0180798acc2006451603cda2db1d582741116e6033ce5f
+
+[key.curve = secp224r1]
+[key.keySize = 224]
+[key.type = ECPublicKey]
+[key.wx = 0ec627f345545d03f8c6dbd08e575527116567fe375f9ecaaffffffff]
+[key.wy = 41bf705697d5f716bcf78718d5393b63a98691f4a1f24246375538fd]
+[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004ec627f345545d03f8c6dbd08e575527116567fe375f9ecaaffffffff41bf705697d5f716bcf78718d5393b63a98691f4a1f24246375538fd]
+[sha = SHA-256]
+
+# x-coordinate of the public key has many trailing 1's
+msg = 4d657373616765
+result = valid
+sig = 303c021c19397fe5d3ecabf80fc624c1bf379564387517c185087dc97d605069021c33b5773e9aaf6c34cb612cfc81efd3bf9c22224e8c4fa1bfccf5c501
+
+# x-coordinate of the public key has many trailing 1's
+msg = 4d657373616765
+result = valid
+sig = 303d021c70f24f5c164164bfbb8459aa12a981aa312dbcf00204326ebaaabdc8021d00f5cebee8caedae8662c43501665084b45d2f494fb70d603043543dc4
+
+# x-coordinate of the public key has many trailing 1's
+msg = 4d657373616765
+result = valid
+sig = 303d021c0bf2d86ecaa8b56aca5e8f8ebcb45081d078a14555b75f5be8e9b132021d009a55b3ce4734849966b5034ccd9b19f76407ee0241c3f58e7b8fc89a
+
+[key.curve = secp224r1]
+[key.keySize = 224]
+[key.type = ECPublicKey]
+[key.wx = 15016e52b36472d536477605fb805dd3903082a062d1ea30af9e555a]
+[key.wy = 762d28f1fdc219184f81681fbff566d465b5f1f31e872df5]
+[keyDer = 304e301006072a8648ce3d020106052b81040021033a000415016e52b36472d536477605fb805dd3903082a062d1ea30af9e555a00000000762d28f1fdc219184f81681fbff566d465b5f1f31e872df5]
+[sha = SHA-256]
+
+# y-coordinate of the public key is small
+msg = 4d657373616765
+result = valid
+sig = 303e021d00bfc5dc4434cd09369610687d38d2d418b63fd475dea246a456b25a3a021d00b171dfa6cf722f20816370a868785da842b37bac31d7b78e6751fc50
+
+# y-coordinate of the public key is small
+msg = 4d657373616765
+result = valid
+sig = 303e021d008fdbe8da646c5642d767c7dbeb3872b1edab6e37365805f0e94ce0a9021d00bcf35ab81222883dd3526cb0cf93138f4687cd0b10c2b0a126385161
+
+# y-coordinate of the public key is small
+msg = 4d657373616765
+result = valid
+sig = 303d021d00e23a11275848fd4f8b6f4ac4fc305eae981d3b7dc453e5a980c46422021c1a875693f24a03ea1614c4c3bbd0dd7221429f22b337ea7d98348ca4
+
+[key.curve = secp224r1]
+[key.keySize = 224]
+[key.type = ECPublicKey]
+[key.wx = 15016e52b36472d536477605fb805dd3903082a062d1ea30af9e555a]
+[key.wy = 0ffffffff89d2d70e023de6e7b07e97df400a992b9a4a0e0ce178d20c]
+[keyDer = 304e301006072a8648ce3d020106052b81040021033a000415016e52b36472d536477605fb805dd3903082a062d1ea30af9e555affffffff89d2d70e023de6e7b07e97df400a992b9a4a0e0ce178d20c]
+[sha = SHA-256]
+
+# y-coordinate of the public key is large
+msg = 4d657373616765
+result = valid
+sig = 303d021c76645164ff9af3a1a9205fda2eef326d2bffc795dcc4829547fe01dd021d00b65bba503719314b27734dd06b1395d540af8396029b78b84e0149eb
+
+# y-coordinate of the public key is large
+msg = 4d657373616765
+result = valid
+sig = 303c021c32fa0ca7e07f1f86ac350734994e1f31b6da9c82f93dced2b983c29c021c7b7891282206a45711bdfcb2a102b5d289df84ff5778548603574004
+
+# y-coordinate of the public key is large
+msg = 4d657373616765
+result = valid
+sig = 303d021c2d5492478ca64e5111dfd8521867b6477b7e78227849ad090b855694021d00a532f5a2fa3594af81cd5928b81b4057da717be5fb42a3a86c68190d
+
+[key.curve = secp224r1]
+[key.keySize = 224]
+[key.type = ECPublicKey]
+[key.wx = 0f7e4713d085112112c37cdf4601ff688da796016b71a727a]
+[key.wy = 0de5a9ec165054cc987f9dc87e9991b92e4fa649ca655eeae9f2a30e1]
+[keyDer = 304e301006072a8648ce3d020106052b81040021033a000400000000f7e4713d085112112c37cdf4601ff688da796016b71a727ade5a9ec165054cc987f9dc87e9991b92e4fa649ca655eeae9f2a30e1]
+[sha = SHA-256]
+
+# x-coordinate of the public key is small
+msg = 4d657373616765
+result = valid
+sig = 303d021c191eee5daf55cd499e8539cb2cff797cfec5d566d2027bf9f8d64693021d00dadfeae8131f64d96b94fd340197caa2bc04818554812feef3343070
+
+# x-coordinate of the public key is small
+msg = 4d657373616765
+result = valid
+sig = 303e021d00e0e2c08180b8a207ee9105a7d379fa112368e8370fa09dfde4a45c45021d00c717bc0860e016e7ce48f8fe6a299b36906a6055adad93b416ce8838
+
+# x-coordinate of the public key is small
+msg = 4d657373616765
+result = valid
+sig = 303d021c1b919ef93532292743bb2e1b7b4894fd847c6e5de52a08e1b0f2dcfb021d00c2d30d6b7594d8dbd261491ae1d58779505b075b64e5564dc97a418b
+
+[key.curve = secp224r1]
+[key.keySize = 224]
+[key.type = ECPublicKey]
+[key.wx = 0ffffffffeadf7cee8d34d04cf22c8f7de35674fb2f501d242a76f725]
+[key.wy = 086c409309d398e60ce1e0a4c9e05a9d32627577e8ce2cc7f3afa2c3e]
+[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004ffffffffeadf7cee8d34d04cf22c8f7de35674fb2f501d242a76f72586c409309d398e60ce1e0a4c9e05a9d32627577e8ce2cc7f3afa2c3e]
+[sha = SHA-256]
+
+# x-coordinate of the public key is large
+msg = 4d657373616765
+result = valid
+sig = 303d021d00e75db49ed33ff2885ea6100cc95b8fe1b9242ea4248db07bcac2e020021c796c866142ae8eb75bb0499c668c6fe45497692fbcc66b37c2e4624f
+
+# x-coordinate of the public key is large
+msg = 4d657373616765
+result = valid
+sig = 303c021c1f81cd924362ec825890307b9b3936e0d8f728a7c84bdb43c5cf0433021c39d3e46a03040ad41ac026b18e0629f6145e3dc8d1e6bbe200c8482b
+
+# x-coordinate of the public key is large
+msg = 4d657373616765
+result = valid
+sig = 303c021c00fda613aa67ca42673ad4309f3f0f05b2569f3dee63f4aa9cc54cf3021c1e5a64b68a37e5b201c918303dc7a40439aaeacf019c5892a8f6d0ce
+
+[key.curve = secp224r1]
+[key.keySize = 224]
+[key.type = ECPublicKey]
+[key.wx = 0b0013c6fbff6f09fecda1c263ef65399d4cf989ca5fc4f8fff0fe9e1]
+[key.wy = 0e2ab0e8495e859eb2afb00769d6e7fe626a119167c0b6bc]
+[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004b0013c6fbff6f09fecda1c263ef65399d4cf989ca5fc4f8fff0fe9e1000000000e2ab0e8495e859eb2afb00769d6e7fe626a119167c0b6bc]
+[sha = SHA-256]
+
+# y-coordinate of the public key is small
+msg = 4d657373616765
+result = valid
+sig = 303e021d00b932b3f7e6467e1ec7a561f31160248c7f224550a8508788634b53ce021d00a0c5312acf9e801aff6d6fc98550cfa712bbf65937165a36f2c32dc9
+
+# y-coordinate of the public key is small
+msg = 4d657373616765
+result = valid
+sig = 303d021d00e509593fb09245ee8226ce72786b0cc352be555a7486be628f4fd00c021c0b7abde0061b1e07bf13319150a4ff6a464abab636ab4e297b0d7633
+
+# y-coordinate of the public key is small
+msg = 4d657373616765
+result = valid
+sig = 303c021c6e54f941204d4639b863c98a65b7bee318d51ab1900a8f345eac6f07021c0da5054829214ecde5e10579b36a2fe6426c24b064ed77c38590f25c
+
+[key.curve = secp224r1]
+[key.keySize = 224]
+[key.type = ECPublicKey]
+[key.wx = 0b0013c6fbff6f09fecda1c263ef65399d4cf989ca5fc4f8fff0fe9e1]
+[key.wy = 0fffffffff1d54f17b6a17a614d504ff7962918019d95ee6e983f4945]
+[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004b0013c6fbff6f09fecda1c263ef65399d4cf989ca5fc4f8fff0fe9e1fffffffff1d54f17b6a17a614d504ff7962918019d95ee6e983f4945]
+[sha = SHA-256]
+
+# y-coordinate of the public key is large
+msg = 4d657373616765
+result = valid
+sig = 303d021d0085ea4ab3ffdc992330c0ca8152faf991386bce82877dbb239ba654f6021c0806c6baf0ebea4c1aaa190e7d4325d46d1f7789d550632b70b5fc9b
+
+# y-coordinate of the public key is large
+msg = 4d657373616765
+result = valid
+sig = 303d021c44d53debb646b73485402eab2d099081b97b1243c025b624f0dd67ea021d00e5de789a7d4b77eac6d7bba41658e6e4dc347dabed2f9680c04a6f55
+
+# y-coordinate of the public key is large
+msg = 4d657373616765
+result = valid
+sig = 303c021c1526eb2f657ebea9af4ca184b975c02372c88e24e835f3f5774c0e12021c1f1ecce38ee52372cb201907794de17b6d6c1afa13c316c51cb07bc7
+
diff --git a/third_party/wycheproof/ecdsa_secp256r1_sha256_test.txt b/third_party/wycheproof/ecdsa_secp256r1_sha256_test.txt
new file mode 100644
index 0000000..7580de1
--- /dev/null
+++ b/third_party/wycheproof/ecdsa_secp256r1_sha256_test.txt
@@ -0,0 +1,2404 @@
+# Imported from Wycheproof's ecdsa_secp256r1_sha256_test.json.
+# This file is generated by convert_wycheproof.go. Do not edit by hand.
+#
+# Algorithm: ECDSA
+# Generator version: 0.4
+
+[key.curve = secp256r1]
+[key.keySize = 256]
+[key.type = ECPublicKey]
+[key.wx = 2927b10512bae3eddcfe467828128bad2903269919f7086069c8c4df6c732838]
+[key.wy = 0c7787964eaac00e5921fb1498a60f4606766b3d9685001558d1a974e7341513e]
+[keyDer = 3059301306072a8648ce3d020106082a8648ce3d030107034200042927b10512bae3eddcfe467828128bad2903269919f7086069c8c4df6c732838c7787964eaac00e5921fb1498a60f4606766b3d9685001558d1a974e7341513e]
+[sha = SHA-256]
+
+# signature malleability
+msg = 313233343030
+result = valid
+sig = 304402202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e1802204cd60b855d442f5b3c7b11eb6c4e0ae7525fe710fab9aa7c77a67f79e6fadd76
+
+# random signature
+msg = 313233343030
+result = valid
+sig = 3046022100e43dc0edacf7345544d7c28547949164bf882dedcc9db1be918caa02a5f7f7ca022100eb313df522aa9e6dbc0cd45d1ea6edaebd858dca4780a940014363ff7600118d
+
+# random signature
+msg = 313233343030
+result = valid
+sig = 304502204d1b36126feee49ec974650f8d1a335f8d210e60949642348ad71e476a35cdfe022100a890b9ddbb3f2089ea69fd117fb349ed054c0f0830f671c1a639ed88eec0bc75
+
+# random signature
+msg = 313233343030
+result = valid
+sig = 304502200e285057b2f96995a3e6a6511cc4a83a791491610ae3f3571d8ab1080b726cc4022100d8b8325f25fb663eda57d958cc174fa8c36d19d2ccb76d5ac4488d776fcf0b8d
+
+# random signature
+msg = 313233343030
+result = valid
+sig = 3046022100caf80e1656e0a20237b7c39c8bffdf1831efef84a0b5bd7d404fec77b20efecd022100e8352a15bf01544331281f2f71fd913003acabbc6ab0f47cdc58c8d7bc8a6cd5
+
+# random signature
+msg = 313233343030
+result = valid
+sig = 304502206160cb08f98f68d6c62b45babea51bd439d9003a40acb38295f63929bf26027e0221008f6b86c954822054da763c5dc9e5ce22e08814904e438311fa4ff2d79e9f9795
+
+# Legacy:ASN encoding of s misses leading 0
+msg = 313233343030
+result = acceptable
+sig = 304402202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e180220b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db
+# Some implementations of ECDSA and DSA incorrectly encode r and s by not
+# including leading zeros in the ASN encoding of integers when necessary. Hence,
+# some implementations (e.g. jdk) allow signatures with incorrect ASN encodings
+# assuming that the signature is otherwise valid.
+
+# valid
+msg = 313233343030
+result = valid
+sig = 304502202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db
+
+# long form encoding of length
+msg = 313233343030
+result = invalid
+sig = 30814502202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db
+
+# long form encoding of length
+msg = 313233343030
+result = invalid
+sig = 30460281202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db
+
+# long form encoding of length
+msg = 313233343030
+result = invalid
+sig = 304602202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e1802812100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db
+
+# length contains leading 0
+msg = 313233343030
+result = invalid
+sig = 3082004502202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db
+
+# length contains leading 0
+msg = 313233343030
+result = invalid
+sig = 3047028200202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db
+
+# length contains leading 0
+msg = 313233343030
+result = invalid
+sig = 304702202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e180282002100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db
+
+# wrong length
+msg = 313233343030
+result = invalid
+sig = 304602202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db
+
+# wrong length
+msg = 313233343030
+result = invalid
+sig = 304402202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db
+
+# wrong length
+msg = 313233343030
+result = invalid
+sig = 304502212ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db
+
+# wrong length
+msg = 313233343030
+result = invalid
+sig = 3045021f2ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db
+
+# wrong length
+msg = 313233343030
+result = invalid
+sig = 304502202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022200b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db
+
+# wrong length
+msg = 313233343030
+result = invalid
+sig = 304502202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022000b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db
+
+# uint32 overflow in length
+msg = 313233343030
+result = invalid
+sig = 3085010000004502202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db
+
+# uint32 overflow in length
+msg = 313233343030
+result = invalid
+sig = 304a028501000000202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db
+
+# uint32 overflow in length
+msg = 313233343030
+result = invalid
+sig = 304a02202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e180285010000002100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db
+
+# uint64 overflow in length
+msg = 313233343030
+result = invalid
+sig = 308901000000000000004502202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db
+
+# uint64 overflow in length
+msg = 313233343030
+result = invalid
+sig = 304e02890100000000000000202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db
+
+# uint64 overflow in length
+msg = 313233343030
+result = invalid
+sig = 304e02202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18028901000000000000002100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db
+
+# length = 2**31 - 1
+msg = 313233343030
+result = invalid
+sig = 30847fffffff02202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db
+
+# length = 2**31 - 1
+msg = 313233343030
+result = invalid
+sig = 304902847fffffff2ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db
+
+# length = 2**31 - 1
+msg = 313233343030
+result = invalid
+sig = 304902202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e1802847fffffff00b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db
+
+# length = 2**32 - 1
+msg = 313233343030
+result = invalid
+sig = 3084ffffffff02202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db
+
+# length = 2**32 - 1
+msg = 313233343030
+result = invalid
+sig = 30490284ffffffff2ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db
+
+# length = 2**32 - 1
+msg = 313233343030
+result = invalid
+sig = 304902202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e180284ffffffff00b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db
+
+# length = 2**40 - 1
+msg = 313233343030
+result = invalid
+sig = 3085ffffffffff02202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db
+
+# length = 2**40 - 1
+msg = 313233343030
+result = invalid
+sig = 304a0285ffffffffff2ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db
+
+# length = 2**40 - 1
+msg = 313233343030
+result = invalid
+sig = 304a02202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e180285ffffffffff00b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db
+
+# length = 2**64 - 1
+msg = 313233343030
+result = invalid
+sig = 3088ffffffffffffffff02202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db
+
+# length = 2**64 - 1
+msg = 313233343030
+result = invalid
+sig = 304d0288ffffffffffffffff2ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db
+
+# length = 2**64 - 1
+msg = 313233343030
+result = invalid
+sig = 304d02202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e180288ffffffffffffffff00b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db
+
+# incorrect length
+msg = 313233343030
+result = invalid
+sig = 30ff02202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db
+
+# incorrect length
+msg = 313233343030
+result = invalid
+sig = 304502ff2ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db
+
+# incorrect length
+msg = 313233343030
+result = invalid
+sig = 304502202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e1802ff00b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db
+
+# indefinite length without termination
+msg = 313233343030
+result = invalid
+sig = 308002202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db
+
+# indefinite length without termination
+msg = 313233343030
+result = invalid
+sig = 304502802ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db
+
+# indefinite length without termination
+msg = 313233343030
+result = invalid
+sig = 304502202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18028000b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db
+
+# removing sequence
+msg = 313233343030
+result = invalid
+sig = 
+
+# appending 0's to sequence
+msg = 313233343030
+result = invalid
+sig = 304702202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db0000
+
+# prepending 0's to sequence
+msg = 313233343030
+result = invalid
+sig = 3047000002202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db
+
+# appending unused 0's
+msg = 313233343030
+result = invalid
+sig = 304502202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db0000
+
+# appending unused 0's
+msg = 313233343030
+result = invalid
+sig = 304702202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e180000022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db
+
+# appending null value
+msg = 313233343030
+result = invalid
+sig = 304702202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db0500
+
+# appending null value
+msg = 313233343030
+result = invalid
+sig = 304702222ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e180500022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db
+
+# appending null value
+msg = 313233343030
+result = invalid
+sig = 304702202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022300b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db0500
+
+# including garbage
+msg = 313233343030
+result = invalid
+sig = 304a498177304502202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db
+
+# including garbage
+msg = 313233343030
+result = invalid
+sig = 30492500304502202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db
+
+# including garbage
+msg = 313233343030
+result = invalid
+sig = 3047304502202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db0004deadbeef
+
+# including garbage
+msg = 313233343030
+result = invalid
+sig = 304a222549817702202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db
+
+# including garbage
+msg = 313233343030
+result = invalid
+sig = 30492224250002202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db
+
+# including garbage
+msg = 313233343030
+result = invalid
+sig = 304d222202202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e180004deadbeef022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db
+
+# including garbage
+msg = 313233343030
+result = invalid
+sig = 304a02202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e182226498177022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db
+
+# including garbage
+msg = 313233343030
+result = invalid
+sig = 304902202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e1822252500022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db
+
+# including garbage
+msg = 313233343030
+result = invalid
+sig = 304d02202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e182223022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db0004deadbeef
+
+# including undefined tags
+msg = 313233343030
+result = invalid
+sig = 304daa00bb00cd00304502202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db
+
+# including undefined tags
+msg = 313233343030
+result = invalid
+sig = 304baa02aabb304502202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db
+
+# including undefined tags
+msg = 313233343030
+result = invalid
+sig = 304d2228aa00bb00cd0002202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db
+
+# including undefined tags
+msg = 313233343030
+result = invalid
+sig = 304b2226aa02aabb02202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db
+
+# including undefined tags
+msg = 313233343030
+result = invalid
+sig = 304d02202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e182229aa00bb00cd00022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db
+
+# including undefined tags
+msg = 313233343030
+result = invalid
+sig = 304b02202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e182227aa02aabb022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db
+
+# using composition with indefinite length
+msg = 313233343030
+result = invalid
+sig = 3080304502202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db0000
+
+# using composition with indefinite length
+msg = 313233343030
+result = invalid
+sig = 3049228002202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e180000022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db
+
+# using composition with indefinite length
+msg = 313233343030
+result = invalid
+sig = 304902202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e182280022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db0000
+
+# using composition with wrong tag
+msg = 313233343030
+result = invalid
+sig = 3080314502202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db0000
+
+# using composition with wrong tag
+msg = 313233343030
+result = invalid
+sig = 3049228003202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e180000022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db
+
+# using composition with wrong tag
+msg = 313233343030
+result = invalid
+sig = 304902202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e182280032100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db0000
+
+# Replacing sequence with NULL
+msg = 313233343030
+result = invalid
+sig = 0500
+
+# changing tag value
+msg = 313233343030
+result = invalid
+sig = 2e4502202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db
+
+# changing tag value
+msg = 313233343030
+result = invalid
+sig = 2f4502202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db
+
+# changing tag value
+msg = 313233343030
+result = invalid
+sig = 314502202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db
+
+# changing tag value
+msg = 313233343030
+result = invalid
+sig = 324502202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db
+
+# changing tag value
+msg = 313233343030
+result = invalid
+sig = ff4502202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db
+
+# changing tag value
+msg = 313233343030
+result = invalid
+sig = 304500202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db
+
+# changing tag value
+msg = 313233343030
+result = invalid
+sig = 304501202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db
+
+# changing tag value
+msg = 313233343030
+result = invalid
+sig = 304503202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db
+
+# changing tag value
+msg = 313233343030
+result = invalid
+sig = 304504202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db
+
+# changing tag value
+msg = 313233343030
+result = invalid
+sig = 3045ff202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db
+
+# changing tag value
+msg = 313233343030
+result = invalid
+sig = 304502202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18002100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db
+
+# changing tag value
+msg = 313233343030
+result = invalid
+sig = 304502202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18012100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db
+
+# changing tag value
+msg = 313233343030
+result = invalid
+sig = 304502202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18032100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db
+
+# changing tag value
+msg = 313233343030
+result = invalid
+sig = 304502202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18042100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db
+
+# changing tag value
+msg = 313233343030
+result = invalid
+sig = 304502202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18ff2100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db
+
+# dropping value of sequence
+msg = 313233343030
+result = invalid
+sig = 3000
+
+# using composition
+msg = 313233343030
+result = invalid
+sig = 30493001023044202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db
+
+# using composition
+msg = 313233343030
+result = invalid
+sig = 3049222402012b021fa3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db
+
+# using composition
+msg = 313233343030
+result = invalid
+sig = 304902202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e1822250201000220b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db
+
+# truncate sequence
+msg = 313233343030
+result = invalid
+sig = 304402202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847
+
+# truncate sequence
+msg = 313233343030
+result = invalid
+sig = 3044202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db
+
+# indefinite length
+msg = 313233343030
+result = invalid
+sig = 308002202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db0000
+
+# indefinite length with truncated delimiter
+msg = 313233343030
+result = invalid
+sig = 308002202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db00
+
+# indefinite length with additional element
+msg = 313233343030
+result = invalid
+sig = 308002202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db05000000
+
+# indefinite length with truncated element
+msg = 313233343030
+result = invalid
+sig = 308002202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db060811220000
+
+# indefinite length with garbage
+msg = 313233343030
+result = invalid
+sig = 308002202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db0000fe02beef
+
+# indefinite length with nonempty EOC
+msg = 313233343030
+result = invalid
+sig = 308002202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db0002beef
+
+# prepend empty sequence
+msg = 313233343030
+result = invalid
+sig = 3047300002202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db
+
+# append empty sequence
+msg = 313233343030
+result = invalid
+sig = 304702202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db3000
+
+# sequence of sequence
+msg = 313233343030
+result = invalid
+sig = 3047304502202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db
+
+# truncated sequence
+msg = 313233343030
+result = invalid
+sig = 302202202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18
+
+# repeat element in sequence
+msg = 313233343030
+result = invalid
+sig = 306802202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db
+
+# removing integer
+msg = 313233343030
+result = invalid
+sig = 3023022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db
+
+# appending 0's to integer
+msg = 313233343030
+result = invalid
+sig = 304702222ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e180000022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db
+
+# appending 0's to integer
+msg = 313233343030
+result = invalid
+sig = 304702202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022300b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db0000
+
+# prepending 0's to integer
+msg = 313233343030
+result = invalid
+sig = 3047022200002ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db
+
+# prepending 0's to integer
+msg = 313233343030
+result = invalid
+sig = 304702202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e180223000000b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db
+
+# Replacing integer with NULL
+msg = 313233343030
+result = invalid
+sig = 30250500022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db
+
+# Replacing integer with NULL
+msg = 313233343030
+result = invalid
+sig = 302402202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e180500
+
+# dropping value of integer
+msg = 313233343030
+result = invalid
+sig = 30250200022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db
+
+# dropping value of integer
+msg = 313233343030
+result = invalid
+sig = 302402202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e180200
+
+# modify first byte of integer
+msg = 313233343030
+result = invalid
+sig = 3045022029a3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db
+
+# modify first byte of integer
+msg = 313233343030
+result = invalid
+sig = 304502202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022102b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db
+
+# modify last byte of integer
+msg = 313233343030
+result = invalid
+sig = 304502202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e98022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db
+
+# modify last byte of integer
+msg = 313233343030
+result = invalid
+sig = 304502202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b491568475b
+
+# truncate integer
+msg = 313233343030
+result = invalid
+sig = 3044021f2ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db
+
+# truncate integer
+msg = 313233343030
+result = invalid
+sig = 3044021fa3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db
+
+# truncate integer
+msg = 313233343030
+result = invalid
+sig = 304402202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022000b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847
+
+# truncate integer
+msg = 313233343030
+result = invalid
+sig = 304402202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e180220b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db
+
+# leading ff in integer
+msg = 313233343030
+result = invalid
+sig = 30460221ff2ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db
+
+# leading ff in integer
+msg = 313233343030
+result = invalid
+sig = 304602202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e180222ff00b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db
+
+# infinity
+msg = 313233343030
+result = invalid
+sig = 3026090180022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db
+
+# infinity
+msg = 313233343030
+result = invalid
+sig = 302502202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18090180
+
+# Modified r or s, e.g. by adding or subtracting the order of the group
+msg = 313233343030
+result = invalid
+sig = 30460221012ba3a8bd6b94d5ed80a6d9d1190a436ebccc0833490686deac8635bcb9bf5369022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db
+
+# Modified r or s, e.g. by adding or subtracting the order of the group
+msg = 313233343030
+result = invalid
+sig = 30460221ff2ba3a8bf6b94d5eb80a6d9d1190a436f42fe12d7fad749d4c512a036c0f908c7022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db
+
+# Modified r or s, e.g. by adding or subtracting the order of the group
+msg = 313233343030
+result = invalid
+sig = 30450220d45c5741946b2a137f59262ee6f5bc91001af27a5e1117a64733950642a3d1e8022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db
+
+# Modified r or s, e.g. by adding or subtracting the order of the group
+msg = 313233343030
+result = invalid
+sig = 3046022100d45c5740946b2a147f59262ee6f5bc90bd01ed280528b62b3aed5fc93f06f739022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db
+
+# Modified r or s, e.g. by adding or subtracting the order of the group
+msg = 313233343030
+result = invalid
+sig = 30460221fed45c5742946b2a127f59262ee6f5bc914333f7ccb6f979215379ca434640ac97022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db
+
+# Modified r or s, e.g. by adding or subtracting the order of the group
+msg = 313233343030
+result = invalid
+sig = 30460221012ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db
+
+# Modified r or s, e.g. by adding or subtracting the order of the group
+msg = 313233343030
+result = invalid
+sig = 3046022100d45c5741946b2a137f59262ee6f5bc91001af27a5e1117a64733950642a3d1e8022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db
+
+# Modified r or s, e.g. by adding or subtracting the order of the group
+msg = 313233343030
+result = invalid
+sig = 304502202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022101b329f478a2bbd0a6c384ee1493b1f518276e0e4a5375928d6fcd160c11cb6d2c
+
+# Modified r or s, e.g. by adding or subtracting the order of the group
+msg = 313233343030
+result = invalid
+sig = 304402202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e180220b329f47aa2bbd0a4c384ee1493b1f518ada018ef05465583885980861905228a
+
+# Modified r or s, e.g. by adding or subtracting the order of the group
+msg = 313233343030
+result = invalid
+sig = 304502202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e180221ff4cd60b865d442f5a3c7b11eb6c4e0ae79578ec6353a20bf783ecb4b6ea97b825
+
+# Modified r or s, e.g. by adding or subtracting the order of the group
+msg = 313233343030
+result = invalid
+sig = 304502202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e180221fe4cd60b875d442f593c7b11eb6c4e0ae7d891f1b5ac8a6d729032e9f3ee3492d4
+
+# Modified r or s, e.g. by adding or subtracting the order of the group
+msg = 313233343030
+result = invalid
+sig = 304502202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022101b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db
+
+# Modified r or s, e.g. by adding or subtracting the order of the group
+msg = 313233343030
+result = invalid
+sig = 304402202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e1802204cd60b865d442f5a3c7b11eb6c4e0ae79578ec6353a20bf783ecb4b6ea97b825
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 3006020100020100
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 3006020100020101
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 30060201000201ff
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 3026020100022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 3026020100022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632550
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 3026020100022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632552
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 3026020100022100ffffffff00000001000000000000000000000000ffffffffffffffffffffffff
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 3026020100022100ffffffff00000001000000000000000000000001000000000000000000000000
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 3008020100090380fe01
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 3006020101020100
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 3006020101020101
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 30060201010201ff
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 3026020101022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 3026020101022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632550
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 3026020101022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632552
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 3026020101022100ffffffff00000001000000000000000000000000ffffffffffffffffffffffff
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 3026020101022100ffffffff00000001000000000000000000000001000000000000000000000000
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 3008020101090380fe01
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 30060201ff020100
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 30060201ff020101
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 30060201ff0201ff
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 30260201ff022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 30260201ff022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632550
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 30260201ff022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632552
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 30260201ff022100ffffffff00000001000000000000000000000000ffffffffffffffffffffffff
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 30260201ff022100ffffffff00000001000000000000000000000001000000000000000000000000
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 30080201ff090380fe01
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 3026022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551020100
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 3026022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551020101
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 3026022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc6325510201ff
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 3046022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 3046022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632550
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 3046022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632552
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 3046022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551022100ffffffff00000001000000000000000000000000ffffffffffffffffffffffff
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 3046022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551022100ffffffff00000001000000000000000000000001000000000000000000000000
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 3028022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551090380fe01
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 3026022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632550020100
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 3026022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632550020101
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 3026022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc6325500201ff
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 3046022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632550022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 3046022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632550022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632550
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 3046022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632550022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632552
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 3046022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632550022100ffffffff00000001000000000000000000000000ffffffffffffffffffffffff
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 3046022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632550022100ffffffff00000001000000000000000000000001000000000000000000000000
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 3028022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632550090380fe01
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 3026022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632552020100
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 3026022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632552020101
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 3026022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc6325520201ff
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 3046022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632552022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 3046022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632552022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632550
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 3046022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632552022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632552
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 3046022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632552022100ffffffff00000001000000000000000000000000ffffffffffffffffffffffff
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 3046022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632552022100ffffffff00000001000000000000000000000001000000000000000000000000
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 3028022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632552090380fe01
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 3026022100ffffffff00000001000000000000000000000000ffffffffffffffffffffffff020100
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 3026022100ffffffff00000001000000000000000000000000ffffffffffffffffffffffff020101
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 3026022100ffffffff00000001000000000000000000000000ffffffffffffffffffffffff0201ff
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 3046022100ffffffff00000001000000000000000000000000ffffffffffffffffffffffff022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 3046022100ffffffff00000001000000000000000000000000ffffffffffffffffffffffff022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632550
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 3046022100ffffffff00000001000000000000000000000000ffffffffffffffffffffffff022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632552
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 3046022100ffffffff00000001000000000000000000000000ffffffffffffffffffffffff022100ffffffff00000001000000000000000000000000ffffffffffffffffffffffff
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 3046022100ffffffff00000001000000000000000000000000ffffffffffffffffffffffff022100ffffffff00000001000000000000000000000001000000000000000000000000
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 3028022100ffffffff00000001000000000000000000000000ffffffffffffffffffffffff090380fe01
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 3026022100ffffffff00000001000000000000000000000001000000000000000000000000020100
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 3026022100ffffffff00000001000000000000000000000001000000000000000000000000020101
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 3026022100ffffffff000000010000000000000000000000010000000000000000000000000201ff
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 3046022100ffffffff00000001000000000000000000000001000000000000000000000000022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 3046022100ffffffff00000001000000000000000000000001000000000000000000000000022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632550
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 3046022100ffffffff00000001000000000000000000000001000000000000000000000000022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632552
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 3046022100ffffffff00000001000000000000000000000001000000000000000000000000022100ffffffff00000001000000000000000000000000ffffffffffffffffffffffff
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 3046022100ffffffff00000001000000000000000000000001000000000000000000000000022100ffffffff00000001000000000000000000000001000000000000000000000000
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 3028022100ffffffff00000001000000000000000000000001000000000000000000000000090380fe01
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Edge case for Shamir multiplication
+msg = 3639383139
+result = valid
+sig = 3044022064a1aab5000d0e804f3e2fc02bdee9be8ff312334e2ba16d11547c97711c898e02206af015971cc30be6d1a206d4e013e0997772a2f91d73286ffd683b9bb2cf4f1b
+
+[key.curve = secp256r1]
+[key.keySize = 256]
+[key.type = ECPublicKey]
+[key.wx = 0ad99500288d466940031d72a9f5445a4d43784640855bf0a69874d2de5fe103]
+[key.wy = 0c5011e6ef2c42dcd50d5d3d29f99ae6eba2c80c9244f4c5422f0979ff0c3ba5e]
+[keyDer = 3059301306072a8648ce3d020106082a8648ce3d030107034200040ad99500288d466940031d72a9f5445a4d43784640855bf0a69874d2de5fe103c5011e6ef2c42dcd50d5d3d29f99ae6eba2c80c9244f4c5422f0979ff0c3ba5e]
+[sha = SHA-256]
+
+# k*G has a large x-coordinate
+msg = 313233343030
+result = valid
+sig = 303502104319055358e8617b0c46353d039cdaab022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc63254e
+
+# r too large
+msg = 313233343030
+result = invalid
+sig = 3046022100ffffffff00000001000000000000000000000000fffffffffffffffffffffffc022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc63254e
+
+[key.curve = secp256r1]
+[key.keySize = 256]
+[key.type = ECPublicKey]
+[key.wx = 0ab05fd9d0de26b9ce6f4819652d9fc69193d0aa398f0fba8013e09c582204554]
+[key.wy = 19235271228c786759095d12b75af0692dd4103f19f6a8c32f49435a1e9b8d45]
+[keyDer = 3059301306072a8648ce3d020106082a8648ce3d03010703420004ab05fd9d0de26b9ce6f4819652d9fc69193d0aa398f0fba8013e09c58220455419235271228c786759095d12b75af0692dd4103f19f6a8c32f49435a1e9b8d45]
+[sha = SHA-256]
+
+# r,s are large
+msg = 313233343030
+result = valid
+sig = 3046022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc63254f022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc63254e
+
+[key.curve = secp256r1]
+[key.keySize = 256]
+[key.type = ECPublicKey]
+[key.wx = 080984f39a1ff38a86a68aa4201b6be5dfbfecf876219710b07badf6fdd4c6c56]
+[key.wy = 11feb97390d9826e7a06dfb41871c940d74415ed3cac2089f1445019bb55ed95]
+[keyDer = 3059301306072a8648ce3d020106082a8648ce3d0301070342000480984f39a1ff38a86a68aa4201b6be5dfbfecf876219710b07badf6fdd4c6c5611feb97390d9826e7a06dfb41871c940d74415ed3cac2089f1445019bb55ed95]
+[sha = SHA-256]
+
+# r and s^-1 have a large Hamming weight
+msg = 313233343030
+result = valid
+sig = 304502207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd022100909135bdb6799286170f5ead2de4f6511453fe50914f3df2de54a36383df8dd4
+
+[key.curve = secp256r1]
+[key.keySize = 256]
+[key.type = ECPublicKey]
+[key.wx = 4201b4272944201c3294f5baa9a3232b6dd687495fcc19a70a95bc602b4f7c05]
+[key.wy = 095c37eba9ee8171c1bb5ac6feaf753bc36f463e3aef16629572c0c0a8fb0800e]
+[keyDer = 3059301306072a8648ce3d020106082a8648ce3d030107034200044201b4272944201c3294f5baa9a3232b6dd687495fcc19a70a95bc602b4f7c0595c37eba9ee8171c1bb5ac6feaf753bc36f463e3aef16629572c0c0a8fb0800e]
+[sha = SHA-256]
+
+# r and s^-1 have a large Hamming weight
+msg = 313233343030
+result = valid
+sig = 304402207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd022027b4577ca009376f71303fd5dd227dcef5deb773ad5f5a84360644669ca249a5
+
+[key.curve = secp256r1]
+[key.keySize = 256]
+[key.type = ECPublicKey]
+[key.wx = 0a71af64de5126a4a4e02b7922d66ce9415ce88a4c9d25514d91082c8725ac957]
+[key.wy = 5d47723c8fbe580bb369fec9c2665d8e30a435b9932645482e7c9f11e872296b]
+[keyDer = 3059301306072a8648ce3d020106082a8648ce3d03010703420004a71af64de5126a4a4e02b7922d66ce9415ce88a4c9d25514d91082c8725ac9575d47723c8fbe580bb369fec9c2665d8e30a435b9932645482e7c9f11e872296b]
+[sha = SHA-256]
+
+# small r and s
+msg = 313233343030
+result = valid
+sig = 3006020105020101
+
+[key.curve = secp256r1]
+[key.keySize = 256]
+[key.type = ECPublicKey]
+[key.wx = 6627cec4f0731ea23fc2931f90ebe5b7572f597d20df08fc2b31ee8ef16b1572]
+[key.wy = 6170ed77d8d0a14fc5c9c3c4c9be7f0d3ee18f709bb275eaf2073e258fe694a5]
+[keyDer = 3059301306072a8648ce3d020106082a8648ce3d030107034200046627cec4f0731ea23fc2931f90ebe5b7572f597d20df08fc2b31ee8ef16b15726170ed77d8d0a14fc5c9c3c4c9be7f0d3ee18f709bb275eaf2073e258fe694a5]
+[sha = SHA-256]
+
+# small r and s
+msg = 313233343030
+result = valid
+sig = 3006020105020103
+
+[key.curve = secp256r1]
+[key.keySize = 256]
+[key.type = ECPublicKey]
+[key.wx = 5a7c8825e85691cce1f5e7544c54e73f14afc010cb731343262ca7ec5a77f5bf]
+[key.wy = 0ef6edf62a4497c1bd7b147fb6c3d22af3c39bfce95f30e13a16d3d7b2812f813]
+[keyDer = 3059301306072a8648ce3d020106082a8648ce3d030107034200045a7c8825e85691cce1f5e7544c54e73f14afc010cb731343262ca7ec5a77f5bfef6edf62a4497c1bd7b147fb6c3d22af3c39bfce95f30e13a16d3d7b2812f813]
+[sha = SHA-256]
+
+# small r and s
+msg = 313233343030
+result = valid
+sig = 3006020105020105
+
+[key.curve = secp256r1]
+[key.keySize = 256]
+[key.type = ECPublicKey]
+[key.wx = 0cbe0c29132cd738364fedd603152990c048e5e2fff996d883fa6caca7978c737]
+[key.wy = 70af6a8ce44cb41224b2603606f4c04d188e80bff7cc31ad5189d4ab0d70e8c1]
+[keyDer = 3059301306072a8648ce3d020106082a8648ce3d03010703420004cbe0c29132cd738364fedd603152990c048e5e2fff996d883fa6caca7978c73770af6a8ce44cb41224b2603606f4c04d188e80bff7cc31ad5189d4ab0d70e8c1]
+[sha = SHA-256]
+
+# small r and s
+msg = 313233343030
+result = valid
+sig = 3006020105020106
+
+# r is larger than n
+msg = 313233343030
+result = invalid
+sig = 3026022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632556020106
+
+[key.curve = secp256r1]
+[key.keySize = 256]
+[key.type = ECPublicKey]
+[key.wx = 4be4178097002f0deab68f0d9a130e0ed33a6795d02a20796db83444b037e139]
+[key.wy = 20f13051e0eecdcfce4dacea0f50d1f247caa669f193c1b4075b51ae296d2d56]
+[keyDer = 3059301306072a8648ce3d020106082a8648ce3d030107034200044be4178097002f0deab68f0d9a130e0ed33a6795d02a20796db83444b037e13920f13051e0eecdcfce4dacea0f50d1f247caa669f193c1b4075b51ae296d2d56]
+[sha = SHA-256]
+
+# s is larger than n
+msg = 313233343030
+result = invalid
+sig = 3026020105022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc75fbd8
+
+[key.curve = secp256r1]
+[key.keySize = 256]
+[key.type = ECPublicKey]
+[key.wx = 0d0f73792203716afd4be4329faa48d269f15313ebbba379d7783c97bf3e890d9]
+[key.wy = 0971f4a3206605bec21782bf5e275c714417e8f566549e6bc68690d2363c89cc1]
+[keyDer = 3059301306072a8648ce3d020106082a8648ce3d03010703420004d0f73792203716afd4be4329faa48d269f15313ebbba379d7783c97bf3e890d9971f4a3206605bec21782bf5e275c714417e8f566549e6bc68690d2363c89cc1]
+[sha = SHA-256]
+
+# small r and s^-1
+msg = 313233343030
+result = valid
+sig = 3027020201000221008f1e3c7862c58b16bb76eddbb76eddbb516af4f63f2d74d76e0d28c9bb75ea88
+
+[key.curve = secp256r1]
+[key.keySize = 256]
+[key.type = ECPublicKey]
+[key.wx = 4838b2be35a6276a80ef9e228140f9d9b96ce83b7a254f71ccdebbb8054ce05f]
+[key.wy = 0fa9cbc123c919b19e00238198d04069043bd660a828814051fcb8aac738a6c6b]
+[keyDer = 3059301306072a8648ce3d020106082a8648ce3d030107034200044838b2be35a6276a80ef9e228140f9d9b96ce83b7a254f71ccdebbb8054ce05ffa9cbc123c919b19e00238198d04069043bd660a828814051fcb8aac738a6c6b]
+[sha = SHA-256]
+
+# smallish r and s^-1
+msg = 313233343030
+result = valid
+sig = 302c02072d9b4d347952d6022100ef3043e7329581dbb3974497710ab11505ee1c87ff907beebadd195a0ffe6d7a
+
+[key.curve = secp256r1]
+[key.keySize = 256]
+[key.type = ECPublicKey]
+[key.wx = 7393983ca30a520bbc4783dc9960746aab444ef520c0a8e771119aa4e74b0f64]
+[key.wy = 0e9d7be1ab01a0bf626e709863e6a486dbaf32793afccf774e2c6cd27b1857526]
+[keyDer = 3059301306072a8648ce3d020106082a8648ce3d030107034200047393983ca30a520bbc4783dc9960746aab444ef520c0a8e771119aa4e74b0f64e9d7be1ab01a0bf626e709863e6a486dbaf32793afccf774e2c6cd27b1857526]
+[sha = SHA-256]
+
+# 100-bit r and small s^-1
+msg = 313233343030
+result = valid
+sig = 3032020d1033e67e37b32b445580bf4eff0221008b748b74000000008b748b748b748b7466e769ad4a16d3dcd87129b8e91d1b4d
+
+[key.curve = secp256r1]
+[key.keySize = 256]
+[key.type = ECPublicKey]
+[key.wx = 5ac331a1103fe966697379f356a937f350588a05477e308851b8a502d5dfcdc5]
+[key.wy = 0fe9993df4b57939b2b8da095bf6d794265204cfe03be995a02e65d408c871c0b]
+[keyDer = 3059301306072a8648ce3d020106082a8648ce3d030107034200045ac331a1103fe966697379f356a937f350588a05477e308851b8a502d5dfcdc5fe9993df4b57939b2b8da095bf6d794265204cfe03be995a02e65d408c871c0b]
+[sha = SHA-256]
+
+# small r and 100 bit s^-1
+msg = 313233343030
+result = valid
+sig = 302702020100022100ef9f6ba4d97c09d03178fa20b4aaad83be3cf9cb824a879fec3270fc4b81ef5b
+
+[key.curve = secp256r1]
+[key.keySize = 256]
+[key.type = ECPublicKey]
+[key.wx = 1d209be8de2de877095a399d3904c74cc458d926e27bb8e58e5eae5767c41509]
+[key.wy = 0dd59e04c214f7b18dce351fc2a549893a6860e80163f38cc60a4f2c9d040d8c9]
+[keyDer = 3059301306072a8648ce3d020106082a8648ce3d030107034200041d209be8de2de877095a399d3904c74cc458d926e27bb8e58e5eae5767c41509dd59e04c214f7b18dce351fc2a549893a6860e80163f38cc60a4f2c9d040d8c9]
+[sha = SHA-256]
+
+# 100-bit r and s^-1
+msg = 313233343030
+result = valid
+sig = 3032020d062522bbd3ecbe7c39e93e7c25022100ef9f6ba4d97c09d03178fa20b4aaad83be3cf9cb824a879fec3270fc4b81ef5b
+
+[key.curve = secp256r1]
+[key.keySize = 256]
+[key.type = ECPublicKey]
+[key.wx = 083539fbee44625e3acaafa2fcb41349392cef0633a1b8fabecee0c133b10e99]
+[key.wy = 0915c1ebe7bf00df8535196770a58047ae2a402f26326bb7d41d4d7616337911e]
+[keyDer = 3059301306072a8648ce3d020106082a8648ce3d03010703420004083539fbee44625e3acaafa2fcb41349392cef0633a1b8fabecee0c133b10e99915c1ebe7bf00df8535196770a58047ae2a402f26326bb7d41d4d7616337911e]
+[sha = SHA-256]
+
+# r and s^-1 are close to n
+msg = 313233343030
+result = valid
+sig = 3045022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc6324d50220555555550000000055555555555555553ef7a8e48d07df81a693439654210c70
+
+[key.curve = secp256r1]
+[key.keySize = 256]
+[key.type = ECPublicKey]
+[key.wx = 08aeb368a7027a4d64abdea37390c0c1d6a26f399e2d9734de1eb3d0e19373874]
+[key.wy = 5bd13834715e1dbae9b875cf07bd55e1b6691c7f7536aef3b19bf7a4adf576d]
+[keyDer = 3059301306072a8648ce3d020106082a8648ce3d030107034200048aeb368a7027a4d64abdea37390c0c1d6a26f399e2d9734de1eb3d0e1937387405bd13834715e1dbae9b875cf07bd55e1b6691c7f7536aef3b19bf7a4adf576d]
+[sha = SHA-256]
+
+# s == 1
+msg = 313233343030
+result = valid
+sig = 30250220555555550000000055555555555555553ef7a8e48d07df81a693439654210c70020101
+
+# s == 0
+msg = 313233343030
+result = invalid
+sig = 30250220555555550000000055555555555555553ef7a8e48d07df81a693439654210c70020100
+
+[key.curve = secp256r1]
+[key.keySize = 256]
+[key.type = ECPublicKey]
+[key.wx = 0b533d4695dd5b8c5e07757e55e6e516f7e2c88fa0239e23f60e8ec07dd70f287]
+[key.wy = 1b134ee58cc583278456863f33c3a85d881f7d4a39850143e29d4eaf009afe47]
+[keyDer = 3059301306072a8648ce3d020106082a8648ce3d03010703420004b533d4695dd5b8c5e07757e55e6e516f7e2c88fa0239e23f60e8ec07dd70f2871b134ee58cc583278456863f33c3a85d881f7d4a39850143e29d4eaf009afe47]
+[sha = SHA-256]
+
+# point at infinity during verify
+msg = 313233343030
+result = invalid
+sig = 304402207fffffff800000007fffffffffffffffde737d56d38bcf4279dce5617e3192a80220555555550000000055555555555555553ef7a8e48d07df81a693439654210c70
+
+[key.curve = secp256r1]
+[key.keySize = 256]
+[key.type = ECPublicKey]
+[key.wx = 69da0364734d2e530fece94019265fefb781a0f1b08f6c8897bdf6557927c8b8]
+[key.wy = 66d2d3c7dcd518b23d726960f069ad71a933d86ef8abbcce8b20f71e2a847002]
+[keyDer = 3059301306072a8648ce3d020106082a8648ce3d0301070342000469da0364734d2e530fece94019265fefb781a0f1b08f6c8897bdf6557927c8b866d2d3c7dcd518b23d726960f069ad71a933d86ef8abbcce8b20f71e2a847002]
+[sha = SHA-256]
+
+# u1 == 1
+msg = 313233343030
+result = valid
+sig = 30450220555555550000000055555555555555553ef7a8e48d07df81a693439654210c70022100bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca605023
+
+[key.curve = secp256r1]
+[key.keySize = 256]
+[key.type = ECPublicKey]
+[key.wx = 0d8adc00023a8edc02576e2b63e3e30621a471e2b2320620187bf067a1ac1ff32]
+[key.wy = 33e2b50ec09807accb36131fff95ed12a09a86b4ea9690aa32861576ba2362e1]
+[keyDer = 3059301306072a8648ce3d020106082a8648ce3d03010703420004d8adc00023a8edc02576e2b63e3e30621a471e2b2320620187bf067a1ac1ff3233e2b50ec09807accb36131fff95ed12a09a86b4ea9690aa32861576ba2362e1]
+[sha = SHA-256]
+
+# u1 == n - 1
+msg = 313233343030
+result = valid
+sig = 30440220555555550000000055555555555555553ef7a8e48d07df81a693439654210c70022044a5ad0ad0636d9f12bc9e0a6bdd5e1cbcb012ea7bf091fcec15b0c43202d52e
+
+[key.curve = secp256r1]
+[key.keySize = 256]
+[key.type = ECPublicKey]
+[key.wx = 3623ac973ced0a56fa6d882f03a7d5c7edca02cfc7b2401fab3690dbe75ab785]
+[key.wy = 08db06908e64b28613da7257e737f39793da8e713ba0643b92e9bb3252be7f8fe]
+[keyDer = 3059301306072a8648ce3d020106082a8648ce3d030107034200043623ac973ced0a56fa6d882f03a7d5c7edca02cfc7b2401fab3690dbe75ab7858db06908e64b28613da7257e737f39793da8e713ba0643b92e9bb3252be7f8fe]
+[sha = SHA-256]
+
+# u2 == 1
+msg = 313233343030
+result = valid
+sig = 30440220555555550000000055555555555555553ef7a8e48d07df81a693439654210c700220555555550000000055555555555555553ef7a8e48d07df81a693439654210c70
+
+[key.curve = secp256r1]
+[key.keySize = 256]
+[key.type = ECPublicKey]
+[key.wx = 0cf04ea77e9622523d894b93ff52dc3027b31959503b6fa3890e5e04263f922f1]
+[key.wy = 0e8528fb7c006b3983c8b8400e57b4ed71740c2f3975438821199bedeaecab2e9]
+[keyDer = 3059301306072a8648ce3d020106082a8648ce3d03010703420004cf04ea77e9622523d894b93ff52dc3027b31959503b6fa3890e5e04263f922f1e8528fb7c006b3983c8b8400e57b4ed71740c2f3975438821199bedeaecab2e9]
+[sha = SHA-256]
+
+# u2 == n - 1
+msg = 313233343030
+result = valid
+sig = 30450220555555550000000055555555555555553ef7a8e48d07df81a693439654210c70022100aaaaaaaa00000000aaaaaaaaaaaaaaaa7def51c91a0fbf034d26872ca84218e1
+
+[key.curve = secp256r1]
+[key.keySize = 256]
+[key.type = ECPublicKey]
+[key.wx = 0db7a2c8a1ab573e5929dc24077b508d7e683d49227996bda3e9f78dbeff77350]
+[key.wy = 4f417f3bc9a88075c2e0aadd5a13311730cf7cc76a82f11a36eaf08a6c99a206]
+[keyDer = 3059301306072a8648ce3d020106082a8648ce3d03010703420004db7a2c8a1ab573e5929dc24077b508d7e683d49227996bda3e9f78dbeff773504f417f3bc9a88075c2e0aadd5a13311730cf7cc76a82f11a36eaf08a6c99a206]
+[sha = SHA-256]
+
+# edge case for u1
+msg = 313233343030
+result = valid
+sig = 304502207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd022100e91e1ba60fdedb76a46bcb51dc0b8b4b7e019f0a28721885fa5d3a8196623397
+
+[key.curve = secp256r1]
+[key.keySize = 256]
+[key.type = ECPublicKey]
+[key.wx = 0dead11c7a5b396862f21974dc4752fadeff994efe9bbd05ab413765ea80b6e1f]
+[key.wy = 1de3f0640e8ac6edcf89cff53c40e265bb94078a343736df07aa0318fc7fe1ff]
+[keyDer = 3059301306072a8648ce3d020106082a8648ce3d03010703420004dead11c7a5b396862f21974dc4752fadeff994efe9bbd05ab413765ea80b6e1f1de3f0640e8ac6edcf89cff53c40e265bb94078a343736df07aa0318fc7fe1ff]
+[sha = SHA-256]
+
+# edge case for u1
+msg = 313233343030
+result = valid
+sig = 304502207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd022100fdea5843ffeb73af94313ba4831b53fe24f799e525b1e8e8c87b59b95b430ad9
+
+[key.curve = secp256r1]
+[key.keySize = 256]
+[key.type = ECPublicKey]
+[key.wx = 0d0bc472e0d7c81ebaed3a6ef96c18613bb1fea6f994326fbe80e00dfde67c7e9]
+[key.wy = 0986c723ea4843d48389b946f64ad56c83ad70ff17ba85335667d1bb9fa619efd]
+[keyDer = 3059301306072a8648ce3d020106082a8648ce3d03010703420004d0bc472e0d7c81ebaed3a6ef96c18613bb1fea6f994326fbe80e00dfde67c7e9986c723ea4843d48389b946f64ad56c83ad70ff17ba85335667d1bb9fa619efd]
+[sha = SHA-256]
+
+# edge case for u1
+msg = 313233343030
+result = valid
+sig = 304402207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd022003ffcabf2f1b4d2a65190db1680d62bb994e41c5251cd73b3c3dfc5e5bafc035
+
+[key.curve = secp256r1]
+[key.keySize = 256]
+[key.type = ECPublicKey]
+[key.wx = 0a0a44ca947d66a2acb736008b9c08d1ab2ad03776e02640f78495d458dd51c32]
+[key.wy = 6337fe5cf8c4604b1f1c409dc2d872d4294a4762420df43a30a2392e40426add]
+[keyDer = 3059301306072a8648ce3d020106082a8648ce3d03010703420004a0a44ca947d66a2acb736008b9c08d1ab2ad03776e02640f78495d458dd51c326337fe5cf8c4604b1f1c409dc2d872d4294a4762420df43a30a2392e40426add]
+[sha = SHA-256]
+
+# edge case for u1
+msg = 313233343030
+result = valid
+sig = 304402207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd02204dfbc401f971cd304b33dfdb17d0fed0fe4c1a88ae648e0d2847f74977534989
+
+[key.curve = secp256r1]
+[key.keySize = 256]
+[key.type = ECPublicKey]
+[key.wx = 0c9c2115290d008b45fb65fad0f602389298c25420b775019d42b62c3ce8a96b7]
+[key.wy = 3877d25a8080dc02d987ca730f0405c2c9dbefac46f9e601cc3f06e9713973fd]
+[keyDer = 3059301306072a8648ce3d020106082a8648ce3d03010703420004c9c2115290d008b45fb65fad0f602389298c25420b775019d42b62c3ce8a96b73877d25a8080dc02d987ca730f0405c2c9dbefac46f9e601cc3f06e9713973fd]
+[sha = SHA-256]
+
+# edge case for u1
+msg = 313233343030
+result = valid
+sig = 304502207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd022100bc4024761cd2ffd43dfdb17d0fed112b988977055cd3a8e54971eba9cda5ca71
+
+[key.curve = secp256r1]
+[key.keySize = 256]
+[key.type = ECPublicKey]
+[key.wx = 5eca1ef4c287dddc66b8bccf1b88e8a24c0018962f3c5e7efa83bc1a5ff6033e]
+[key.wy = 5e79c4cb2c245b8c45abdce8a8e4da758d92a607c32cd407ecaef22f1c934a71]
+[keyDer = 3059301306072a8648ce3d020106082a8648ce3d030107034200045eca1ef4c287dddc66b8bccf1b88e8a24c0018962f3c5e7efa83bc1a5ff6033e5e79c4cb2c245b8c45abdce8a8e4da758d92a607c32cd407ecaef22f1c934a71]
+[sha = SHA-256]
+
+# edge case for u1
+msg = 313233343030
+result = valid
+sig = 304402207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd0220788048ed39a5ffa77bfb62fa1fda2257742bf35d128fb3459f2a0c909ee86f91
+
+[key.curve = secp256r1]
+[key.keySize = 256]
+[key.type = ECPublicKey]
+[key.wx = 5caaa030e7fdf0e4936bc7ab5a96353e0a01e4130c3f8bf22d473e317029a47a]
+[key.wy = 0deb6adc462f7058f2a20d371e9702254e9b201642005b3ceda926b42b178bef9]
+[keyDer = 3059301306072a8648ce3d020106082a8648ce3d030107034200045caaa030e7fdf0e4936bc7ab5a96353e0a01e4130c3f8bf22d473e317029a47adeb6adc462f7058f2a20d371e9702254e9b201642005b3ceda926b42b178bef9]
+[sha = SHA-256]
+
+# edge case for u1
+msg = 313233343030
+result = valid
+sig = 304402207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd0220476d9131fd381bd917d0fed112bc9e0a5924b5ed5b11167edd8b23582b3cb15e
+
+[key.curve = secp256r1]
+[key.keySize = 256]
+[key.type = ECPublicKey]
+[key.wx = 0c2fd20bac06e555bb8ac0ce69eb1ea20f83a1fc3501c8a66469b1a31f619b098]
+[key.wy = 6237050779f52b615bd7b8d76a25fc95ca2ed32525c75f27ffc87ac397e6cbaf]
+[keyDer = 3059301306072a8648ce3d020106082a8648ce3d03010703420004c2fd20bac06e555bb8ac0ce69eb1ea20f83a1fc3501c8a66469b1a31f619b0986237050779f52b615bd7b8d76a25fc95ca2ed32525c75f27ffc87ac397e6cbaf]
+[sha = SHA-256]
+
+# edge case for u1
+msg = 313233343030
+result = valid
+sig = 304502207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd0221008374253e3e21bd154448d0a8f640fe46fafa8b19ce78d538f6cc0a19662d3601
+
+[key.curve = secp256r1]
+[key.keySize = 256]
+[key.type = ECPublicKey]
+[key.wx = 3fd6a1ca7f77fb3b0bbe726c372010068426e11ea6ae78ce17bedae4bba86ced]
+[key.wy = 3ce5516406bf8cfaab8745eac1cd69018ad6f50b5461872ddfc56e0db3c8ff4]
+[keyDer = 3059301306072a8648ce3d020106082a8648ce3d030107034200043fd6a1ca7f77fb3b0bbe726c372010068426e11ea6ae78ce17bedae4bba86ced03ce5516406bf8cfaab8745eac1cd69018ad6f50b5461872ddfc56e0db3c8ff4]
+[sha = SHA-256]
+
+# edge case for u1
+msg = 313233343030
+result = valid
+sig = 304402207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd0220357cfd3be4d01d413c5b9ede36cba5452c11ee7fe14879e749ae6a2d897a52d6
+
+[key.curve = secp256r1]
+[key.keySize = 256]
+[key.type = ECPublicKey]
+[key.wx = 09cb8e51e27a5ae3b624a60d6dc32734e4989db20e9bca3ede1edf7b086911114]
+[key.wy = 0b4c104ab3c677e4b36d6556e8ad5f523410a19f2e277aa895fc57322b4427544]
+[keyDer = 3059301306072a8648ce3d020106082a8648ce3d030107034200049cb8e51e27a5ae3b624a60d6dc32734e4989db20e9bca3ede1edf7b086911114b4c104ab3c677e4b36d6556e8ad5f523410a19f2e277aa895fc57322b4427544]
+[sha = SHA-256]
+
+# edge case for u1
+msg = 313233343030
+result = valid
+sig = 304402207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd022029798c5c0ee287d4a5e8e6b799fd86b8df5225298e6ffc807cd2f2bc27a0a6d8
+
+[key.curve = secp256r1]
+[key.keySize = 256]
+[key.type = ECPublicKey]
+[key.wx = 0a3e52c156dcaf10502620b7955bc2b40bc78ef3d569e1223c262512d8f49602a]
+[key.wy = 4a2039f31c1097024ad3cc86e57321de032355463486164cf192944977df147f]
+[keyDer = 3059301306072a8648ce3d020106082a8648ce3d03010703420004a3e52c156dcaf10502620b7955bc2b40bc78ef3d569e1223c262512d8f49602a4a2039f31c1097024ad3cc86e57321de032355463486164cf192944977df147f]
+[sha = SHA-256]
+
+# edge case for u1
+msg = 313233343030
+result = valid
+sig = 304402207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd02200b70f22c781092452dca1a5711fa3a5a1f72add1bf52c2ff7cae4820b30078dd
+
+[key.curve = secp256r1]
+[key.keySize = 256]
+[key.type = ECPublicKey]
+[key.wx = 0f19b78928720d5bee8e670fb90010fb15c37bf91b58a5157c3f3c059b2655e88]
+[key.wy = 0cf701ec962fb4a11dcf273f5dc357e58468560c7cfeb942d074abd4329260509]
+[keyDer = 3059301306072a8648ce3d020106082a8648ce3d03010703420004f19b78928720d5bee8e670fb90010fb15c37bf91b58a5157c3f3c059b2655e88cf701ec962fb4a11dcf273f5dc357e58468560c7cfeb942d074abd4329260509]
+[sha = SHA-256]
+
+# edge case for u1
+msg = 313233343030
+result = valid
+sig = 304402207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd022016e1e458f021248a5b9434ae23f474b43ee55ba37ea585fef95c90416600f1ba
+
+[key.curve = secp256r1]
+[key.keySize = 256]
+[key.type = ECPublicKey]
+[key.wx = 083a744459ecdfb01a5cf52b27a05bb7337482d242f235d7b4cb89345545c90a8]
+[key.wy = 0c05d49337b9649813287de9ffe90355fd905df5f3c32945828121f37cc50de6e]
+[keyDer = 3059301306072a8648ce3d020106082a8648ce3d0301070342000483a744459ecdfb01a5cf52b27a05bb7337482d242f235d7b4cb89345545c90a8c05d49337b9649813287de9ffe90355fd905df5f3c32945828121f37cc50de6e]
+[sha = SHA-256]
+
+# edge case for u1
+msg = 313233343030
+result = valid
+sig = 304402207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd02202252d6856831b6cf895e4f0535eeaf0e5e5809753df848fe760ad86219016a97
+
+[key.curve = secp256r1]
+[key.keySize = 256]
+[key.type = ECPublicKey]
+[key.wx = 0dd13c6b34c56982ddae124f039dfd23f4b19bbe88cee8e528ae51e5d6f3a21d7]
+[key.wy = 0bfad4c2e6f263fe5eb59ca974d039fc0e4c3345692fb5320bdae4bd3b42a45ff]
+[keyDer = 3059301306072a8648ce3d020106082a8648ce3d03010703420004dd13c6b34c56982ddae124f039dfd23f4b19bbe88cee8e528ae51e5d6f3a21d7bfad4c2e6f263fe5eb59ca974d039fc0e4c3345692fb5320bdae4bd3b42a45ff]
+[sha = SHA-256]
+
+# edge case for u1
+msg = 313233343030
+result = valid
+sig = 304502207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd02210081ffe55f178da695b28c86d8b406b15dab1a9e39661a3ae017fbe390ac0972c3
+
+[key.curve = secp256r1]
+[key.keySize = 256]
+[key.type = ECPublicKey]
+[key.wx = 67e6f659cdde869a2f65f094e94e5b4dfad636bbf95192feeed01b0f3deb7460]
+[key.wy = 0a37e0a51f258b7aeb51dfe592f5cfd5685bbe58712c8d9233c62886437c38ba0]
+[keyDer = 3059301306072a8648ce3d020106082a8648ce3d0301070342000467e6f659cdde869a2f65f094e94e5b4dfad636bbf95192feeed01b0f3deb7460a37e0a51f258b7aeb51dfe592f5cfd5685bbe58712c8d9233c62886437c38ba0]
+[sha = SHA-256]
+
+# edge case for u2
+msg = 313233343030
+result = valid
+sig = 304402207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd02207fffffffaaaaaaaaffffffffffffffffe9a2538f37b28a2c513dee40fecbb71a
+
+[key.curve = secp256r1]
+[key.keySize = 256]
+[key.type = ECPublicKey]
+[key.wx = 2eb6412505aec05c6545f029932087e490d05511e8ec1f599617bb367f9ecaaf]
+[key.wy = 0805f51efcc4803403f9b1ae0124890f06a43fedcddb31830f6669af292895cb0]
+[keyDer = 3059301306072a8648ce3d020106082a8648ce3d030107034200042eb6412505aec05c6545f029932087e490d05511e8ec1f599617bb367f9ecaaf805f51efcc4803403f9b1ae0124890f06a43fedcddb31830f6669af292895cb0]
+[sha = SHA-256]
+
+# edge case for u2
+msg = 313233343030
+result = valid
+sig = 304502207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd022100b62f26b5f2a2b26f6de86d42ad8a13da3ab3cccd0459b201de009e526adf21f2
+
+[key.curve = secp256r1]
+[key.keySize = 256]
+[key.type = ECPublicKey]
+[key.wx = 084db645868eab35e3a9fd80e056e2e855435e3a6b68d75a50a854625fe0d7f35]
+[key.wy = 6d2589ac655edc9a11ef3e075eddda9abf92e72171570ef7bf43a2ee39338cfe]
+[keyDer = 3059301306072a8648ce3d020106082a8648ce3d0301070342000484db645868eab35e3a9fd80e056e2e855435e3a6b68d75a50a854625fe0d7f356d2589ac655edc9a11ef3e075eddda9abf92e72171570ef7bf43a2ee39338cfe]
+[sha = SHA-256]
+
+# edge case for u2
+msg = 313233343030
+result = valid
+sig = 304502207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd022100bb1d9ac949dd748cd02bbbe749bd351cd57b38bb61403d700686aa7b4c90851e
+
+[key.curve = secp256r1]
+[key.keySize = 256]
+[key.type = ECPublicKey]
+[key.wx = 091b9e47c56278662d75c0983b22ca8ea6aa5059b7a2ff7637eb2975e386ad663]
+[key.wy = 49aa8ff283d0f77c18d6d11dc062165fd13c3c0310679c1408302a16854ecfbd]
+[keyDer = 3059301306072a8648ce3d020106082a8648ce3d0301070342000491b9e47c56278662d75c0983b22ca8ea6aa5059b7a2ff7637eb2975e386ad66349aa8ff283d0f77c18d6d11dc062165fd13c3c0310679c1408302a16854ecfbd]
+[sha = SHA-256]
+
+# edge case for u2
+msg = 313233343030
+result = valid
+sig = 304402207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd022066755a00638cdaec1c732513ca0234ece52545dac11f816e818f725b4f60aaf2
+
+[key.curve = secp256r1]
+[key.keySize = 256]
+[key.type = ECPublicKey]
+[key.wx = 0f3ec2f13caf04d0192b47fb4c5311fb6d4dc6b0a9e802e5327f7ec5ee8e4834d]
+[key.wy = 0f97e3e468b7d0db867d6ecfe81e2b0f9531df87efdb47c1338ac321fefe5a432]
+[keyDer = 3059301306072a8648ce3d020106082a8648ce3d03010703420004f3ec2f13caf04d0192b47fb4c5311fb6d4dc6b0a9e802e5327f7ec5ee8e4834df97e3e468b7d0db867d6ecfe81e2b0f9531df87efdb47c1338ac321fefe5a432]
+[sha = SHA-256]
+
+# edge case for u2
+msg = 313233343030
+result = valid
+sig = 304402207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd022055a00c9fcdaebb6032513ca0234ecfffe98ebe492fdf02e48ca48e982beb3669
+
+[key.curve = secp256r1]
+[key.keySize = 256]
+[key.type = ECPublicKey]
+[key.wx = 0d92b200aefcab6ac7dafd9acaf2fa10b3180235b8f46b4503e4693c670fccc88]
+[key.wy = 5ef2f3aebf5b317475336256768f7c19efb7352d27e4cccadc85b6b8ab922c72]
+[keyDer = 3059301306072a8648ce3d020106082a8648ce3d03010703420004d92b200aefcab6ac7dafd9acaf2fa10b3180235b8f46b4503e4693c670fccc885ef2f3aebf5b317475336256768f7c19efb7352d27e4cccadc85b6b8ab922c72]
+[sha = SHA-256]
+
+# edge case for u2
+msg = 313233343030
+result = valid
+sig = 304502207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd022100ab40193f9b5d76c064a27940469d9fffd31d7c925fbe05c919491d3057d66cd2
+
+[key.curve = secp256r1]
+[key.keySize = 256]
+[key.type = ECPublicKey]
+[key.wx = 0a88361eb92ecca2625b38e5f98bbabb96bf179b3d76fc48140a3bcd881523cd]
+[key.wy = 0e6bdf56033f84a5054035597375d90866aa2c96b86a41ccf6edebf47298ad489]
+[keyDer = 3059301306072a8648ce3d020106082a8648ce3d030107034200040a88361eb92ecca2625b38e5f98bbabb96bf179b3d76fc48140a3bcd881523cde6bdf56033f84a5054035597375d90866aa2c96b86a41ccf6edebf47298ad489]
+[sha = SHA-256]
+
+# edge case for u2
+msg = 313233343030
+result = valid
+sig = 304502207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd022100ca0234ebb5fdcb13ca0234ecffffffffcb0dadbbc7f549f8a26b4408d0dc8600
+
+[key.curve = secp256r1]
+[key.keySize = 256]
+[key.type = ECPublicKey]
+[key.wx = 0d0fb17ccd8fafe827e0c1afc5d8d80366e2b20e7f14a563a2ba50469d84375e8]
+[key.wy = 68612569d39e2bb9f554355564646de99ac602cc6349cf8c1e236a7de7637d93]
+[keyDer = 3059301306072a8648ce3d020106082a8648ce3d03010703420004d0fb17ccd8fafe827e0c1afc5d8d80366e2b20e7f14a563a2ba50469d84375e868612569d39e2bb9f554355564646de99ac602cc6349cf8c1e236a7de7637d93]
+[sha = SHA-256]
+
+# edge case for u2
+msg = 313233343030
+result = valid
+sig = 304502207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd022100bfffffff3ea3677e082b9310572620ae19933a9e65b285598711c77298815ad3
+
+[key.curve = secp256r1]
+[key.keySize = 256]
+[key.type = ECPublicKey]
+[key.wx = 0836f33bbc1dc0d3d3abbcef0d91f11e2ac4181076c9af0a22b1e4309d3edb276]
+[key.wy = 09ab443ff6f901e30c773867582997c2bec2b0cb8120d760236f3a95bbe881f75]
+[keyDer = 3059301306072a8648ce3d020106082a8648ce3d03010703420004836f33bbc1dc0d3d3abbcef0d91f11e2ac4181076c9af0a22b1e4309d3edb2769ab443ff6f901e30c773867582997c2bec2b0cb8120d760236f3a95bbe881f75]
+[sha = SHA-256]
+
+# edge case for u2
+msg = 313233343030
+result = valid
+sig = 304402207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd0220266666663bbbbbbbe6666666666666665b37902e023fab7c8f055d86e5cc41f4
+
+[key.curve = secp256r1]
+[key.keySize = 256]
+[key.type = ECPublicKey]
+[key.wx = 092f99fbe973ed4a299719baee4b432741237034dec8d72ba5103cb33e55feeb8]
+[key.wy = 33dd0e91134c734174889f3ebcf1b7a1ac05767289280ee7a794cebd6e69697]
+[keyDer = 3059301306072a8648ce3d020106082a8648ce3d0301070342000492f99fbe973ed4a299719baee4b432741237034dec8d72ba5103cb33e55feeb8033dd0e91134c734174889f3ebcf1b7a1ac05767289280ee7a794cebd6e69697]
+[sha = SHA-256]
+
+# edge case for u2
+msg = 313233343030
+result = valid
+sig = 304502207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd022100bfffffff36db6db7a492492492492492146c573f4c6dfc8d08a443e258970b09
+
+[key.curve = secp256r1]
+[key.keySize = 256]
+[key.type = ECPublicKey]
+[key.wx = 0d35ba58da30197d378e618ec0fa7e2e2d12cffd73ebbb2049d130bba434af09e]
+[key.wy = 0ff83986e6875e41ea432b7585a49b3a6c77cbb3c47919f8e82874c794635c1d2]
+[keyDer = 3059301306072a8648ce3d020106082a8648ce3d03010703420004d35ba58da30197d378e618ec0fa7e2e2d12cffd73ebbb2049d130bba434af09eff83986e6875e41ea432b7585a49b3a6c77cbb3c47919f8e82874c794635c1d2]
+[sha = SHA-256]
+
+# edge case for u2
+msg = 313233343030
+result = valid
+sig = 304502207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd022100bfffffff2aaaaaab7fffffffffffffffc815d0e60b3e596ecb1ad3a27cfd49c4
+
+[key.curve = secp256r1]
+[key.keySize = 256]
+[key.type = ECPublicKey]
+[key.wx = 08651ce490f1b46d73f3ff475149be29136697334a519d7ddab0725c8d0793224]
+[key.wy = 0e11c65bd8ca92dc8bc9ae82911f0b52751ce21dd9003ae60900bd825f590cc28]
+[keyDer = 3059301306072a8648ce3d020106082a8648ce3d030107034200048651ce490f1b46d73f3ff475149be29136697334a519d7ddab0725c8d0793224e11c65bd8ca92dc8bc9ae82911f0b52751ce21dd9003ae60900bd825f590cc28]
+[sha = SHA-256]
+
+# edge case for u2
+msg = 313233343030
+result = valid
+sig = 304402207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd02207fffffff55555555ffffffffffffffffd344a71e6f651458a27bdc81fd976e37
+
+[key.curve = secp256r1]
+[key.keySize = 256]
+[key.type = ECPublicKey]
+[key.wx = 6d8e1b12c831a0da8795650ff95f101ed921d9e2f72b15b1cdaca9826b9cfc6d]
+[key.wy = 0ef6d63e2bc5c089570394a4bc9f892d5e6c7a6a637b20469a58c106ad486bf37]
+[keyDer = 3059301306072a8648ce3d020106082a8648ce3d030107034200046d8e1b12c831a0da8795650ff95f101ed921d9e2f72b15b1cdaca9826b9cfc6def6d63e2bc5c089570394a4bc9f892d5e6c7a6a637b20469a58c106ad486bf37]
+[sha = SHA-256]
+
+# edge case for u2
+msg = 313233343030
+result = valid
+sig = 304402207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd02203fffffff800000007fffffffffffffffde737d56d38bcf4279dce5617e3192aa
+
+[key.curve = secp256r1]
+[key.keySize = 256]
+[key.type = ECPublicKey]
+[key.wx = 0ae580bae933b4ef2997cbdbb0922328ca9a410f627a0f7dff24cb4d920e1542]
+[key.wy = 08911e7f8cc365a8a88eb81421a361ccc2b99e309d8dcd9a98ba83c3949d893e3]
+[keyDer = 3059301306072a8648ce3d020106082a8648ce3d030107034200040ae580bae933b4ef2997cbdbb0922328ca9a410f627a0f7dff24cb4d920e15428911e7f8cc365a8a88eb81421a361ccc2b99e309d8dcd9a98ba83c3949d893e3]
+[sha = SHA-256]
+
+# edge case for u2
+msg = 313233343030
+result = valid
+sig = 304402207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd02205d8ecd64a4eeba466815ddf3a4de9a8e6abd9c5db0a01eb80343553da648428f
+
+[key.curve = secp256r1]
+[key.keySize = 256]
+[key.type = ECPublicKey]
+[key.wx = 5b812fd521aafa69835a849cce6fbdeb6983b442d2444fe70e134c027fc46963]
+[key.wy = 0838a40f2a36092e9004e92d8d940cf5638550ce672ce8b8d4e15eba5499249e9]
+[keyDer = 3059301306072a8648ce3d020106082a8648ce3d030107034200045b812fd521aafa69835a849cce6fbdeb6983b442d2444fe70e134c027fc46963838a40f2a36092e9004e92d8d940cf5638550ce672ce8b8d4e15eba5499249e9]
+[sha = SHA-256]
+
+# point duplication during verification
+msg = 313233343030
+result = valid
+sig = 304502206f2347cab7dd76858fe0555ac3bc99048c4aacafdfb6bcbe05ea6c42c4934569022100bb726660235793aa9957a61e76e00c2c435109cf9a15dd624d53f4301047856b
+# Some implementations of ECDSA do not handle duplication and points at infinity
+# correctly. This is a test vector that has been specially crafted to check for
+# such an omission.
+
+[key.curve = secp256r1]
+[key.keySize = 256]
+[key.type = ECPublicKey]
+[key.wx = 5b812fd521aafa69835a849cce6fbdeb6983b442d2444fe70e134c027fc46963]
+[key.wy = 7c75bf0c5c9f6d17ffb16d2726bf30a9c7aaf31a8d317472b1ea145ab66db616]
+[keyDer = 3059301306072a8648ce3d020106082a8648ce3d030107034200045b812fd521aafa69835a849cce6fbdeb6983b442d2444fe70e134c027fc469637c75bf0c5c9f6d17ffb16d2726bf30a9c7aaf31a8d317472b1ea145ab66db616]
+[sha = SHA-256]
+
+# duplication bug
+msg = 313233343030
+result = invalid
+sig = 304502206f2347cab7dd76858fe0555ac3bc99048c4aacafdfb6bcbe05ea6c42c4934569022100bb726660235793aa9957a61e76e00c2c435109cf9a15dd624d53f4301047856b
+# Some implementations of ECDSA do not handle duplication and points at infinity
+# correctly. This is a test vector that has been specially crafted to check for
+# such an omission.
+
+[key.curve = secp256r1]
+[key.keySize = 256]
+[key.type = ECPublicKey]
+[key.wx = 6adda82b90261b0f319faa0d878665a6b6da497f09c903176222c34acfef72a6]
+[key.wy = 47e6f50dcc40ad5d9b59f7602bb222fad71a41bf5e1f9df4959a364c62e488d9]
+[keyDer = 3059301306072a8648ce3d020106082a8648ce3d030107034200046adda82b90261b0f319faa0d878665a6b6da497f09c903176222c34acfef72a647e6f50dcc40ad5d9b59f7602bb222fad71a41bf5e1f9df4959a364c62e488d9]
+[sha = SHA-256]
+
+# point with x-coordinate 0
+msg = 313233343030
+result = invalid
+sig = 30250201010220555555550000000055555555555555553ef7a8e48d07df81a693439654210c70
+
+[key.curve = secp256r1]
+[key.keySize = 256]
+[key.type = ECPublicKey]
+[key.wx = 2fca0d0a47914de77ed56e7eccc3276a601120c6df0069c825c8f6a01c9f3820]
+[key.wy = 65f3450a1d17c6b24989a39beb1c7decfca8384fbdc294418e5d807b3c6ed7de]
+[keyDer = 3059301306072a8648ce3d020106082a8648ce3d030107034200042fca0d0a47914de77ed56e7eccc3276a601120c6df0069c825c8f6a01c9f382065f3450a1d17c6b24989a39beb1c7decfca8384fbdc294418e5d807b3c6ed7de]
+[sha = SHA-256]
+
+# point with x-coordinate 0
+msg = 313233343030
+result = invalid
+sig = 3045022101000000000000000000000000000000000000000000000000000000000000000002203333333300000000333333333333333325c7cbbc549e52e763f1f55a327a3aa9
+
+[key.curve = secp256r1]
+[key.keySize = 256]
+[key.type = ECPublicKey]
+[key.wx = 0dd86d3b5f4a13e8511083b78002081c53ff467f11ebd98a51a633db76665d250]
+[key.wy = 45d5c8200c89f2fa10d849349226d21d8dfaed6ff8d5cb3e1b7e17474ebc18f7]
+[keyDer = 3059301306072a8648ce3d020106082a8648ce3d03010703420004dd86d3b5f4a13e8511083b78002081c53ff467f11ebd98a51a633db76665d25045d5c8200c89f2fa10d849349226d21d8dfaed6ff8d5cb3e1b7e17474ebc18f7]
+[sha = SHA-256]
+
+# comparison with point at infinity 
+msg = 313233343030
+result = invalid
+sig = 30440220555555550000000055555555555555553ef7a8e48d07df81a693439654210c7002203333333300000000333333333333333325c7cbbc549e52e763f1f55a327a3aa9
+
+[key.curve = secp256r1]
+[key.keySize = 256]
+[key.type = ECPublicKey]
+[key.wx = 4fea55b32cb32aca0c12c4cd0abfb4e64b0f5a516e578c016591a93f5a0fbcc5]
+[key.wy = 0d7d3fd10b2be668c547b212f6bb14c88f0fecd38a8a4b2c785ed3be62ce4b280]
+[keyDer = 3059301306072a8648ce3d020106082a8648ce3d030107034200044fea55b32cb32aca0c12c4cd0abfb4e64b0f5a516e578c016591a93f5a0fbcc5d7d3fd10b2be668c547b212f6bb14c88f0fecd38a8a4b2c785ed3be62ce4b280]
+[sha = SHA-256]
+
+# extreme value for k
+msg = 313233343030
+result = valid
+sig = 304402207cf27b188d034f7e8a52380304b51ac3c08969e277f21b35a60b48fc476699780220555555550000000055555555555555553ef7a8e48d07df81a693439654210c70
+
+[key.curve = secp256r1]
+[key.keySize = 256]
+[key.type = ECPublicKey]
+[key.wx = 5e59f50708646be8a589355014308e60b668fb670196206c41e748e64e4dca21]
+[key.wy = 5de37fee5c97bcaf7144d5b459982f52eeeafbdf03aacbafef38e213624a01de]
+[keyDer = 3059301306072a8648ce3d020106082a8648ce3d030107034200045e59f50708646be8a589355014308e60b668fb670196206c41e748e64e4dca215de37fee5c97bcaf7144d5b459982f52eeeafbdf03aacbafef38e213624a01de]
+[sha = SHA-256]
+
+# extreme value for k
+msg = 313233343030
+result = valid
+sig = 304402206b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c2960220555555550000000055555555555555553ef7a8e48d07df81a693439654210c70
+
+[key.curve = secp256r1]
+[key.keySize = 256]
+[key.type = ECPublicKey]
+[key.wx = 6b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c296]
+[key.wy = 4fe342e2fe1a7f9b8ee7eb4a7c0f9e162bce33576b315ececbb6406837bf51f5]
+[keyDer = 3059301306072a8648ce3d020106082a8648ce3d030107034200046b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c2964fe342e2fe1a7f9b8ee7eb4a7c0f9e162bce33576b315ececbb6406837bf51f5]
+[sha = SHA-256]
+
+# testing point duplication
+msg = 313233343030
+result = invalid
+sig = 3045022100bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca6050230220249249246db6db6ddb6db6db6db6db6dad4591868595a8ee6bf5f864ff7be0c2
+
+# testing point duplication
+msg = 313233343030
+result = invalid
+sig = 3044022044a5ad0ad0636d9f12bc9e0a6bdd5e1cbcb012ea7bf091fcec15b0c43202d52e0220249249246db6db6ddb6db6db6db6db6dad4591868595a8ee6bf5f864ff7be0c2
+
+[key.curve = secp256r1]
+[key.keySize = 256]
+[key.type = ECPublicKey]
+[key.wx = 6b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c296]
+[key.wy = 0b01cbd1c01e58065711814b583f061e9d431cca994cea1313449bf97c840ae0a]
+[keyDer = 3059301306072a8648ce3d020106082a8648ce3d030107034200046b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c296b01cbd1c01e58065711814b583f061e9d431cca994cea1313449bf97c840ae0a]
+[sha = SHA-256]
+
+# testing point duplication
+msg = 313233343030
+result = invalid
+sig = 3045022100bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca6050230220249249246db6db6ddb6db6db6db6db6dad4591868595a8ee6bf5f864ff7be0c2
+
+# testing point duplication
+msg = 313233343030
+result = invalid
+sig = 3044022044a5ad0ad0636d9f12bc9e0a6bdd5e1cbcb012ea7bf091fcec15b0c43202d52e0220249249246db6db6ddb6db6db6db6db6dad4591868595a8ee6bf5f864ff7be0c2
+
+[key.curve = secp256r1]
+[key.keySize = 256]
+[key.type = ECPublicKey]
+[key.wx = 4aaec73635726f213fb8a9e64da3b8632e41495a944d0045b522eba7240fad5]
+[key.wy = 087d9315798aaa3a5ba01775787ced05eaaf7b4e09fc81d6d1aa546e8365d525d]
+[keyDer = 3059301306072a8648ce3d020106082a8648ce3d0301070342000404aaec73635726f213fb8a9e64da3b8632e41495a944d0045b522eba7240fad587d9315798aaa3a5ba01775787ced05eaaf7b4e09fc81d6d1aa546e8365d525d]
+[sha = SHA-256]
+
+# pseudorandom signature
+msg = 
+result = valid
+sig = 3045022100b292a619339f6e567a305c951c0dcbcc42d16e47f219f9e98e76e09d8770b34a02200177e60492c5a8242f76f07bfe3661bde59ec2a17ce5bd2dab2abebdf89a62e2
+
+# pseudorandom signature
+msg = 
+result = valid
+sig = 3045022100e502de07f887e60119f9668cec69d2760839e6e74b9e6ff8cb7fa8d5a24f66c802207605e8b6afdbef06db7f89d06e2add2cf064eb4054d5ff0b101d815e813a8c08
+
+# pseudorandom signature
+msg = 
+result = valid
+sig = 3044022030fbfb3d662f0f07e8d51c6c3ebbc3ae9cf17b985db10e38116f1ba584cccf4102206fcc086c907209fe3d3d3a3724af44ce3d5af9345ac8864de18ad2b2f9617819
+
+# pseudorandom signature
+msg = 
+result = valid
+sig = 304602210097dde41357ef913cb8b9cd8e8c8c858831ec69298c739cd7fb14edcafc519d4e022100c8e032ad4432814ba4ddf3e25004594fa8c5137e39fd360ca36aedabaa934db3
+
+# pseudorandom signature
+msg = 
+result = valid
+sig = 3044022047bf21626d4b879fc51774251d7e3a380104e2c8170f13d32e86358c63d6b50102203f9c9d81b5e20b94766a62efdee7f3edfada68ab4d74487a24978fb574358830
+
+# pseudorandom signature
+msg = 
+result = valid
+sig = 3045022100d7908fbd16c6a3ffd7c315bfc2f87d8d42bda8fac5d6024069b5df6b101420e0022066a4771722eef9f166f037629c0d210010727dd114049fe2159ffa228fc11798
+
+# pseudorandom signature
+msg = 
+result = valid
+sig = 3046022100d48907279f401ee511d2e78d15f4c17539c93373d72bb66cff066a9114801a6d022100c7b709d88a367836a66cdb4b3bd4e0b2a76c97e551505c2969c98b6709600733
+
+# pseudorandom signature
+msg = 
+result = valid
+sig = 30450220743d6d5a99bcf2f7e011d6cac86a73582014419d3803c8d61128b23e4683cf96022100fa1270b7406b13cdbea376cb502f01f388f97dc5b660c9f3ba92c40233ae853f
+
+# pseudorandom signature
+msg = 
+result = valid
+sig = 304502201c8e26e3a84892b12d6946fa39aa15ee8989f32c647db31c48c7276718907734022100e486719b597f52356d20afc98af82301d3ed33e2c3ec61c23601de687c432893
+
+# pseudorandom signature
+msg = 
+result = valid
+sig = 3046022100f8f074bad4cc63ce49b1a7101f5f1e5dd7e8d28e1654e3052e9dea4e8830a247022100d232383e83d2b4e0c12ee6127dd8cc3fcfcdff971571b07e18ea0d59d1bd75e9
+
+# pseudorandom signature
+msg = 4d7367
+result = valid
+sig = 30450220530bd6b0c9af2d69ba897f6b5fb59695cfbf33afe66dbadcf5b8d2a2a6538e23022100d85e489cb7a161fd55ededcedbf4cc0c0987e3e3f0f242cae934c72caa3f43e9
+
+# pseudorandom signature
+msg = 4d7367
+result = valid
+sig = 304502202a95faa048e78949b27dd4f2a69bf26f809d565cca4fd0205aac95382e19df1c022100c7de7183db22fb7015697d8f15874529c1c37b3506b32e2969c6345ba6431eea
+
+# pseudorandom signature
+msg = 4d7367
+result = valid
+sig = 3046022100ef18b2f9d187e6d6ebd0fe0ff63ebbee44e4e8c3812fb53f7399a2db757965fc022100ff2f438009b409c18fb908851115a00f3ac250428c0485cb8e8066e27608dc2a
+
+# pseudorandom signature
+msg = 4d7367
+result = valid
+sig = 3045022100d1ba6053e65dd564d24a99aeabb181529f48ed9564bfcf8d9b7950d05dfbf1f702204b4d69402ba634983534a599f49c47d4fef03ace4446a7934124e7b4cd212be2
+
+# pseudorandom signature
+msg = 4d7367
+result = valid
+sig = 3045022100d8df1a77d439e1a68621712e5cf65ecc503398f7a87a6b53fbd1d7251d1a62bd02203276f956f733314b20eb399f2027702463e203cd8f15f1dbe41fe157dcaac618
+
+# pseudorandom signature
+msg = 4d7367
+result = valid
+sig = 30440220771b9696276b14cf4e0342272f65be8ddf3d603036b03d13a82f522c0446843c022062e7b425f0e2d8a6a207e8324014a6d4d569d80e0fe5509ba1cd1581446d5a2b
+
+# pseudorandom signature
+msg = 4d7367
+result = valid
+sig = 3046022100f052476d9a28b34372a358481c650f2aee5c91b88fa307ad39719c11d2ae2b79022100d5da4b0f6bab8923ec17533d455ed259d379fe265956b7106f2c44c4f56a70ed
+
+# pseudorandom signature
+msg = 4d7367
+result = valid
+sig = 3046022100a6a63a03be4a3505ba28907fb2b028268387b657ae561fb5bf9c011a330a8dae022100bacb589b58eeb74b7ab85b1abdaf50f59ed03ea4a73dde66470b86dc34e25768
+
+# pseudorandom signature
+msg = 4d7367
+result = valid
+sig = 3046022100f547541d72fad13c84399a2e74e00c2f2b6ee9c24b48bb06c00c321786273c07022100d28d340d5e507b1fd87011bc8a21b388f7a4ea6acbc67916667e278dd52c5c1b
+
+# pseudorandom signature
+msg = 4d7367
+result = valid
+sig = 304402205b64337764e6b896219a3502e4ea632fc03afe12c27ad0501640f46f7a6e62950220100cd011a79cbcba991f0994e4e406de9a390d8ede12d4a116f39072d8373463
+
+# pseudorandom signature
+msg = 313233343030
+result = valid
+sig = 3046022100a8ea150cb80125d7381c4c1f1da8e9de2711f9917060406a73d7904519e51388022100f3ab9fa68bd47973a73b2d40480c2ba50c22c9d76ec217257288293285449b86
+
+# pseudorandom signature
+msg = 313233343030
+result = valid
+sig = 304402206d5091f9497241fb2a99137f56734d70797c1620fa58f292f3ddc1c21980768a02207d4681372addeec97da13d3834429a49cf94c68cc6d8380fcc1fb897caeaa4d7
+
+# pseudorandom signature
+msg = 313233343030
+result = valid
+sig = 30440220111af92aa721abe4492468a6ad410f85351c3f71f6f076c5160eac1665bf08a002205d9f4658ec427e54fd64ccc367f50d48c7e5c2822299e258f443cc7890d25db9
+
+# pseudorandom signature
+msg = 313233343030
+result = valid
+sig = 3046022100ecd42e0caddf730e79911ea0725402d3e4519e93299217cfff7f27eb06383bcb022100b9002348257e8aa55de6326e8588d1e5ac7803e912dca2b6aac1c0b6c6ce887d
+
+# pseudorandom signature
+msg = 313233343030
+result = valid
+sig = 3046022100dd7ff4894d875b82698e738cd6af3e06df3dfe519c63c83bda6cb780003212680221008ae21af20504ca943014f87bc06eff0c72222900e7b78e49e7107d1d27f78d7a
+
+# pseudorandom signature
+msg = 313233343030
+result = valid
+sig = 304502202c4ffe7eba452ab8147fbd117091b6a6aed2c022b51a0559f45a210149827585022100f8f713031c6747382a930183f508cb5ba3dee9918623ed7b9246f7792895806f
+
+# pseudorandom signature
+msg = 313233343030
+result = valid
+sig = 30450220036e58fdd99c73206d0b989e315d4e7445853b29756abd9be4988043ee575318022100bca3bdbd7b13d674a507755a1fb25d6b9ad533e6aea4c07da2b662bf64074c1f
+
+# pseudorandom signature
+msg = 313233343030
+result = valid
+sig = 3045022100e8967620ea0878093f914bc670e9fd49e5e1d120cd8296f67934806921edd1eb0220091fe9cc8158606b7a93a87b830d8bf892c8086bc3ccb364b885adc11c5a2f5b
+
+# pseudorandom signature
+msg = 313233343030
+result = valid
+sig = 30450221008053d20f27c43e96e7cb99f0fb5ed638f391dbb8c49228bb164e3c5c7ed98df802200f8f909a360d019c8cd8cc4936c471cb0e81eec812a7815a413f015e5020a83a
+
+# pseudorandom signature
+msg = 313233343030
+result = valid
+sig = 304402201a05d145760911a0d03a3f9e04183b4fa12052ab08e8e2a61cecd685abe06ccd022015a45cdddd5b271b460fd23970e3f09bd3e428c5935a141131f7bb9cdcb31ffe
+
+# pseudorandom signature
+msg = 0000000000000000000000000000000000000000
+result = valid
+sig = 3045022100986e65933ef2ed4ee5aada139f52b70539aaf63f00a91f29c69178490d57fb7102203dafedfb8da6189d372308cbf1489bbbdabf0c0217d1c0ff0f701aaa7a694b9c
+
+# pseudorandom signature
+msg = 0000000000000000000000000000000000000000
+result = valid
+sig = 304502200a1ba2c8595e428eb8efe4d0d527b57a9d65a18f2adb74a8d42b079cca3ded47022100a9b1d33b3b0498f08a46b3602d216cddd909b46a4531bb0c8eda027c813701ea
+
+# pseudorandom signature
+msg = 0000000000000000000000000000000000000000
+result = valid
+sig = 3044022051a2d733ccc576739d202cac29631dd4a4c2b7bca274a88bed819b4fa74bc13a02203332485952b2bafdd23bb4bdd5b182c17d68fa989fb297e522f58267f579858b
+
+# pseudorandom signature
+msg = 0000000000000000000000000000000000000000
+result = valid
+sig = 30450221008523fa05039757ff31734c5a97512e16d36a2b44cfeaf698bf99a3da10192ce102201a4a46d618146dbd6f8b96bde830c1cd6b3c40b3c3f076b0525327b81421703c
+
+# pseudorandom signature
+msg = 0000000000000000000000000000000000000000
+result = valid
+sig = 30450221008b7c16aead127ff236229edf3b3d685389d833a6706f8baaf8d18c42c8e0fcb402207c007ac920eb885009bb826dacf204affc995b8b1da3088ab8233372e77bfcb9
+
+# pseudorandom signature
+msg = 0000000000000000000000000000000000000000
+result = valid
+sig = 3046022100eb05151d10844480bb1da9bbd5fadeb94653979ce6473e1eae877c04b5dc136b022100f5626ba78e4936461be857439da72310f0159c53076ed7602b802b5c79296db6
+
+# pseudorandom signature
+msg = 0000000000000000000000000000000000000000
+result = valid
+sig = 3046022100b1ef5e5b2ed946f33e3f14a755af39520397d425aa184e24c3a1ab2071bd28ad022100f06c9370a8fd969f14fe9fb10d18e593c1469e5716c7264880dd35a8589c4747
+
+# pseudorandom signature
+msg = 0000000000000000000000000000000000000000
+result = valid
+sig = 304502206da6c71eb7d8a2435999c8f6b7a1de30f2a863a2f07a8aad4d321d52cc619679022100ab1abe0cbd07504de3fd9ac64bed3bf89fb0061e251a1b1de2925e6635d523ec
+
+# pseudorandom signature
+msg = 0000000000000000000000000000000000000000
+result = valid
+sig = 30450220450e205ad97a14760979e1d5a24f2277c88382810b73c94ea53fa0d768ee18d1022100ba73359c371c5ff36c338bcd9761096647e0437db6a01b95df8cfa15ffc29bf4
+
+# pseudorandom signature
+msg = 0000000000000000000000000000000000000000
+result = valid
+sig = 304502201814378a581d4584664c2e24d695edeec6ce96971887a35a67df515e8788d44c022100c96da4442349d041183bba91d8f2b0279501c85b7b31f993c82268b6703c7b3f
+
+[key.curve = secp256r1]
+[key.keySize = 256]
+[key.type = ECPublicKey]
+[key.wx = 4f337ccfd67726a805e4f1600ae2849df3807eca117380239fbd816900000000]
+[key.wy = 0ed9dea124cc8c396416411e988c30f427eb504af43a3146cd5df7ea60666d685]
+[keyDer = 3059301306072a8648ce3d020106082a8648ce3d030107034200044f337ccfd67726a805e4f1600ae2849df3807eca117380239fbd816900000000ed9dea124cc8c396416411e988c30f427eb504af43a3146cd5df7ea60666d685]
+[sha = SHA-256]
+
+# x-coordinate of the public key has many trailing 0's
+msg = 4d657373616765
+result = valid
+sig = 3046022100d434e262a49eab7781e353a3565e482550dd0fd5defa013c7f29745eff3569f10221009b0c0a93f267fb6052fd8077be769c2b98953195d7bc10de844218305c6ba17a
+
+# x-coordinate of the public key has many trailing 0's
+msg = 4d657373616765
+result = valid
+sig = 304402200fe774355c04d060f76d79fd7a772e421463489221bf0a33add0be9b1979110b0220500dcba1c69a8fbd43fa4f57f743ce124ca8b91a1f325f3fac6181175df55737
+
+# x-coordinate of the public key has many trailing 0's
+msg = 4d657373616765
+result = valid
+sig = 3045022100bb40bf217bed3fb3950c7d39f03d36dc8e3b2cd79693f125bfd06595ee1135e30220541bf3532351ebb032710bdb6a1bf1bfc89a1e291ac692b3fa4780745bb55677
+
+[key.curve = secp256r1]
+[key.keySize = 256]
+[key.type = ECPublicKey]
+[key.wx = 3cf03d614d8939cfd499a07873fac281618f06b8ff87e8015c3f497265004935]
+[key.wy = 084fa174d791c72bf2ce3880a8960dd2a7c7a1338a82f85a9e59cdbde80000000]
+[keyDer = 3059301306072a8648ce3d020106082a8648ce3d030107034200043cf03d614d8939cfd499a07873fac281618f06b8ff87e8015c3f49726500493584fa174d791c72bf2ce3880a8960dd2a7c7a1338a82f85a9e59cdbde80000000]
+[sha = SHA-256]
+
+# y-coordinate of the public key has many trailing 0's
+msg = 4d657373616765
+result = valid
+sig = 30440220664eb7ee6db84a34df3c86ea31389a5405badd5ca99231ff556d3e75a233e73a022059f3c752e52eca46137642490a51560ce0badc678754b8f72e51a2901426a1bd
+
+# y-coordinate of the public key has many trailing 0's
+msg = 4d657373616765
+result = valid
+sig = 304502204cd0429bbabd2827009d6fcd843d4ce39c3e42e2d1631fd001985a79d1fd8b430221009638bf12dd682f60be7ef1d0e0d98f08b7bca77a1a2b869ae466189d2acdabe3
+
+# y-coordinate of the public key has many trailing 0's
+msg = 4d657373616765
+result = valid
+sig = 3046022100e56c6ea2d1b017091c44d8b6cb62b9f460e3ce9aed5e5fd41e8added97c56c04022100a308ec31f281e955be20b457e463440b4fcf2b80258078207fc1378180f89b55
+
+[key.curve = secp256r1]
+[key.keySize = 256]
+[key.type = ECPublicKey]
+[key.wx = 3cf03d614d8939cfd499a07873fac281618f06b8ff87e8015c3f497265004935]
+[key.wy = 7b05e8b186e38d41d31c77f5769f22d58385ecc857d07a561a6324217fffffff]
+[keyDer = 3059301306072a8648ce3d020106082a8648ce3d030107034200043cf03d614d8939cfd499a07873fac281618f06b8ff87e8015c3f4972650049357b05e8b186e38d41d31c77f5769f22d58385ecc857d07a561a6324217fffffff]
+[sha = SHA-256]
+
+# y-coordinate of the public key has many trailing 1's
+msg = 4d657373616765
+result = valid
+sig = 304402201158a08d291500b4cabed3346d891eee57c176356a2624fb011f8fbbf34668300220228a8c486a736006e082325b85290c5bc91f378b75d487dda46798c18f285519
+
+# y-coordinate of the public key has many trailing 1's
+msg = 4d657373616765
+result = valid
+sig = 3045022100b1db9289649f59410ea36b0c0fc8d6aa2687b29176939dd23e0dde56d309fa9d02203e1535e4280559015b0dbd987366dcf43a6d1af5c23c7d584e1c3f48a1251336
+
+# y-coordinate of the public key has many trailing 1's
+msg = 4d657373616765
+result = valid
+sig = 3046022100b7b16e762286cb96446aa8d4e6e7578b0a341a79f2dd1a220ac6f0ca4e24ed86022100ddc60a700a139b04661c547d07bbb0721780146df799ccf55e55234ecb8f12bc
+
+[key.curve = secp256r1]
+[key.keySize = 256]
+[key.type = ECPublicKey]
+[key.wx = 2829c31faa2e400e344ed94bca3fcd0545956ebcfe8ad0f6dfa5ff8effffffff]
+[key.wy = 0a01aafaf000e52585855afa7676ade284113099052df57e7eb3bd37ebeb9222e]
+[keyDer = 3059301306072a8648ce3d020106082a8648ce3d030107034200042829c31faa2e400e344ed94bca3fcd0545956ebcfe8ad0f6dfa5ff8effffffffa01aafaf000e52585855afa7676ade284113099052df57e7eb3bd37ebeb9222e]
+[sha = SHA-256]
+
+# x-coordinate of the public key has many trailing 1's
+msg = 4d657373616765
+result = valid
+sig = 3045022100d82a7c2717261187c8e00d8df963ff35d796edad36bc6e6bd1c91c670d9105b402203dcabddaf8fcaa61f4603e7cbac0f3c0351ecd5988efb23f680d07debd139929
+
+# x-coordinate of the public key has many trailing 1's
+msg = 4d657373616765
+result = valid
+sig = 304402205eb9c8845de68eb13d5befe719f462d77787802baff30ce96a5cba063254af7802202c026ae9be2e2a5e7ca0ff9bbd92fb6e44972186228ee9a62b87ddbe2ef66fb5
+
+# x-coordinate of the public key has many trailing 1's
+msg = 4d657373616765
+result = valid
+sig = 304602210096843dd03c22abd2f3b782b170239f90f277921becc117d0404a8e4e36230c28022100f2be378f526f74a543f67165976de9ed9a31214eb4d7e6db19e1ede123dd991d
+
+[key.curve = secp256r1]
+[key.keySize = 256]
+[key.type = ECPublicKey]
+[key.wx = 0fffffff948081e6a0458dd8f9e738f2665ff9059ad6aac0708318c4ca9a7a4f5]
+[key.wy = 5a8abcba2dda8474311ee54149b973cae0c0fb89557ad0bf78e6529a1663bd73]
+[keyDer = 3059301306072a8648ce3d020106082a8648ce3d03010703420004fffffff948081e6a0458dd8f9e738f2665ff9059ad6aac0708318c4ca9a7a4f55a8abcba2dda8474311ee54149b973cae0c0fb89557ad0bf78e6529a1663bd73]
+[sha = SHA-256]
+
+# x-coordinate of the public key is large
+msg = 4d657373616765
+result = valid
+sig = 30440220766456dce1857c906f9996af729339464d27e9d98edc2d0e3b760297067421f60220402385ecadae0d8081dccaf5d19037ec4e55376eced699e93646bfbbf19d0b41
+
+# x-coordinate of the public key is large
+msg = 4d657373616765
+result = valid
+sig = 3046022100c605c4b2edeab20419e6518a11b2dbc2b97ed8b07cced0b19c34f777de7b9fd9022100edf0f612c5f46e03c719647bc8af1b29b2cde2eda700fb1cff5e159d47326dba
+
+# x-coordinate of the public key is large
+msg = 4d657373616765
+result = valid
+sig = 3046022100d48b68e6cabfe03cf6141c9ac54141f210e64485d9929ad7b732bfe3b7eb8a84022100feedae50c61bd00e19dc26f9b7e2265e4508c389109ad2f208f0772315b6c941
+
+[key.curve = secp256r1]
+[key.keySize = 256]
+[key.type = ECPublicKey]
+[key.wx = 3fa15f963949d5f03a6f5c7f86f9e0015eeb23aebbff1173937ba748e]
+[key.wy = 1099872070e8e87c555fa13659cca5d7fadcfcb0023ea889548ca48af2ba7e71]
+[keyDer = 3059301306072a8648ce3d020106082a8648ce3d0301070342000400000003fa15f963949d5f03a6f5c7f86f9e0015eeb23aebbff1173937ba748e1099872070e8e87c555fa13659cca5d7fadcfcb0023ea889548ca48af2ba7e71]
+[sha = SHA-256]
+
+# x-coordinate of the public key is small
+msg = 4d657373616765
+result = valid
+sig = 3046022100b7c81457d4aeb6aa65957098569f0479710ad7f6595d5874c35a93d12a5dd4c7022100b7961a0b652878c2d568069a432ca18a1a9199f2ca574dad4b9e3a05c0a1cdb3
+
+# x-coordinate of the public key is small
+msg = 4d657373616765
+result = valid
+sig = 304402206b01332ddb6edfa9a30a1321d5858e1ee3cf97e263e669f8de5e9652e76ff3f702205939545fced457309a6a04ace2bd0f70139c8f7d86b02cb1cc58f9e69e96cd5a
+
+# x-coordinate of the public key is small
+msg = 4d657373616765
+result = valid
+sig = 3046022100efdb884720eaeadc349f9fc356b6c0344101cd2fd8436b7d0e6a4fb93f106361022100f24bee6ad5dc05f7613975473aadf3aacba9e77de7d69b6ce48cb60d8113385d
+
+[key.curve = secp256r1]
+[key.keySize = 256]
+[key.type = ECPublicKey]
+[key.wx = 0bcbb2914c79f045eaa6ecbbc612816b3be5d2d6796707d8125e9f851c18af015]
+[key.wy = 1352bb4a0fa2ea4cceb9ab63dd684ade5a1127bcf300a698a7193bc2]
+[keyDer = 3059301306072a8648ce3d020106082a8648ce3d03010703420004bcbb2914c79f045eaa6ecbbc612816b3be5d2d6796707d8125e9f851c18af015000000001352bb4a0fa2ea4cceb9ab63dd684ade5a1127bcf300a698a7193bc2]
+[sha = SHA-256]
+
+# y-coordinate of the public key is small
+msg = 4d657373616765
+result = valid
+sig = 3044022031230428405560dcb88fb5a646836aea9b23a23dd973dcbe8014c87b8b20eb0702200f9344d6e812ce166646747694a41b0aaf97374e19f3c5fb8bd7ae3d9bd0beff
+
+# y-coordinate of the public key is small
+msg = 4d657373616765
+result = valid
+sig = 3046022100caa797da65b320ab0d5c470cda0b36b294359c7db9841d679174db34c4855743022100cf543a62f23e212745391aaf7505f345123d2685ee3b941d3de6d9b36242e5a0
+
+# y-coordinate of the public key is small
+msg = 4d657373616765
+result = valid
+sig = 304502207e5f0ab5d900d3d3d7867657e5d6d36519bc54084536e7d21c336ed8001859450221009450c07f201faec94b82dfb322e5ac676688294aad35aa72e727ff0b19b646aa
+
+[key.curve = secp256r1]
+[key.keySize = 256]
+[key.type = ECPublicKey]
+[key.wx = 0bcbb2914c79f045eaa6ecbbc612816b3be5d2d6796707d8125e9f851c18af015]
+[key.wy = 0fffffffeecad44b6f05d15b33146549c2297b522a5eed8430cff596758e6c43d]
+[keyDer = 3059301306072a8648ce3d020106082a8648ce3d03010703420004bcbb2914c79f045eaa6ecbbc612816b3be5d2d6796707d8125e9f851c18af015fffffffeecad44b6f05d15b33146549c2297b522a5eed8430cff596758e6c43d]
+[sha = SHA-256]
+
+# y-coordinate of the public key is large
+msg = 4d657373616765
+result = valid
+sig = 3046022100d7d70c581ae9e3f66dc6a480bf037ae23f8a1e4a2136fe4b03aa69f0ca25b35602210089c460f8a5a5c2bbba962c8a3ee833a413e85658e62a59e2af41d9127cc47224
+
+# y-coordinate of the public key is large
+msg = 4d657373616765
+result = valid
+sig = 30440220341c1b9ff3c83dd5e0dfa0bf68bcdf4bb7aa20c625975e5eeee34bb396266b34022072b69f061b750fd5121b22b11366fad549c634e77765a017902a67099e0a4469
+
+# y-coordinate of the public key is large
+msg = 4d657373616765
+result = valid
+sig = 3045022070bebe684cdcb5ca72a42f0d873879359bd1781a591809947628d313a3814f67022100aec03aca8f5587a4d535fa31027bbe9cc0e464b1c3577f4c2dcde6b2094798a9
+
diff --git a/third_party/wycheproof/ecdsa_secp384r1_sha384_test.txt b/third_party/wycheproof/ecdsa_secp384r1_sha384_test.txt
new file mode 100644
index 0000000..ae61087
--- /dev/null
+++ b/third_party/wycheproof/ecdsa_secp384r1_sha384_test.txt
@@ -0,0 +1,2293 @@
+# Imported from Wycheproof's ecdsa_secp384r1_sha384_test.json.
+# This file is generated by convert_wycheproof.go. Do not edit by hand.
+#
+# Algorithm: ECDSA
+# Generator version: 0.4
+
+[key.curve = secp384r1]
+[key.keySize = 384]
+[key.type = ECPublicKey]
+[key.wx = 2da57dda1089276a543f9ffdac0bff0d976cad71eb7280e7d9bfd9fee4bdb2f20f47ff888274389772d98cc5752138aa]
+[key.wy = 4b6d054d69dcf3e25ec49df870715e34883b1836197d76f8ad962e78f6571bbc7407b0d6091f9e4d88f014274406174f]
+[keyDer = 3076301006072a8648ce3d020106052b81040022036200042da57dda1089276a543f9ffdac0bff0d976cad71eb7280e7d9bfd9fee4bdb2f20f47ff888274389772d98cc5752138aa4b6d054d69dcf3e25ec49df870715e34883b1836197d76f8ad962e78f6571bbc7407b0d6091f9e4d88f014274406174f]
+[sha = SHA-384]
+
+# signature malleability
+msg = 313233343030
+result = valid
+sig = 3064023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d702301840da9fc1d2f8f8900cf485d5413b8c2574ee3a8d4ca03995ca30240e09513805bf6209b58ac7aa9cff54eecd82b9f1
+
+# random signature
+msg = 313233343030
+result = valid
+sig = 3064023077391f04a7b47a003a9b68ae641d6022093a5fa29464b1826228cbffc35a3a655f9712d478dec2f72dd3c02ce31c075a02305e8daba38b616460ec0e4b6477ce0266aa2f62b0cdb224907a8f999abfa68b48657677b018a29767c0926a1640fd9b0a
+
+# random signature
+msg = 313233343030
+result = valid
+sig = 3065023100c46c6312342ad3b2d260d33a0cc41d13378daf8570d7b937980761ea0cc18c9948b40fcd790bb2021afaa8cb4fc76ff502307a7547ed765905268768027bc59f1edf367e4088b779c2618f4c1e6f0f56154351aac80cd59d4907ef2f93155c16523d
+
+# random signature
+msg = 313233343030
+result = valid
+sig = 30660231009584b8a737f417dfeef0eb1a8f727e14b231ec372eb0520a2357b44478bd076e7a3e4e8bac670bfd3419296c9d854da1023100beca69a1c97e08af8e9a5cb76d9c46c6ee022b670962dc1e59850e6a9266d216aa816225d8ebcb7c4de88ceb3c1bae3d
+
+# random signature
+msg = 313233343030
+result = valid
+sig = 30650230700041c0719c076f07280dec96763c88efdb903660d57182c9c7753b0334abb2e4dd2726f63ce1a8acd0eb67a492161f0231008028097fd011fea390fba8f50c36e5676867325d0bce627c3ddc3581ed3ba7ff1e76f5ece6304c172e9144756f47b2b8
+
+# random signature
+msg = 313233343030
+result = valid
+sig = 30650230409616ba406241c624514057defe1c868e655bca413af7aa0fb3d80c4969df41d9bb5d3a733b400705453a965e80d46d023100da24d79fdb11e4612faf34b8b64af8067492d6510c4eddb1310e578d1f49a43e427dcd188b259f9012791718776253ab
+
+# Legacy:ASN encoding of s misses leading 0
+msg = 313233343030
+result = acceptable
+sig = 3064023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d70230e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82
+# Some implementations of ECDSA and DSA incorrectly encode r and s by not
+# including leading zeros in the ASN encoding of integers when necessary. Hence,
+# some implementations (e.g. jdk) allow signatures with incorrect ASN encodings
+# assuming that the signature is otherwise valid.
+
+# valid
+msg = 313233343030
+result = valid
+sig = 3065023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82
+
+# long form encoding of length
+msg = 313233343030
+result = invalid
+sig = 308165023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82
+
+# long form encoding of length
+msg = 313233343030
+result = invalid
+sig = 306602813012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82
+
+# long form encoding of length
+msg = 313233343030
+result = invalid
+sig = 3066023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d702813100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82
+
+# length contains leading 0
+msg = 313233343030
+result = invalid
+sig = 30820065023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82
+
+# length contains leading 0
+msg = 313233343030
+result = invalid
+sig = 30670282003012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82
+
+# length contains leading 0
+msg = 313233343030
+result = invalid
+sig = 3067023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d70282003100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82
+
+# wrong length
+msg = 313233343030
+result = invalid
+sig = 3066023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82
+
+# wrong length
+msg = 313233343030
+result = invalid
+sig = 3064023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82
+
+# wrong length
+msg = 313233343030
+result = invalid
+sig = 3065023112b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82
+
+# wrong length
+msg = 313233343030
+result = invalid
+sig = 3065022f12b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82
+
+# wrong length
+msg = 313233343030
+result = invalid
+sig = 3065023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023200e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82
+
+# wrong length
+msg = 313233343030
+result = invalid
+sig = 3065023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023000e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82
+
+# uint32 overflow in length
+msg = 313233343030
+result = invalid
+sig = 30850100000065023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82
+
+# uint32 overflow in length
+msg = 313233343030
+result = invalid
+sig = 306a0285010000003012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82
+
+# uint32 overflow in length
+msg = 313233343030
+result = invalid
+sig = 306a023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d70285010000003100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82
+
+# uint64 overflow in length
+msg = 313233343030
+result = invalid
+sig = 3089010000000000000065023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82
+
+# uint64 overflow in length
+msg = 313233343030
+result = invalid
+sig = 306e028901000000000000003012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82
+
+# uint64 overflow in length
+msg = 313233343030
+result = invalid
+sig = 306e023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7028901000000000000003100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82
+
+# length = 2**31 - 1
+msg = 313233343030
+result = invalid
+sig = 30847fffffff023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82
+
+# length = 2**31 - 1
+msg = 313233343030
+result = invalid
+sig = 306902847fffffff12b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82
+
+# length = 2**31 - 1
+msg = 313233343030
+result = invalid
+sig = 3069023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d702847fffffff00e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82
+
+# length = 2**32 - 1
+msg = 313233343030
+result = invalid
+sig = 3084ffffffff023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82
+
+# length = 2**32 - 1
+msg = 313233343030
+result = invalid
+sig = 30690284ffffffff12b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82
+
+# length = 2**32 - 1
+msg = 313233343030
+result = invalid
+sig = 3069023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d70284ffffffff00e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82
+
+# length = 2**40 - 1
+msg = 313233343030
+result = invalid
+sig = 3085ffffffffff023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82
+
+# length = 2**40 - 1
+msg = 313233343030
+result = invalid
+sig = 306a0285ffffffffff12b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82
+
+# length = 2**40 - 1
+msg = 313233343030
+result = invalid
+sig = 306a023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d70285ffffffffff00e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82
+
+# length = 2**64 - 1
+msg = 313233343030
+result = invalid
+sig = 3088ffffffffffffffff023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82
+
+# length = 2**64 - 1
+msg = 313233343030
+result = invalid
+sig = 306d0288ffffffffffffffff12b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82
+
+# length = 2**64 - 1
+msg = 313233343030
+result = invalid
+sig = 306d023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d70288ffffffffffffffff00e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82
+
+# incorrect length
+msg = 313233343030
+result = invalid
+sig = 30ff023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82
+
+# incorrect length
+msg = 313233343030
+result = invalid
+sig = 306502ff12b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82
+
+# incorrect length
+msg = 313233343030
+result = invalid
+sig = 3065023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d702ff00e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82
+
+# indefinite length without termination
+msg = 313233343030
+result = invalid
+sig = 3080023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82
+
+# indefinite length without termination
+msg = 313233343030
+result = invalid
+sig = 3065028012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82
+
+# indefinite length without termination
+msg = 313233343030
+result = invalid
+sig = 3065023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7028000e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82
+
+# removing sequence
+msg = 313233343030
+result = invalid
+sig = 
+
+# appending 0's to sequence
+msg = 313233343030
+result = invalid
+sig = 3067023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f820000
+
+# prepending 0's to sequence
+msg = 313233343030
+result = invalid
+sig = 30670000023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82
+
+# appending unused 0's
+msg = 313233343030
+result = invalid
+sig = 3065023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f820000
+
+# appending unused 0's
+msg = 313233343030
+result = invalid
+sig = 3067023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d70000023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82
+
+# appending null value
+msg = 313233343030
+result = invalid
+sig = 3067023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f820500
+
+# appending null value
+msg = 313233343030
+result = invalid
+sig = 3067023212b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d70500023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82
+
+# appending null value
+msg = 313233343030
+result = invalid
+sig = 3067023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023300e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f820500
+
+# including garbage
+msg = 313233343030
+result = invalid
+sig = 306a4981773065023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82
+
+# including garbage
+msg = 313233343030
+result = invalid
+sig = 306925003065023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82
+
+# including garbage
+msg = 313233343030
+result = invalid
+sig = 30673065023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f820004deadbeef
+
+# including garbage
+msg = 313233343030
+result = invalid
+sig = 306a2235498177023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82
+
+# including garbage
+msg = 313233343030
+result = invalid
+sig = 306922342500023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82
+
+# including garbage
+msg = 313233343030
+result = invalid
+sig = 306d2232023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d70004deadbeef023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82
+
+# including garbage
+msg = 313233343030
+result = invalid
+sig = 306a023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d72236498177023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82
+
+# including garbage
+msg = 313233343030
+result = invalid
+sig = 3069023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d722352500023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82
+
+# including garbage
+msg = 313233343030
+result = invalid
+sig = 306d023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d72233023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f820004deadbeef
+
+# including undefined tags
+msg = 313233343030
+result = invalid
+sig = 306daa00bb00cd003065023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82
+
+# including undefined tags
+msg = 313233343030
+result = invalid
+sig = 306baa02aabb3065023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82
+
+# including undefined tags
+msg = 313233343030
+result = invalid
+sig = 306d2238aa00bb00cd00023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82
+
+# including undefined tags
+msg = 313233343030
+result = invalid
+sig = 306b2236aa02aabb023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82
+
+# including undefined tags
+msg = 313233343030
+result = invalid
+sig = 306d023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d72239aa00bb00cd00023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82
+
+# including undefined tags
+msg = 313233343030
+result = invalid
+sig = 306b023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d72237aa02aabb023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82
+
+# using composition with indefinite length
+msg = 313233343030
+result = invalid
+sig = 30803065023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f820000
+
+# using composition with indefinite length
+msg = 313233343030
+result = invalid
+sig = 30692280023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d70000023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82
+
+# using composition with indefinite length
+msg = 313233343030
+result = invalid
+sig = 3069023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d72280023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f820000
+
+# using composition with wrong tag
+msg = 313233343030
+result = invalid
+sig = 30803165023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f820000
+
+# using composition with wrong tag
+msg = 313233343030
+result = invalid
+sig = 30692280033012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d70000023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82
+
+# using composition with wrong tag
+msg = 313233343030
+result = invalid
+sig = 3069023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d72280033100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f820000
+
+# Replacing sequence with NULL
+msg = 313233343030
+result = invalid
+sig = 0500
+
+# changing tag value
+msg = 313233343030
+result = invalid
+sig = 2e65023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82
+
+# changing tag value
+msg = 313233343030
+result = invalid
+sig = 2f65023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82
+
+# changing tag value
+msg = 313233343030
+result = invalid
+sig = 3165023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82
+
+# changing tag value
+msg = 313233343030
+result = invalid
+sig = 3265023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82
+
+# changing tag value
+msg = 313233343030
+result = invalid
+sig = ff65023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82
+
+# changing tag value
+msg = 313233343030
+result = invalid
+sig = 3065003012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82
+
+# changing tag value
+msg = 313233343030
+result = invalid
+sig = 3065013012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82
+
+# changing tag value
+msg = 313233343030
+result = invalid
+sig = 3065033012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82
+
+# changing tag value
+msg = 313233343030
+result = invalid
+sig = 3065043012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82
+
+# changing tag value
+msg = 313233343030
+result = invalid
+sig = 3065ff3012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82
+
+# changing tag value
+msg = 313233343030
+result = invalid
+sig = 3065023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7003100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82
+
+# changing tag value
+msg = 313233343030
+result = invalid
+sig = 3065023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7013100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82
+
+# changing tag value
+msg = 313233343030
+result = invalid
+sig = 3065023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7033100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82
+
+# changing tag value
+msg = 313233343030
+result = invalid
+sig = 3065023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7043100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82
+
+# changing tag value
+msg = 313233343030
+result = invalid
+sig = 3065023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7ff3100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82
+
+# dropping value of sequence
+msg = 313233343030
+result = invalid
+sig = 3000
+
+# using composition
+msg = 313233343030
+result = invalid
+sig = 306930010230643012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82
+
+# using composition
+msg = 313233343030
+result = invalid
+sig = 30692234020112022fb30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82
+
+# using composition
+msg = 313233343030
+result = invalid
+sig = 3069023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d722350201000230e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82
+
+# truncate sequence
+msg = 313233343030
+result = invalid
+sig = 3064023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f
+
+# truncate sequence
+msg = 313233343030
+result = invalid
+sig = 30643012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82
+
+# indefinite length
+msg = 313233343030
+result = invalid
+sig = 3080023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f820000
+
+# indefinite length with truncated delimiter
+msg = 313233343030
+result = invalid
+sig = 3080023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f8200
+
+# indefinite length with additional element
+msg = 313233343030
+result = invalid
+sig = 3080023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f8205000000
+
+# indefinite length with truncated element
+msg = 313233343030
+result = invalid
+sig = 3080023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82060811220000
+
+# indefinite length with garbage
+msg = 313233343030
+result = invalid
+sig = 3080023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f820000fe02beef
+
+# indefinite length with nonempty EOC
+msg = 313233343030
+result = invalid
+sig = 3080023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f820002beef
+
+# prepend empty sequence
+msg = 313233343030
+result = invalid
+sig = 30673000023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82
+
+# append empty sequence
+msg = 313233343030
+result = invalid
+sig = 3067023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f823000
+
+# sequence of sequence
+msg = 313233343030
+result = invalid
+sig = 30673065023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82
+
+# truncated sequence
+msg = 313233343030
+result = invalid
+sig = 3032023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7
+
+# repeat element in sequence
+msg = 313233343030
+result = invalid
+sig = 308198023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82
+
+# removing integer
+msg = 313233343030
+result = invalid
+sig = 3033023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82
+
+# appending 0's to integer
+msg = 313233343030
+result = invalid
+sig = 3067023212b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d70000023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82
+
+# appending 0's to integer
+msg = 313233343030
+result = invalid
+sig = 3067023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023300e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f820000
+
+# prepending 0's to integer
+msg = 313233343030
+result = invalid
+sig = 30670232000012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82
+
+# prepending 0's to integer
+msg = 313233343030
+result = invalid
+sig = 3067023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d70233000000e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82
+
+# Replacing integer with NULL
+msg = 313233343030
+result = invalid
+sig = 30350500023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82
+
+# Replacing integer with NULL
+msg = 313233343030
+result = invalid
+sig = 3034023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d70500
+
+# dropping value of integer
+msg = 313233343030
+result = invalid
+sig = 30350200023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82
+
+# dropping value of integer
+msg = 313233343030
+result = invalid
+sig = 3034023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d70200
+
+# modify first byte of integer
+msg = 313233343030
+result = invalid
+sig = 3065023010b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82
+
+# modify first byte of integer
+msg = 313233343030
+result = invalid
+sig = 3065023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023102e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82
+
+# modify last byte of integer
+msg = 313233343030
+result = invalid
+sig = 3065023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c54857023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82
+
+# modify last byte of integer
+msg = 313233343030
+result = invalid
+sig = 3065023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f02
+
+# truncate integer
+msg = 313233343030
+result = invalid
+sig = 3064022f12b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82
+
+# truncate integer
+msg = 313233343030
+result = invalid
+sig = 3064022fb30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82
+
+# truncate integer
+msg = 313233343030
+result = invalid
+sig = 3064023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023000e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f
+
+# truncate integer
+msg = 313233343030
+result = invalid
+sig = 3064023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d70230e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82
+
+# leading ff in integer
+msg = 313233343030
+result = invalid
+sig = 30660231ff12b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82
+
+# leading ff in integer
+msg = 313233343030
+result = invalid
+sig = 3066023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d70232ff00e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82
+
+# infinity
+msg = 313233343030
+result = invalid
+sig = 3036090180023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82
+
+# infinity
+msg = 313233343030
+result = invalid
+sig = 3035023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7090180
+
+# Modified r or s, e.g. by adding or subtracting the order of the group
+msg = 313233343030
+result = invalid
+sig = 306602310112b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19a25617aad7485e6312a8589714f647acf7a94cffbe8a724a023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82
+
+# Modified r or s, e.g. by adding or subtracting the order of the group
+msg = 313233343030
+result = invalid
+sig = 30660231ff12b30abef6b5476fe6b612ae557c0425661e26b44b1bfe1a138f7ca6eeda02a462743d328394f8b71dd11a2a25001f64023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82
+
+# Modified r or s, e.g. by adding or subtracting the order of the group
+msg = 313233343030
+result = invalid
+sig = 30650230ed4cf541094ab8901949ed51aa83fbda99e1d94bb4e401e6250d35d71ceecf7c4571b51b33ba5fcdf542cc6b0e3ab729023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82
+
+# Modified r or s, e.g. by adding or subtracting the order of the group
+msg = 313233343030
+result = invalid
+sig = 3066023100ed4cf541094ab8901949ed51aa83fbda99e1d94bb4e401e5ec7083591125fd5b9d8bc2cd7c6b0748e22ee5d5daffe09c023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82
+
+# Modified r or s, e.g. by adding or subtracting the order of the group
+msg = 313233343030
+result = invalid
+sig = 30660231feed4cf541094ab8901949ed51aa83fbda99e1d94bb4e401e65da9e85528b7a19ced57a768eb09b8530856b30041758db6023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82
+
+# Modified r or s, e.g. by adding or subtracting the order of the group
+msg = 313233343030
+result = invalid
+sig = 306602310112b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82
+
+# Modified r or s, e.g. by adding or subtracting the order of the group
+msg = 313233343030
+result = invalid
+sig = 3066023100ed4cf541094ab8901949ed51aa83fbda99e1d94bb4e401e6250d35d71ceecf7c4571b51b33ba5fcdf542cc6b0e3ab729023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82
+
+# Modified r or s, e.g. by adding or subtracting the order of the group
+msg = 313233343030
+result = invalid
+sig = 3065023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023101e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc5f8fc6adfda650a86aa74b95adbd6874b3cd8dde6cc0798f5
+
+# Modified r or s, e.g. by adding or subtracting the order of the group
+msg = 313233343030
+result = invalid
+sig = 3064023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d70230e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc66a35cfdbf1f6aec7fa409df64a7538556300ab11327d460f
+
+# Modified r or s, e.g. by adding or subtracting the order of the group
+msg = 313233343030
+result = invalid
+sig = 3065023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d70231ff1840da9fc1d2f8f8900cf485d5413b8c2574ee3a8d4ca039ce66e2a219d22358ada554576cda202fb0133b8400bd907e
+
+# Modified r or s, e.g. by adding or subtracting the order of the group
+msg = 313233343030
+result = invalid
+sig = 3065023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d70231fe1840da9fc1d2f8f8900cf485d5413b8c2574ee3a8d4ca03a07039520259af579558b46a5242978b4c327221933f8670b
+
+# Modified r or s, e.g. by adding or subtracting the order of the group
+msg = 313233343030
+result = invalid
+sig = 3065023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023101e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82
+
+# Modified r or s, e.g. by adding or subtracting the order of the group
+msg = 313233343030
+result = invalid
+sig = 3064023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d702301840da9fc1d2f8f8900cf485d5413b8c2574ee3a8d4ca039ce66e2a219d22358ada554576cda202fb0133b8400bd907e
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 3006020100020100
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 3006020100020101
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 30060201000201ff
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 3036020100023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52973
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 3036020100023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52972
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 3036020100023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52974
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 3036020100023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000ffffffff
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 3036020100023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff000000000000000100000000
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 3008020100090380fe01
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 3006020101020100
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 3006020101020101
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 30060201010201ff
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 3036020101023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52973
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 3036020101023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52972
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 3036020101023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52974
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 3036020101023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000ffffffff
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 3036020101023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff000000000000000100000000
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 3008020101090380fe01
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 30060201ff020100
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 30060201ff020101
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 30060201ff0201ff
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 30360201ff023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52973
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 30360201ff023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52972
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 30360201ff023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52974
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 30360201ff023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000ffffffff
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 30360201ff023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff000000000000000100000000
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 30080201ff090380fe01
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 3036023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52973020100
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 3036023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52973020101
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 3036023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc529730201ff
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 3066023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52973023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52973
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 3066023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52973023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52972
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 3066023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52973023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52974
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 3066023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52973023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000ffffffff
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 3066023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52973023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff000000000000000100000000
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 3038023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52973090380fe01
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 3036023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52972020100
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 3036023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52972020101
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 3036023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc529720201ff
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 3066023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52972023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52973
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 3066023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52972023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52972
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 3066023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52972023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52974
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 3066023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52972023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000ffffffff
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 3066023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52972023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff000000000000000100000000
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 3038023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52972090380fe01
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 3036023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52974020100
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 3036023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52974020101
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 3036023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc529740201ff
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 3066023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52974023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52973
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 3066023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52974023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52972
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 3066023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52974023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52974
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 3066023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52974023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000ffffffff
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 3066023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52974023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff000000000000000100000000
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 3038023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52974090380fe01
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 3036023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000ffffffff020100
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 3036023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000ffffffff020101
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 3036023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000ffffffff0201ff
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 3066023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000ffffffff023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52973
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 3066023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000ffffffff023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52972
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 3066023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000ffffffff023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52974
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 3066023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000ffffffff023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000ffffffff
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 3066023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000ffffffff023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff000000000000000100000000
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 3038023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000ffffffff090380fe01
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 3036023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff000000000000000100000000020100
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 3036023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff000000000000000100000000020101
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 3036023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000001000000000201ff
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 3066023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff000000000000000100000000023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52973
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 3066023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff000000000000000100000000023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52972
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 3066023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff000000000000000100000000023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52974
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 3066023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff000000000000000100000000023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000ffffffff
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 3066023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff000000000000000100000000023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff000000000000000100000000
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 3038023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff000000000000000100000000090380fe01
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Edge case for Shamir multiplication
+msg = 3133323237
+result = valid
+sig = 3066023100ac042e13ab83394692019170707bc21dd3d7b8d233d11b651757085bdd5767eabbb85322984f14437335de0cdf565684023100bd770d3ee4beadbabe7ca46e8c4702783435228d46e2dd360e322fe61c86926fa49c8116ec940f72ac8c30d9beb3e12f
+
+[key.curve = secp384r1]
+[key.keySize = 384]
+[key.type = ECPublicKey]
+[key.wx = 4bf4e52f958427ebb5915fb8c9595551b4d3a3fdab67badd9d6c3093f425ba43630df71f42f0eb7ceaa94d9f6448a85d]
+[key.wy = 0d30331588249fd2fdc0b309ec7ed8481bc16f27800c13d7db700fc82e1b1c8545aa0c0d3b56e3bfe789fc18a916887c2]
+[keyDer = 3076301006072a8648ce3d020106052b81040022036200044bf4e52f958427ebb5915fb8c9595551b4d3a3fdab67badd9d6c3093f425ba43630df71f42f0eb7ceaa94d9f6448a85dd30331588249fd2fdc0b309ec7ed8481bc16f27800c13d7db700fc82e1b1c8545aa0c0d3b56e3bfe789fc18a916887c2]
+[sha = SHA-384]
+
+# k*G has a large x-coordinate
+msg = 313233343030
+result = valid
+sig = 304d0218389cb27e0bc8d21fa7e5f24cb74f58851313e696333ad68b023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52970
+
+# r too large
+msg = 313233343030
+result = invalid
+sig = 3066023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000fffffffe023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52970
+
+[key.curve = secp384r1]
+[key.keySize = 384]
+[key.type = ECPublicKey]
+[key.wx = 3623bb296b88f626d0f92656bf016f115b721277ccb4930739bfbd81f9c1e734630e0685d32e154e0b4a5c62e43851f6]
+[key.wy = 768356b4a5764c128c7b1105e3d778a89d1e01da297ede1bc4312c2583e0bbddd21613583dd09ab895c63be479f94576]
+[keyDer = 3076301006072a8648ce3d020106052b81040022036200043623bb296b88f626d0f92656bf016f115b721277ccb4930739bfbd81f9c1e734630e0685d32e154e0b4a5c62e43851f6768356b4a5764c128c7b1105e3d778a89d1e01da297ede1bc4312c2583e0bbddd21613583dd09ab895c63be479f94576]
+[sha = SHA-384]
+
+# r,s are large
+msg = 313233343030
+result = valid
+sig = 3066023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52972023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52971
+
+[key.curve = secp384r1]
+[key.keySize = 384]
+[key.type = ECPublicKey]
+[key.wx = 0d516cb8ac8e4457b693d5192beeb6ce7d9a46bef48eecf3ea823286f101f98d130f5a26dc6fec23662eff07f14486fd5]
+[key.wy = 08456932e74894b7f0e3bb0dfd362502b3765dd80a3177209fb221dc9b51aaf4470b245391405bef514176b13a267a720]
+[keyDer = 3076301006072a8648ce3d020106052b8104002203620004d516cb8ac8e4457b693d5192beeb6ce7d9a46bef48eecf3ea823286f101f98d130f5a26dc6fec23662eff07f14486fd58456932e74894b7f0e3bb0dfd362502b3765dd80a3177209fb221dc9b51aaf4470b245391405bef514176b13a267a720]
+[sha = SHA-384]
+
+# r and s^-1 have a large Hamming weight
+msg = 313233343030
+result = valid
+sig = 306502307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd023100d1aee55fdc2a716ba2fabcb57020b72e539bf05c7902f98e105bf83d4cc10c2a159a3cf7e01d749d2205f4da6bd8fcf1
+
+[key.curve = secp384r1]
+[key.keySize = 384]
+[key.type = ECPublicKey]
+[key.wx = 0a8380cd35026e13bf87be693cdb6e75a82d765b4019b529e8d277c4af6c9db27ebb5d3f86e88add9d5b61186f04c83a9]
+[key.wy = 092a187507c737325d2cc624acef3cd036bfa99e0c1518be65c88bb51f900f94123acabad81d15130d3ade7ff7e4364e1]
+[keyDer = 3076301006072a8648ce3d020106052b8104002203620004a8380cd35026e13bf87be693cdb6e75a82d765b4019b529e8d277c4af6c9db27ebb5d3f86e88add9d5b61186f04c83a992a187507c737325d2cc624acef3cd036bfa99e0c1518be65c88bb51f900f94123acabad81d15130d3ade7ff7e4364e1]
+[sha = SHA-384]
+
+# r and s^-1 have a large Hamming weight
+msg = 313233343030
+result = valid
+sig = 306502307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd023100b6b681dc484f4f020fd3f7e626d88edc6ded1b382ef3e143d60887b51394260832d4d8f2ef70458f9fa90e38c2e19e4f
+
+[key.curve = secp384r1]
+[key.keySize = 384]
+[key.type = ECPublicKey]
+[key.wx = 554f2fd0b700a9f4568752b673d9c0d29dc96c10fe67e38c6d6d339bfafe05f970da8c3d2164e82031307a44bd322511]
+[key.wy = 71312b61b59113ff0bd3b8a9a4934df262aa8096f840e9d8bffa5d7491ded87b38c496f9b9e4f0ba1089f8d3ffc88a9f]
+[keyDer = 3076301006072a8648ce3d020106052b8104002203620004554f2fd0b700a9f4568752b673d9c0d29dc96c10fe67e38c6d6d339bfafe05f970da8c3d2164e82031307a44bd32251171312b61b59113ff0bd3b8a9a4934df262aa8096f840e9d8bffa5d7491ded87b38c496f9b9e4f0ba1089f8d3ffc88a9f]
+[sha = SHA-384]
+
+# small r and s
+msg = 313233343030
+result = valid
+sig = 3006020102020101
+
+[key.curve = secp384r1]
+[key.keySize = 384]
+[key.type = ECPublicKey]
+[key.wx = 44ee3335fa77d2fb02e4bd7074f45e598a879c0fa822ec718c21dc13b83440edc4e3c10a1858423e03044c9eff22591c]
+[key.wy = 0d027c49933e5510557d6b4b2c6f66fe5dcb9302a3b13fdc68048c3fcac88ba152b6a9833c87fdc6280afc5d11ab7c107]
+[keyDer = 3076301006072a8648ce3d020106052b810400220362000444ee3335fa77d2fb02e4bd7074f45e598a879c0fa822ec718c21dc13b83440edc4e3c10a1858423e03044c9eff22591cd027c49933e5510557d6b4b2c6f66fe5dcb9302a3b13fdc68048c3fcac88ba152b6a9833c87fdc6280afc5d11ab7c107]
+[sha = SHA-384]
+
+# small r and s
+msg = 313233343030
+result = valid
+sig = 3006020102020102
+
+[key.curve = secp384r1]
+[key.keySize = 384]
+[key.type = ECPublicKey]
+[key.wx = 0e2f87f72e3c66c73037fe77607d42ad2d9c4cc159893b4b9b8b0365d3a7766dbe8678b02e2b68f58e5a4f7681061a390]
+[key.wy = 0e38f2142818542bef6b2bc3a2c4f43c95e5259d6bd5401531378c7ca125a1f6cc609d4fadfc5c9a99358ee77ff780c8d]
+[keyDer = 3076301006072a8648ce3d020106052b8104002203620004e2f87f72e3c66c73037fe77607d42ad2d9c4cc159893b4b9b8b0365d3a7766dbe8678b02e2b68f58e5a4f7681061a390e38f2142818542bef6b2bc3a2c4f43c95e5259d6bd5401531378c7ca125a1f6cc609d4fadfc5c9a99358ee77ff780c8d]
+[sha = SHA-384]
+
+# small r and s
+msg = 313233343030
+result = valid
+sig = 3006020102020103
+
+# r is larger than n
+msg = 313233343030
+result = invalid
+sig = 3036023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52975020103
+
+[key.curve = secp384r1]
+[key.keySize = 384]
+[key.type = ECPublicKey]
+[key.wx = 5e67c44fc0cbc9a8eb343b4d6f596c7d00cac5da8594caf45b7209397496214c42d856a015ce589bc9ba865a4fab5ab]
+[key.wy = 088a01c7b5d09efaf878fcb9102fb3875a8381af234d1c593076e452225a56f51674f347126d3009b44dcbb003a64d95f]
+[keyDer = 3076301006072a8648ce3d020106052b810400220362000405e67c44fc0cbc9a8eb343b4d6f596c7d00cac5da8594caf45b7209397496214c42d856a015ce589bc9ba865a4fab5ab88a01c7b5d09efaf878fcb9102fb3875a8381af234d1c593076e452225a56f51674f347126d3009b44dcbb003a64d95f]
+[sha = SHA-384]
+
+# s is larger than n
+msg = 313233343030
+result = invalid
+sig = 3036020102023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accd7fffa
+
+[key.curve = secp384r1]
+[key.keySize = 384]
+[key.type = ECPublicKey]
+[key.wx = 0bb03fce3c01ebcf0873abd134a8682f5fb8dbffa22da674047e5c3e71e43de582ed6abb908c2e4faa5d96186278b6c1]
+[key.wy = 0ba3b22123e68ccc56f17dd79ff15565706f71a0b6123c77af3cd88f0af024cc5259781516edcaf5fe990646e7b66999d]
+[keyDer = 3076301006072a8648ce3d020106052b81040022036200040bb03fce3c01ebcf0873abd134a8682f5fb8dbffa22da674047e5c3e71e43de582ed6abb908c2e4faa5d96186278b6c1ba3b22123e68ccc56f17dd79ff15565706f71a0b6123c77af3cd88f0af024cc5259781516edcaf5fe990646e7b66999d]
+[sha = SHA-384]
+
+# small r and s^-1
+msg = 313233343030
+result = valid
+sig = 3036020201000230489122448912244891224489122448912244891224489122347ce79bc437f4d071aaa92c7d6c882ae8734dc18cb0d553
+
+[key.curve = secp384r1]
+[key.keySize = 384]
+[key.type = ECPublicKey]
+[key.wx = 58f246090d5e49863bc0bf2d501ff72f551c5f1c5e679eb49064fd02e221a2707326ec2d140bcc817afaad5065761566]
+[key.wy = 497c823fd736882cbf78fb92b1a5589b67e8067497c710a4cbb39dee2c5431bc45cfb96c9f8454385c9f2b3ef2d3d31a]
+[keyDer = 3076301006072a8648ce3d020106052b810400220362000458f246090d5e49863bc0bf2d501ff72f551c5f1c5e679eb49064fd02e221a2707326ec2d140bcc817afaad5065761566497c823fd736882cbf78fb92b1a5589b67e8067497c710a4cbb39dee2c5431bc45cfb96c9f8454385c9f2b3ef2d3d31a]
+[sha = SHA-384]
+
+# smallish r and s^-1
+msg = 313233343030
+result = valid
+sig = 303c02072d9b4d347952cd023100ce751512561b6f57c75342848a3ff98ccf9c3f0219b6b68d00449e6c971a85d2e2ce73554b59219d54d2083b46327351
+
+[key.curve = secp384r1]
+[key.keySize = 384]
+[key.type = ECPublicKey]
+[key.wx = 0fc6984dd6830d1485fb2581a45a791d8dca2c727c73d3d44c89f0082c1868af5ca74b4ca4ae22802640a9ebfe8c7ae12]
+[key.wy = 0998d63a5b5ad1b72b899f0b132e4952aaa19d41fdeea48b1ed6b8358dd1db207fd66e01453ad40f67b836adc802d5fe8]
+[keyDer = 3076301006072a8648ce3d020106052b8104002203620004fc6984dd6830d1485fb2581a45a791d8dca2c727c73d3d44c89f0082c1868af5ca74b4ca4ae22802640a9ebfe8c7ae12998d63a5b5ad1b72b899f0b132e4952aaa19d41fdeea48b1ed6b8358dd1db207fd66e01453ad40f67b836adc802d5fe8]
+[sha = SHA-384]
+
+# 100-bit r and small s^-1
+msg = 313233343030
+result = valid
+sig = 3041020d1033e67e37b32b445580bf4efb02302ad52ad52ad52ad52ad52ad52ad52ad52ad52ad52ad52ad5215c51b320e460542f9cc38968ccdf4263684004eb79a452
+
+[key.curve = secp384r1]
+[key.keySize = 384]
+[key.type = ECPublicKey]
+[key.wx = 1b8def5922303d647e8eb07e3bad92f924b79b769eef168e7541de1f4e0d28ae9733eb98cf8a1fb6dd52ca02c8c75b51]
+[key.wy = 0c7aa4bf679d49d8114122074da8f6044a427371796a5654a6106162d5f686abb73ebd896ab08c7062687f12171fbe4a3]
+[keyDer = 3076301006072a8648ce3d020106052b81040022036200041b8def5922303d647e8eb07e3bad92f924b79b769eef168e7541de1f4e0d28ae9733eb98cf8a1fb6dd52ca02c8c75b51c7aa4bf679d49d8114122074da8f6044a427371796a5654a6106162d5f686abb73ebd896ab08c7062687f12171fbe4a3]
+[sha = SHA-384]
+
+# small r and 100 bit s^-1
+msg = 313233343030
+result = valid
+sig = 303602020100023077a172dfe37a2c53f0b92ab60f0a8f085f49dbfd930719d6f9e587ea68ae57cb49cd35a88cf8c6acec02f057a3807a5b
+
+[key.curve = secp384r1]
+[key.keySize = 384]
+[key.type = ECPublicKey]
+[key.wx = 1734a039a88a16c2ff4aa97d2399121f56f52ef01ed5e50887f736f65b6e51d6e8786abb4e063da5d1ba812dff998403]
+[key.wy = 0ccd698e6c296d5cd69178f8a82481a865da331627f1c4b324fbc02b36e8b5ed58a31f728e904d203a388755302195765]
+[keyDer = 3076301006072a8648ce3d020106052b81040022036200041734a039a88a16c2ff4aa97d2399121f56f52ef01ed5e50887f736f65b6e51d6e8786abb4e063da5d1ba812dff998403ccd698e6c296d5cd69178f8a82481a865da331627f1c4b324fbc02b36e8b5ed58a31f728e904d203a388755302195765]
+[sha = SHA-384]
+
+# 100-bit r and s^-1
+msg = 313233343030
+result = valid
+sig = 3041020d062522bbd3ecbe7c39e93e7c24023077a172dfe37a2c53f0b92ab60f0a8f085f49dbfd930719d6f9e587ea68ae57cb49cd35a88cf8c6acec02f057a3807a5b
+
+[key.curve = secp384r1]
+[key.keySize = 384]
+[key.type = ECPublicKey]
+[key.wx = 52ca47dda99172cb8321495acf988548295988ec973c1b4ea9462c53e5768a704a936410ee847b5dbf1e9d0c131da6c7]
+[key.wy = 087a47027e6655792eb002d4228ee72f7c814c9a0cecbff267948f81c9903ac10eb35f6cb86369224ed609811cdf390f4]
+[keyDer = 3076301006072a8648ce3d020106052b810400220362000452ca47dda99172cb8321495acf988548295988ec973c1b4ea9462c53e5768a704a936410ee847b5dbf1e9d0c131da6c787a47027e6655792eb002d4228ee72f7c814c9a0cecbff267948f81c9903ac10eb35f6cb86369224ed609811cdf390f4]
+[sha = SHA-384]
+
+# r and s^-1 are close to n
+msg = 313233343030
+result = valid
+sig = 3065023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc528f3023055555555555555555555555555555555555555555555555542766f2b5167b9f51d5e0490c2e58d28f9a40878eeec6326
+
+[key.curve = secp384r1]
+[key.keySize = 384]
+[key.type = ECPublicKey]
+[key.wx = 0bd3d91f003e18adbea73079d4eba23b91fc17fcec14c9eb15a193fbc9ca39c8c747cd7a2c9623e05dd587ccbb8ab4c44]
+[key.wy = 3adb0a0706aa5ea7a68042082fccefc979612a7a1a3d694b00793b03f89bff866a8b97c8e77990c29360ce795036c764]
+[keyDer = 3076301006072a8648ce3d020106052b8104002203620004bd3d91f003e18adbea73079d4eba23b91fc17fcec14c9eb15a193fbc9ca39c8c747cd7a2c9623e05dd587ccbb8ab4c443adb0a0706aa5ea7a68042082fccefc979612a7a1a3d694b00793b03f89bff866a8b97c8e77990c29360ce795036c764]
+[sha = SHA-384]
+
+# s == 1
+msg = 313233343030
+result = valid
+sig = 3035023055555555555555555555555555555555555555555555555542766f2b5167b9f51d5e0490c2e58d28f9a40878eeec6326020101
+
+# s == 0
+msg = 313233343030
+result = invalid
+sig = 3035023055555555555555555555555555555555555555555555555542766f2b5167b9f51d5e0490c2e58d28f9a40878eeec6326020100
+
+[key.curve = secp384r1]
+[key.keySize = 384]
+[key.type = ECPublicKey]
+[key.wx = 0f896353cc3a8afdd543ec3aef062ca97bc32ed1724ea38b940b8c0ea0e23b34187afbe70daf8dbaa5b511557e5d2bdda]
+[key.wy = 0c4bd265da67ceeafca636f6f4c0472f22a9d02e2289184f73bbb700ae8fc921eff4920f290bfcb49fbb232cc13a21028]
+[keyDer = 3076301006072a8648ce3d020106052b8104002203620004f896353cc3a8afdd543ec3aef062ca97bc32ed1724ea38b940b8c0ea0e23b34187afbe70daf8dbaa5b511557e5d2bddac4bd265da67ceeafca636f6f4c0472f22a9d02e2289184f73bbb700ae8fc921eff4920f290bfcb49fbb232cc13a21028]
+[sha = SHA-384]
+
+# point at infinity during verify
+msg = 313233343030
+result = invalid
+sig = 306402307fffffffffffffffffffffffffffffffffffffffffffffffe3b1a6c0fa1b96efac0d06d9245853bd76760cb5666294b9023055555555555555555555555555555555555555555555555542766f2b5167b9f51d5e0490c2e58d28f9a40878eeec6326
+
+[key.curve = secp384r1]
+[key.keySize = 384]
+[key.type = ECPublicKey]
+[key.wx = 3ecfd58a3ce583866e0471d16eb3c10a411ec3b8671f3a04769b1ed8464a71cf1c76d8d9b7e3670bbe712d6f554a9383]
+[key.wy = 0d980d8bedf57470d6b45cc1ad0c6426dc70a0e4be901106a36663bfcab04fcb86008777b92445120d5e3641d97396362]
+[keyDer = 3076301006072a8648ce3d020106052b81040022036200043ecfd58a3ce583866e0471d16eb3c10a411ec3b8671f3a04769b1ed8464a71cf1c76d8d9b7e3670bbe712d6f554a9383d980d8bedf57470d6b45cc1ad0c6426dc70a0e4be901106a36663bfcab04fcb86008777b92445120d5e3641d97396362]
+[sha = SHA-384]
+
+# u1 == 1
+msg = 313233343030
+result = valid
+sig = 3065023055555555555555555555555555555555555555555555555542766f2b5167b9f51d5e0490c2e58d28f9a40878eeec6326023100f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace
+
+[key.curve = secp384r1]
+[key.keySize = 384]
+[key.type = ECPublicKey]
+[key.wx = 4150ccd0fa45aa2ef6b5042ddbb1b87c5ffd1115a8fe5995641948acda82a7b190762d84352cd74d1ca01e79f68f9cb4]
+[key.wy = 0eb11be9d494c181c156e23e77e532bdf0a20c3cc74ba8c29b1f3eb2bd99129ee0d70ff0d593f0d7a6d6887e7c55930d2]
+[keyDer = 3076301006072a8648ce3d020106052b81040022036200044150ccd0fa45aa2ef6b5042ddbb1b87c5ffd1115a8fe5995641948acda82a7b190762d84352cd74d1ca01e79f68f9cb4eb11be9d494c181c156e23e77e532bdf0a20c3cc74ba8c29b1f3eb2bd99129ee0d70ff0d593f0d7a6d6887e7c55930d2]
+[sha = SHA-384]
+
+# u1 == n - 1
+msg = 313233343030
+result = valid
+sig = 3064023055555555555555555555555555555555555555555555555542766f2b5167b9f51d5e0490c2e58d28f9a40878eeec63260230064ed80f27e1432e84845f15ece399f2cbf4fa31aa837de9b953d44413b9f5c7c7f67989d703f07abef11b6ad0373ea5
+
+[key.curve = secp384r1]
+[key.keySize = 384]
+[key.type = ECPublicKey]
+[key.wx = 0e78fe2c11beac7090ee0af7fed469a8ccebd3cccc4ee9fccc8ef3fc0455b69aaa082dc13e1d84f34026cb6f0af9e992f]
+[key.wy = 0f34ebba71bf3a4050bf28e4084b5c5f5d4098ec46f10a31b02fb4bf20cc9362f6f02a66e802f817507535fac3ec0b099]
+[keyDer = 3076301006072a8648ce3d020106052b8104002203620004e78fe2c11beac7090ee0af7fed469a8ccebd3cccc4ee9fccc8ef3fc0455b69aaa082dc13e1d84f34026cb6f0af9e992ff34ebba71bf3a4050bf28e4084b5c5f5d4098ec46f10a31b02fb4bf20cc9362f6f02a66e802f817507535fac3ec0b099]
+[sha = SHA-384]
+
+# u2 == 1
+msg = 313233343030
+result = valid
+sig = 3064023055555555555555555555555555555555555555555555555542766f2b5167b9f51d5e0490c2e58d28f9a40878eeec6326023055555555555555555555555555555555555555555555555542766f2b5167b9f51d5e0490c2e58d28f9a40878eeec6326
+
+[key.curve = secp384r1]
+[key.keySize = 384]
+[key.type = ECPublicKey]
+[key.wx = 0ee24ab8a34d05af684939357f32759cc5a14f3c717529a20aea8e0c5965d8a41e68925f688471994b72021ba51b28c09]
+[key.wy = 0a55693c92ad0cbae9edcf515e2b4c060b888d82c81e4a3b6a173b62ed04a46fa95db1a2f3949980fba2e371263c4fa9]
+[keyDer = 3076301006072a8648ce3d020106052b8104002203620004ee24ab8a34d05af684939357f32759cc5a14f3c717529a20aea8e0c5965d8a41e68925f688471994b72021ba51b28c090a55693c92ad0cbae9edcf515e2b4c060b888d82c81e4a3b6a173b62ed04a46fa95db1a2f3949980fba2e371263c4fa9]
+[sha = SHA-384]
+
+# u2 == n - 1
+msg = 313233343030
+result = valid
+sig = 3065023055555555555555555555555555555555555555555555555542766f2b5167b9f51d5e0490c2e58d28f9a40878eeec6326023100aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa84ecde56a2cf73ea3abc092185cb1a51f34810f1ddd8c64d
+
+[key.curve = secp384r1]
+[key.keySize = 384]
+[key.type = ECPublicKey]
+[key.wx = 3d2e916055c92e1b36133f5937b37c1b0102834eb77008a3ba9c3da446e9065971d68ba913091851e10cff5b4cd875c1]
+[key.wy = 39aa7aadfc2caf7107b17ae1aea8b299d61bf15aca0cb3fd6f1ffde8192bfe58f0822bbbc1f55bddf6b4fe9c8f2b0eac]
+[keyDer = 3076301006072a8648ce3d020106052b81040022036200043d2e916055c92e1b36133f5937b37c1b0102834eb77008a3ba9c3da446e9065971d68ba913091851e10cff5b4cd875c139aa7aadfc2caf7107b17ae1aea8b299d61bf15aca0cb3fd6f1ffde8192bfe58f0822bbbc1f55bddf6b4fe9c8f2b0eac]
+[sha = SHA-384]
+
+# edge case for u1
+msg = 313233343030
+result = valid
+sig = 306402307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd0230533b0d50480a3ef07e7e8af8b1097759bc03ac9a1c7ed6075a052869f57f12b285613162d08ee7aab9fe54aaa984a39a
+
+[key.curve = secp384r1]
+[key.keySize = 384]
+[key.type = ECPublicKey]
+[key.wx = 0ae596697427aa250156c05ac4338e48980a7f093ea1f1fe67098b43f6539c1b20ae74338f9bf270d33663c50abe8fd00]
+[key.wy = 1ca6a52732db74ab15d2f249a3d839080f898367dfd64992cdce2708deaad523a2a236b43400424241c91a35b530fa50]
+[keyDer = 3076301006072a8648ce3d020106052b8104002203620004ae596697427aa250156c05ac4338e48980a7f093ea1f1fe67098b43f6539c1b20ae74338f9bf270d33663c50abe8fd001ca6a52732db74ab15d2f249a3d839080f898367dfd64992cdce2708deaad523a2a236b43400424241c91a35b530fa50]
+[sha = SHA-384]
+
+# edge case for u1
+msg = 313233343030
+result = valid
+sig = 306502307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd023100d49a253986bbaa8ce9c3d3808313d39c3b950a478372edc009bc0566b73be7b05dad0737e16960257cc16db6ec6c620f
+
+[key.curve = secp384r1]
+[key.keySize = 384]
+[key.type = ECPublicKey]
+[key.wx = 088738f9981dd4d1fabb60ad83c2dd6dfc9da302209ae3e53498a883b6e39a38bead9b02709f352d3e6b6578154eab252]
+[key.wy = 09388a05c6b9f3a4028abb9950a51f5264ecd7580a423fdec9472faeeb57f92e31c46bef2a781fe5edad026009f198262]
+[keyDer = 3076301006072a8648ce3d020106052b810400220362000488738f9981dd4d1fabb60ad83c2dd6dfc9da302209ae3e53498a883b6e39a38bead9b02709f352d3e6b6578154eab2529388a05c6b9f3a4028abb9950a51f5264ecd7580a423fdec9472faeeb57f92e31c46bef2a781fe5edad026009f198262]
+[sha = SHA-384]
+
+# edge case for u1
+msg = 313233343030
+result = valid
+sig = 306402307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd0230285090b0d6a6820bbba394efbee5c24a2281e825d2f6c55fb7a85b8251db00f75ab07cc993ceaf664f3c116baf34b021
+
+[key.curve = secp384r1]
+[key.keySize = 384]
+[key.type = ECPublicKey]
+[key.wx = 0f421541311c94fdd79fc298f8ab1a3adfd08029fdad439a94d4cea11f7e799bc439609f2fb7be3f349d55e484d0a0d36]
+[key.wy = 0b35330bbdbec1e75f2984483d96bf210d722c1830292ffc35a2f6a21a4b50519f565f024bbccc97228a2f8ad8fadc0d5]
+[keyDer = 3076301006072a8648ce3d020106052b8104002203620004f421541311c94fdd79fc298f8ab1a3adfd08029fdad439a94d4cea11f7e799bc439609f2fb7be3f349d55e484d0a0d36b35330bbdbec1e75f2984483d96bf210d722c1830292ffc35a2f6a21a4b50519f565f024bbccc97228a2f8ad8fadc0d5]
+[sha = SHA-384]
+
+# edge case for u1
+msg = 313233343030
+result = valid
+sig = 306502307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd023100b39af4a81ee4ae79064ed80f27e1432e84845f15ece399f2a43d2505a0a8c72c5731f4fd967420b1000e3f75502ed7b7
+
+[key.curve = secp384r1]
+[key.keySize = 384]
+[key.type = ECPublicKey]
+[key.wx = 399be4cfc439f94f2421cbd34c2cd90bae53eb60ddfafca52f7275d165d14fa659b636713b5d4b39e62fd48bae141d0e]
+[key.wy = 1b23e3b4f0c202ed7b59db78a35c12ac698c603eab144fd09ac2ed8f4495f607e4d2c87a23ce2ec33e410ca47ecc2555]
+[keyDer = 3076301006072a8648ce3d020106052b8104002203620004399be4cfc439f94f2421cbd34c2cd90bae53eb60ddfafca52f7275d165d14fa659b636713b5d4b39e62fd48bae141d0e1b23e3b4f0c202ed7b59db78a35c12ac698c603eab144fd09ac2ed8f4495f607e4d2c87a23ce2ec33e410ca47ecc2555]
+[sha = SHA-384]
+
+# edge case for u1
+msg = 313233343030
+result = valid
+sig = 306502307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd023100af4a81ee4ae79064ed80f27e1432e84845f15ece399f2cbf28df829ccd30f5ef62ec23957b837d73fe4e156edccd4465
+
+[key.curve = secp384r1]
+[key.keySize = 384]
+[key.type = ECPublicKey]
+[key.wx = 1578bbff72137c4bca33d7385a892be94cb059f9091ddfe890345f712a9fba5fc77084cec11084ed048491604a07f66c]
+[key.wy = 76bbaa872f0710d82a08d9dddd833c7be7c7e8e265f49145157eb4e8e8280076a37ee5873271db510034da19da24415b]
+[keyDer = 3076301006072a8648ce3d020106052b81040022036200041578bbff72137c4bca33d7385a892be94cb059f9091ddfe890345f712a9fba5fc77084cec11084ed048491604a07f66c76bbaa872f0710d82a08d9dddd833c7be7c7e8e265f49145157eb4e8e8280076a37ee5873271db510034da19da24415b]
+[sha = SHA-384]
+
+# edge case for u1
+msg = 313233343030
+result = valid
+sig = 306402307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd02305e9503dc95cf20c9db01e4fc2865d0908be2bd9c733e597e8a5bb7b7a62abdff6dbe3978ae56536d0fb01172ecd55f57
+
+[key.curve = secp384r1]
+[key.keySize = 384]
+[key.type = ECPublicKey]
+[key.wx = 33ba451c85e729058f83041077a4695eb47df93e718b09a4618c753ac803cd75c1a91290c2ff5a635389d07149571dab]
+[key.wy = 1fc7d8a71776851ff244ff632fe6f92e1652e5284893c4244fe775d8efc589d823dd03f3919027f004537bd8ee09f3a3]
+[keyDer = 3076301006072a8648ce3d020106052b810400220362000433ba451c85e729058f83041077a4695eb47df93e718b09a4618c753ac803cd75c1a91290c2ff5a635389d07149571dab1fc7d8a71776851ff244ff632fe6f92e1652e5284893c4244fe775d8efc589d823dd03f3919027f004537bd8ee09f3a3]
+[sha = SHA-384]
+
+# edge case for u1
+msg = 313233343030
+result = valid
+sig = 306402307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd02301ee4ae79064ed80f27e1432e84845f15ece399f2cbf4fa31a3ae8edab84dc3330a39f70938e3912bd59753de5aed3088
+
+[key.curve = secp384r1]
+[key.keySize = 384]
+[key.type = ECPublicKey]
+[key.wx = 40771e3390216fed2c6208bdf5bfea83ab1915b166e626569f12efd410a39b7e7c76f70f0012843a26debf4ccc33dda]
+[key.wy = 0e5bc5f7e62d054eac31cd022afdb71b7c638f24c30cbad0ef35ed2fc9917f356e9c3f04391b21d1035274b81537fcbf3]
+[keyDer = 3076301006072a8648ce3d020106052b8104002203620004040771e3390216fed2c6208bdf5bfea83ab1915b166e626569f12efd410a39b7e7c76f70f0012843a26debf4ccc33ddae5bc5f7e62d054eac31cd022afdb71b7c638f24c30cbad0ef35ed2fc9917f356e9c3f04391b21d1035274b81537fcbf3]
+[sha = SHA-384]
+
+# edge case for u1
+msg = 313233343030
+result = valid
+sig = 306502307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd023100bb51cd3ba8eb201f53ddb4e34e08c0ff7dff9378106784d798d5a3440bd6dc34be3a0eaef8776619a0c97fefb15720b3
+
+[key.curve = secp384r1]
+[key.keySize = 384]
+[key.type = ECPublicKey]
+[key.wx = 098d3f16e1c510a933e648e78d01588319f002e9475df8942a2a89db0666bb7c88b32bb248140e44ac4ab28111b2b7923]
+[key.wy = 099a926f4a66fbe28ff65c09f8306893aec094b89d0fe529e3577c5ecf30a7944caaf530f4575eb113fcf4c200d2dd4bd]
+[keyDer = 3076301006072a8648ce3d020106052b810400220362000498d3f16e1c510a933e648e78d01588319f002e9475df8942a2a89db0666bb7c88b32bb248140e44ac4ab28111b2b792399a926f4a66fbe28ff65c09f8306893aec094b89d0fe529e3577c5ecf30a7944caaf530f4575eb113fcf4c200d2dd4bd]
+[sha = SHA-384]
+
+# edge case for u1
+msg = 313233343030
+result = valid
+sig = 306502307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd023100e707e267ea635384a6da09823149f5cb7acbb29e910d2630c5fb5afbc42aa8436349b214a3b8fb9481ec999e005091f8
+
+[key.curve = secp384r1]
+[key.keySize = 384]
+[key.type = ECPublicKey]
+[key.wx = 0d1fd602feef80be9e55a19d1a9799c72a899110c6ac21fb3c21357069809d591a8775b64d1867a8cfff124f6a5e3a4f5]
+[key.wy = 0f9548064f01b9af8868705493a37a037193b48f53b7c7973023f53e6ceff6830ca2f7a14ef51536d453af43b3058d8a9]
+[keyDer = 3076301006072a8648ce3d020106052b8104002203620004d1fd602feef80be9e55a19d1a9799c72a899110c6ac21fb3c21357069809d591a8775b64d1867a8cfff124f6a5e3a4f5f9548064f01b9af8868705493a37a037193b48f53b7c7973023f53e6ceff6830ca2f7a14ef51536d453af43b3058d8a9]
+[sha = SHA-384]
+
+# edge case for u1
+msg = 313233343030
+result = valid
+sig = 306502307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd023100acc4f2afb7f5c10f818175074ef688a643fc5365e38129f86d5e2517feb81b2cd2b8dc4f7821bfd032edc4c0234085d9
+
+[key.curve = secp384r1]
+[key.keySize = 384]
+[key.type = ECPublicKey]
+[key.wx = 082f37604f66664c2883dba6d98397c281045cbf59f1d16dddb1381126a246553a8b4d2aaea48ad9185a1645f65567d31]
+[key.wy = 08a4d7b19f1d2e4434c9a8ecad396304abc82221bbab0679935071c72fd975e7b021c04b1d16ea36fc2d051ef5a8e117c]
+[keyDer = 3076301006072a8648ce3d020106052b810400220362000482f37604f66664c2883dba6d98397c281045cbf59f1d16dddb1381126a246553a8b4d2aaea48ad9185a1645f65567d318a4d7b19f1d2e4434c9a8ecad396304abc82221bbab0679935071c72fd975e7b021c04b1d16ea36fc2d051ef5a8e117c]
+[sha = SHA-384]
+
+# edge case for u1
+msg = 313233343030
+result = valid
+sig = 306502307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd02310083276c0793f0a19742422f8af671ccf965fa7d18d541bef4c05b90e303f891d39008439e0fda4bfad5ee9a6ace7e340c
+
+[key.curve = secp384r1]
+[key.keySize = 384]
+[key.type = ECPublicKey]
+[key.wx = 0f052dfc27bf8a6d36f3739f239b981f5b53fe08d999ec683b01e43e7596156206ba08b8b9f59229e2fbdce05f1e40f99]
+[key.wy = 090f0fdfb7029f9b3e8c6144dad0339208b7cdcb3820a554259db9d27afdd18f4a750296c59bad6b62df076f90d53be0d]
+[keyDer = 3076301006072a8648ce3d020106052b8104002203620004f052dfc27bf8a6d36f3739f239b981f5b53fe08d999ec683b01e43e7596156206ba08b8b9f59229e2fbdce05f1e40f9990f0fdfb7029f9b3e8c6144dad0339208b7cdcb3820a554259db9d27afdd18f4a750296c59bad6b62df076f90d53be0d]
+[sha = SHA-384]
+
+# edge case for u1
+msg = 313233343030
+result = valid
+sig = 306502307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd023100942848586b534105ddd1ca77df72e1251140f412e97b62afbf85d4822309176b5965453dee3fab709e14156b3dfcecca
+
+[key.curve = secp384r1]
+[key.keySize = 384]
+[key.type = ECPublicKey]
+[key.wx = 0f877bd6e2a9273e322a3298ea3add13d1104b32172283669ca6688f0cb591524a7f15dd41496681eda98939aae729fed]
+[key.wy = 0e85ca37c81ef19e3dc9ab16908a3720d86875a51a6a6d932e37492a6ec7a344eabc482377f14891fbd1da7faeffa1178]
+[keyDer = 3076301006072a8648ce3d020106052b8104002203620004f877bd6e2a9273e322a3298ea3add13d1104b32172283669ca6688f0cb591524a7f15dd41496681eda98939aae729fede85ca37c81ef19e3dc9ab16908a3720d86875a51a6a6d932e37492a6ec7a344eabc482377f14891fbd1da7faeffa1178]
+[sha = SHA-384]
+
+# edge case for u2
+msg = 313233343030
+result = valid
+sig = 306402307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd02307fffffffffffffffffffffffffffffffffffffffffffffffed2119d5fc12649fc808af3b6d9037d3a44eb32399970dd0
+
+[key.curve = secp384r1]
+[key.keySize = 384]
+[key.type = ECPublicKey]
+[key.wx = 14249bbcfeeceab06c75654d361c0df8d56b320ea3bc1d4627ec0a2f4b8fa3577445694664f569a91f480741381e494a]
+[key.wy = 28479f2186d715a56788f67073056aa0cb0b6a7f7893e77b9a6976ef6663d80226896d7f43bb502e1b4d49558a27dd8b]
+[keyDer = 3076301006072a8648ce3d020106052b810400220362000414249bbcfeeceab06c75654d361c0df8d56b320ea3bc1d4627ec0a2f4b8fa3577445694664f569a91f480741381e494a28479f2186d715a56788f67073056aa0cb0b6a7f7893e77b9a6976ef6663d80226896d7f43bb502e1b4d49558a27dd8b]
+[sha = SHA-384]
+
+# edge case for u2
+msg = 313233343030
+result = valid
+sig = 306402307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd023079b95c013b0472de04d8faeec3b779c39fe729ea84fb554cd091c7178c2f054eabbc62c3e1cfbac2c2e69d7aa45d9072
+
+[key.curve = secp384r1]
+[key.keySize = 384]
+[key.type = ECPublicKey]
+[key.wx = 50a438c98ee94025ce13e27d36b8280d4843585836eb47011a070cd77729245684a0db31fde980620349c796832b2c6c]
+[key.wy = 0bdb72dba9f3f9cc878559f50b6bd1290f10a6bccbc1eeef7708b1b72059022987979e35221c51259f337c7288a2f86bc]
+[keyDer = 3076301006072a8648ce3d020106052b810400220362000450a438c98ee94025ce13e27d36b8280d4843585836eb47011a070cd77729245684a0db31fde980620349c796832b2c6cbdb72dba9f3f9cc878559f50b6bd1290f10a6bccbc1eeef7708b1b72059022987979e35221c51259f337c7288a2f86bc]
+[sha = SHA-384]
+
+# edge case for u2
+msg = 313233343030
+result = valid
+sig = 306502307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd023100bfd40d0caa4d9d42381f3d72a25683f52b03a1ed96fb72d03f08dcb9a8bc8f23c1a459deab03bcd39396c0d1e9053c81
+
+[key.curve = secp384r1]
+[key.keySize = 384]
+[key.type = ECPublicKey]
+[key.wx = 4d3fc5dcfaf741113cda3ce2f8dff4c912143e4d36314c361d7ed5656b68448bcca114ba9e8124281234660b7726ddcd]
+[key.wy = 680ddfef7ea07bfbcede10803d38d7211631ca11466078819eb66e11921ab7ffa3c4560c732e77595fd408e917dd9afc]
+[keyDer = 3076301006072a8648ce3d020106052b81040022036200044d3fc5dcfaf741113cda3ce2f8dff4c912143e4d36314c361d7ed5656b68448bcca114ba9e8124281234660b7726ddcd680ddfef7ea07bfbcede10803d38d7211631ca11466078819eb66e11921ab7ffa3c4560c732e77595fd408e917dd9afc]
+[sha = SHA-384]
+
+# edge case for u2
+msg = 313233343030
+result = valid
+sig = 306402307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd02304c7d219db9af94ce7fffffffffffffffffffffffffffffffef15cf1058c8d8ba1e634c4122db95ec1facd4bb13ebf09a
+
+[key.curve = secp384r1]
+[key.keySize = 384]
+[key.type = ECPublicKey]
+[key.wx = 63d65cdfeb1f1a42000f43bd1ddd130537a7b6f635e8d2bd81a97da168221183da433ca78429fd2b33c5f94895a9c13a]
+[key.wy = 0a9d1d5ea328725653a5a9d00f85a5516236f3b1428a8629287d3b0487a2e82dd57f93bb2aa3d9783dc74131e13756034]
+[keyDer = 3076301006072a8648ce3d020106052b810400220362000463d65cdfeb1f1a42000f43bd1ddd130537a7b6f635e8d2bd81a97da168221183da433ca78429fd2b33c5f94895a9c13aa9d1d5ea328725653a5a9d00f85a5516236f3b1428a8629287d3b0487a2e82dd57f93bb2aa3d9783dc74131e13756034]
+[sha = SHA-384]
+
+# edge case for u2
+msg = 313233343030
+result = valid
+sig = 306502307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd023100d219db9af94ce7ffffffffffffffffffffffffffffffffffd189bdb6d9ef7be8504ca374756ea5b8f15e44067d209b9b
+
+[key.curve = secp384r1]
+[key.keySize = 384]
+[key.type = ECPublicKey]
+[key.wx = 0d22c9c348b9745711f57debac3a07df90a527c06bd02a8454f41437d54224e071698f03fdc64b1d652414edc3f2239c4]
+[key.wy = 09ae9812a4b92f099d6659a659691768d57e530ed3c91d5455781605850997a58221f22a2451c3932470606c23f3ab1b8]
+[keyDer = 3076301006072a8648ce3d020106052b8104002203620004d22c9c348b9745711f57debac3a07df90a527c06bd02a8454f41437d54224e071698f03fdc64b1d652414edc3f2239c49ae9812a4b92f099d6659a659691768d57e530ed3c91d5455781605850997a58221f22a2451c3932470606c23f3ab1b8]
+[sha = SHA-384]
+
+# edge case for u2
+msg = 313233343030
+result = valid
+sig = 306502307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd023100a433b735f299cfffffffffffffffffffffffffffffffffffdbb02debbfa7c9f1487f3936a22ca3f6f5d06ea22d7c0dc3
+
+[key.curve = secp384r1]
+[key.keySize = 384]
+[key.type = ECPublicKey]
+[key.wx = 31f05c0c29e9da49aa2fbbedee770c68d10f85e7f77e72ac3cfa9c8623a2bb42eeb2f24ac8f2aef7ab0c4b4782314003]
+[key.wy = 5bb32fc1ec04bbff5eab96e070c938ba1b53fe63970f649ae02e2a4ada420a249b6f7c525e2c4b9b0d5562ae26f2278c]
+[keyDer = 3076301006072a8648ce3d020106052b810400220362000431f05c0c29e9da49aa2fbbedee770c68d10f85e7f77e72ac3cfa9c8623a2bb42eeb2f24ac8f2aef7ab0c4b47823140035bb32fc1ec04bbff5eab96e070c938ba1b53fe63970f649ae02e2a4ada420a249b6f7c525e2c4b9b0d5562ae26f2278c]
+[sha = SHA-384]
+
+# edge case for u2
+msg = 313233343030
+result = valid
+sig = 306502307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd023100b9af94ce7fffffffffffffffffffffffffffffffffffffffd6efeefc876c9f23217b443c80637ef939e911219f96c179
+
+[key.curve = secp384r1]
+[key.keySize = 384]
+[key.type = ECPublicKey]
+[key.wx = 0bc26eec95e26c980bc0334264cbcfc26b897c3571c96ce9ab2a67b49bb0f26a6272fdc27806d7a4c572ae0f78149f1f3]
+[key.wy = 0c8af5f41b99d2066018165513fb3b55e4255dcd0659647ed55e1e2602cae4efbd6eae1dfe2ff63e2c748d4acc7430139]
+[keyDer = 3076301006072a8648ce3d020106052b8104002203620004bc26eec95e26c980bc0334264cbcfc26b897c3571c96ce9ab2a67b49bb0f26a6272fdc27806d7a4c572ae0f78149f1f3c8af5f41b99d2066018165513fb3b55e4255dcd0659647ed55e1e2602cae4efbd6eae1dfe2ff63e2c748d4acc7430139]
+[sha = SHA-384]
+
+# edge case for u2
+msg = 313233343030
+result = valid
+sig = 306502307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd023100a276276276276276276276276276276276276276276276273d7228d4f84b769be0fd57b97e4c1ebcae9a5f635e80e9df
+
+[key.curve = secp384r1]
+[key.keySize = 384]
+[key.type = ECPublicKey]
+[key.wx = 6fa0964dd054250af176891c0c822b013b70f059c347172cafc6b36cd16cf3b0f9d19f2598bd0d580ac16c46acb167d4]
+[key.wy = 375bef701c002dcc040fd54824b14cc2df0154eb20e74464e1fe7b833426dd7d636bf2d79603fdde5ddaab23ab0cf426]
+[keyDer = 3076301006072a8648ce3d020106052b81040022036200046fa0964dd054250af176891c0c822b013b70f059c347172cafc6b36cd16cf3b0f9d19f2598bd0d580ac16c46acb167d4375bef701c002dcc040fd54824b14cc2df0154eb20e74464e1fe7b833426dd7d636bf2d79603fdde5ddaab23ab0cf426]
+[sha = SHA-384]
+
+# edge case for u2
+msg = 313233343030
+result = valid
+sig = 306402307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd023073333333333333333333333333333333333333333333333316e4d9f42d4eca22df403a0c578b86f0a9a93fe89995c7ed
+
+[key.curve = secp384r1]
+[key.keySize = 384]
+[key.type = ECPublicKey]
+[key.wx = 0baa4e712ee0786a5ab0e5a5dafdcdcf87b38830ab2ec86faedda9fdf65332f6a9688269412f050356530d4664a7fb8cd]
+[key.wy = 0ecc46a901b016e6bb8a336ad9aa6f19abf9ada69705d1c905beafb95a44f52af43de4bf80c050cf996b7796dfcee8e1b]
+[keyDer = 3076301006072a8648ce3d020106052b8104002203620004baa4e712ee0786a5ab0e5a5dafdcdcf87b38830ab2ec86faedda9fdf65332f6a9688269412f050356530d4664a7fb8cdecc46a901b016e6bb8a336ad9aa6f19abf9ada69705d1c905beafb95a44f52af43de4bf80c050cf996b7796dfcee8e1b]
+[sha = SHA-384]
+
+# edge case for u2
+msg = 313233343030
+result = valid
+sig = 306402307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd02307fffffffffffffffffffffffffffffffffffffffffffffffda4233abf824c93f90115e76db206fa7489d6647332e1ba3
+
+[key.curve = secp384r1]
+[key.keySize = 384]
+[key.type = ECPublicKey]
+[key.wx = 081e78a52ae0695583f7a601ab9b6fbfaf434f2befa1f8c833d59deb627a927c2f42d48eb617fe042f584e105c23c2317]
+[key.wy = 0cf22d565f5f3b425ef7937df629b6864dac71264b288c1a987210f523071319ce3f64411910ac23765c4266e615112bc]
+[keyDer = 3076301006072a8648ce3d020106052b810400220362000481e78a52ae0695583f7a601ab9b6fbfaf434f2befa1f8c833d59deb627a927c2f42d48eb617fe042f584e105c23c2317cf22d565f5f3b425ef7937df629b6864dac71264b288c1a987210f523071319ce3f64411910ac23765c4266e615112bc]
+[sha = SHA-384]
+
+# edge case for u2
+msg = 313233343030
+result = valid
+sig = 306402307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd02303fffffffffffffffffffffffffffffffffffffffffffffffe3b1a6c0fa1b96efac0d06d9245853bd76760cb5666294bb
+
+[key.curve = secp384r1]
+[key.keySize = 384]
+[key.type = ECPublicKey]
+[key.wx = 41fa8765b19d3108031e28c9a781a385c9c10b2bfd42e6437e5c4bd711cf2a031750847d17a82f9376a30ae182a6d6e7]
+[key.wy = 1c20af96324147d4155a4d0c867ca8e36eba204fbed2087e0fcbdc8baabe07bb3123f9f7259e771cd9f1ad17d1a23787]
+[keyDer = 3076301006072a8648ce3d020106052b810400220362000441fa8765b19d3108031e28c9a781a385c9c10b2bfd42e6437e5c4bd711cf2a031750847d17a82f9376a30ae182a6d6e71c20af96324147d4155a4d0c867ca8e36eba204fbed2087e0fcbdc8baabe07bb3123f9f7259e771cd9f1ad17d1a23787]
+[sha = SHA-384]
+
+# edge case for u2
+msg = 313233343030
+result = valid
+sig = 306502307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd023100dfea06865526cea11c0f9eb9512b41fa9581d0f6cb7db9680336151dce79de818cdf33c879da322740416d1e5ae532fa
+
+[key.curve = secp384r1]
+[key.keySize = 384]
+[key.type = ECPublicKey]
+[key.wx = 0e585a067d6dff37ae7f17f81583119b61291597345f107acffe237a08f4886d4fdf94fe63182e6143c99be25a7b7d86b]
+[key.wy = 572c1e06dd2c7b94b873f0578fcb2b99d60e246e51245d0804edd44b32f0f000c8f8f88f1d4a65fea51dbbb4ab1e2823]
+[keyDer = 3076301006072a8648ce3d020106052b8104002203620004e585a067d6dff37ae7f17f81583119b61291597345f107acffe237a08f4886d4fdf94fe63182e6143c99be25a7b7d86b572c1e06dd2c7b94b873f0578fcb2b99d60e246e51245d0804edd44b32f0f000c8f8f88f1d4a65fea51dbbb4ab1e2823]
+[sha = SHA-384]
+
+# point duplication during verification
+msg = 313233343030
+result = valid
+sig = 3065023100b37699e0d518a4d370dbdaaaea3788850fa03f8186d1f78fdfbae6540aa670b31c8ada0fff3e737bd69520560fe0ce60023064adb4d51a93f96bed4665de2d4e1169cc95819ec6e9333edfd5c07ca134ceef7c95957b719ae349fc439eaa49fbbe34
+# Some implementations of ECDSA do not handle duplication and points at infinity
+# correctly. This is a test vector that has been specially crafted to check for
+# such an omission.
+
+[key.curve = secp384r1]
+[key.keySize = 384]
+[key.type = ECPublicKey]
+[key.wx = 0e585a067d6dff37ae7f17f81583119b61291597345f107acffe237a08f4886d4fdf94fe63182e6143c99be25a7b7d86b]
+[key.wy = 0a8d3e1f922d3846b478c0fa87034d46629f1db91aedba2f7fb122bb4cd0f0ffe3707076fe2b59a015ae2444c54e1d7dc]
+[keyDer = 3076301006072a8648ce3d020106052b8104002203620004e585a067d6dff37ae7f17f81583119b61291597345f107acffe237a08f4886d4fdf94fe63182e6143c99be25a7b7d86ba8d3e1f922d3846b478c0fa87034d46629f1db91aedba2f7fb122bb4cd0f0ffe3707076fe2b59a015ae2444c54e1d7dc]
+[sha = SHA-384]
+
+# duplication bug
+msg = 313233343030
+result = invalid
+sig = 3065023100b37699e0d518a4d370dbdaaaea3788850fa03f8186d1f78fdfbae6540aa670b31c8ada0fff3e737bd69520560fe0ce60023064adb4d51a93f96bed4665de2d4e1169cc95819ec6e9333edfd5c07ca134ceef7c95957b719ae349fc439eaa49fbbe34
+# Some implementations of ECDSA do not handle duplication and points at infinity
+# correctly. This is a test vector that has been specially crafted to check for
+# such an omission.
+
+[key.curve = secp384r1]
+[key.keySize = 384]
+[key.type = ECPublicKey]
+[key.wx = 0b4d78cccbced8065c0ebdc330b4670ec99309273e442b9be341196c1043e4441fc57b914085595bfc755c64fc409f0ba]
+[key.wy = 1fee31cbbbaed5c1323f09c87df9b0712c12e99733fa23ef91b4e6ca666b09dd7540ebf1068a15155bc069e3d595c8c]
+[keyDer = 3076301006072a8648ce3d020106052b8104002203620004b4d78cccbced8065c0ebdc330b4670ec99309273e442b9be341196c1043e4441fc57b914085595bfc755c64fc409f0ba01fee31cbbbaed5c1323f09c87df9b0712c12e99733fa23ef91b4e6ca666b09dd7540ebf1068a15155bc069e3d595c8c]
+[sha = SHA-384]
+
+# point with x-coordinate 0
+msg = 313233343030
+result = invalid
+sig = 3035020101023055555555555555555555555555555555555555555555555542766f2b5167b9f51d5e0490c2e58d28f9a40878eeec6326
+
+[key.curve = secp384r1]
+[key.keySize = 384]
+[key.type = ECPublicKey]
+[key.wx = 6e3c68be53aade81ef89e096d841e2845a23331e7ec8a6a839d58d07fa016c0973ed75de4f99177bfdc74db566e9d15a]
+[key.wy = 4972ea08e577ce1f61c13a6ca1bad1deef2982ee01a2826f002b769f2c46098d3baff068a405d09ca3840d2fafe4e46e]
+[keyDer = 3076301006072a8648ce3d020106052b81040022036200046e3c68be53aade81ef89e096d841e2845a23331e7ec8a6a839d58d07fa016c0973ed75de4f99177bfdc74db566e9d15a4972ea08e577ce1f61c13a6ca1bad1deef2982ee01a2826f002b769f2c46098d3baff068a405d09ca3840d2fafe4e46e]
+[sha = SHA-384]
+
+# point with x-coordinate 0
+msg = 313233343030
+result = invalid
+sig = 3065023101000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000023033333333333333333333333333333333333333333333333327e0a919fda4a2c644d202bd41bcee4bc8fc05155c276eb0
+
+[key.curve = secp384r1]
+[key.keySize = 384]
+[key.type = ECPublicKey]
+[key.wx = 0b101cdb3eba20e112adbb4bbd2cb479a69e590a44ea902631832abfab8af2c3041b3df7f1665b2c6eb533f546217100a]
+[key.wy = 1a61aa9951578ad4f00ae17339a8a6f1359bbd0ac355678ed4df21338f08763c1d3702ec132b634c7bcc0118efb1d0dd]
+[keyDer = 3076301006072a8648ce3d020106052b8104002203620004b101cdb3eba20e112adbb4bbd2cb479a69e590a44ea902631832abfab8af2c3041b3df7f1665b2c6eb533f546217100a1a61aa9951578ad4f00ae17339a8a6f1359bbd0ac355678ed4df21338f08763c1d3702ec132b634c7bcc0118efb1d0dd]
+[sha = SHA-384]
+
+# comparison with point at infinity 
+msg = 313233343030
+result = invalid
+sig = 3064023055555555555555555555555555555555555555555555555542766f2b5167b9f51d5e0490c2e58d28f9a40878eeec6326023033333333333333333333333333333333333333333333333327e0a919fda4a2c644d202bd41bcee4bc8fc05155c276eb0
+
+[key.curve = secp384r1]
+[key.keySize = 384]
+[key.type = ECPublicKey]
+[key.wx = 6761044a040a4979db269b4a377e42f11b4be0ce24611f677674dcf770f5887ca4db565303283809e6d65f7fc6bc2736]
+[key.wy = 5c7daa403fca53549f75ff3372909642d02b7fdcac1e68242814d6e925ab01a80836cfbb35581960079e2fb44c0d186]
+[keyDer = 3076301006072a8648ce3d020106052b81040022036200046761044a040a4979db269b4a377e42f11b4be0ce24611f677674dcf770f5887ca4db565303283809e6d65f7fc6bc273605c7daa403fca53549f75ff3372909642d02b7fdcac1e68242814d6e925ab01a80836cfbb35581960079e2fb44c0d186]
+[sha = SHA-384]
+
+# extreme value for k
+msg = 313233343030
+result = valid
+sig = 3064023008d999057ba3d2d969260045c55b97f089025959a6f434d651d207d19fb96e9e4fe0e86ebe0e64f85b96a9c75295df61023055555555555555555555555555555555555555555555555542766f2b5167b9f51d5e0490c2e58d28f9a40878eeec6326
+
+[key.curve = secp384r1]
+[key.keySize = 384]
+[key.type = ECPublicKey]
+[key.wx = 34d74ec088bab6c6323968d1f468993812f690d6edca5b97604d718e12b8cdfdd96d42e57d33afe312f0ee3c3d0a13f7]
+[key.wy = 086f4922bb2c13bdf7752a3ecb69393e997bd65461c46867ebeef6296b23f2c56df63acfde648f3f5002dbc239ffd1582]
+[keyDer = 3076301006072a8648ce3d020106052b810400220362000434d74ec088bab6c6323968d1f468993812f690d6edca5b97604d718e12b8cdfdd96d42e57d33afe312f0ee3c3d0a13f786f4922bb2c13bdf7752a3ecb69393e997bd65461c46867ebeef6296b23f2c56df63acfde648f3f5002dbc239ffd1582]
+[sha = SHA-384]
+
+# extreme value for k
+msg = 313233343030
+result = valid
+sig = 3065023100aa87ca22be8b05378eb1c71ef320ad746e1d3b628ba79b9859f741e082542a385502f25dbf55296c3a545e3872760ab7023055555555555555555555555555555555555555555555555542766f2b5167b9f51d5e0490c2e58d28f9a40878eeec6326
+
+[key.curve = secp384r1]
+[key.keySize = 384]
+[key.type = ECPublicKey]
+[key.wx = 0aa87ca22be8b05378eb1c71ef320ad746e1d3b628ba79b9859f741e082542a385502f25dbf55296c3a545e3872760ab7]
+[key.wy = 3617de4a96262c6f5d9e98bf9292dc29f8f41dbd289a147ce9da3113b5f0b8c00a60b1ce1d7e819d7a431d7c90ea0e5f]
+[keyDer = 3076301006072a8648ce3d020106052b8104002203620004aa87ca22be8b05378eb1c71ef320ad746e1d3b628ba79b9859f741e082542a385502f25dbf55296c3a545e3872760ab73617de4a96262c6f5d9e98bf9292dc29f8f41dbd289a147ce9da3113b5f0b8c00a60b1ce1d7e819d7a431d7c90ea0e5f]
+[sha = SHA-384]
+
+# testing point duplication
+msg = 313233343030
+result = invalid
+sig = 3065023100f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace02302492492492492492492492492492492492492492492492491c7be680477598d6c3716fabc13dcec86afd2833d41c2a7e
+
+# testing point duplication
+msg = 313233343030
+result = invalid
+sig = 30640230064ed80f27e1432e84845f15ece399f2cbf4fa31aa837de9b953d44413b9f5c7c7f67989d703f07abef11b6ad0373ea502302492492492492492492492492492492492492492492492491c7be680477598d6c3716fabc13dcec86afd2833d41c2a7e
+
+[key.curve = secp384r1]
+[key.keySize = 384]
+[key.type = ECPublicKey]
+[key.wx = 0aa87ca22be8b05378eb1c71ef320ad746e1d3b628ba79b9859f741e082542a385502f25dbf55296c3a545e3872760ab7]
+[key.wy = 0c9e821b569d9d390a26167406d6d23d6070be242d765eb831625ceec4a0f473ef59f4e30e2817e6285bce2846f15f1a0]
+[keyDer = 3076301006072a8648ce3d020106052b8104002203620004aa87ca22be8b05378eb1c71ef320ad746e1d3b628ba79b9859f741e082542a385502f25dbf55296c3a545e3872760ab7c9e821b569d9d390a26167406d6d23d6070be242d765eb831625ceec4a0f473ef59f4e30e2817e6285bce2846f15f1a0]
+[sha = SHA-384]
+
+# testing point duplication
+msg = 313233343030
+result = invalid
+sig = 3065023100f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace02302492492492492492492492492492492492492492492492491c7be680477598d6c3716fabc13dcec86afd2833d41c2a7e
+
+# testing point duplication
+msg = 313233343030
+result = invalid
+sig = 30640230064ed80f27e1432e84845f15ece399f2cbf4fa31aa837de9b953d44413b9f5c7c7f67989d703f07abef11b6ad0373ea502302492492492492492492492492492492492492492492492491c7be680477598d6c3716fabc13dcec86afd2833d41c2a7e
+
+[key.curve = secp384r1]
+[key.keySize = 384]
+[key.type = ECPublicKey]
+[key.wx = 29bdb76d5fa741bfd70233cb3a66cc7d44beb3b0663d92a8136650478bcefb61ef182e155a54345a5e8e5e88f064e5bc]
+[key.wy = 09a525ab7f764dad3dae1468c2b419f3b62b9ba917d5e8c4fb1ec47404a3fc76474b2713081be9db4c00e043ada9fc4a3]
+[keyDer = 3076301006072a8648ce3d020106052b810400220362000429bdb76d5fa741bfd70233cb3a66cc7d44beb3b0663d92a8136650478bcefb61ef182e155a54345a5e8e5e88f064e5bc9a525ab7f764dad3dae1468c2b419f3b62b9ba917d5e8c4fb1ec47404a3fc76474b2713081be9db4c00e043ada9fc4a3]
+[sha = SHA-384]
+
+# pseudorandom signature
+msg = 
+result = valid
+sig = 3064023032401249714e9091f05a5e109d5c1216fdc05e98614261aa0dbd9e9cd4415dee29238afbd3b103c1e40ee5c9144aee0f02304326756fb2c4fd726360dd6479b5849478c7a9d054a833a58c1631c33b63c3441336ddf2c7fe0ed129aae6d4ddfeb753
+
+# pseudorandom signature
+msg = 
+result = valid
+sig = 3065023100b713d2bfbe31b816d8cd9664b96f3383ecaac5a4d1f7e1d9ae64e2b99f9bccac04749052b45d119a39f8b2c11a385b780230690dfcac264fd52f6b26207d74f9fa2bea2ca3d59e405140c94248fb2839eb42c502581b89a964c93cc2e1752dd8b145
+
+# pseudorandom signature
+msg = 
+result = valid
+sig = 3066023100e16bf26ea4fff5d11027bcb3ef305991171e10056986fb03643c5b3c32e88a4f83ea290931fb30f99577ac0f18b733e802310080ff5982d87f575300940c106d84de8af66e16aae7fb31debcb06dfc61fae3f5dbddf6c91211f59f4f5b69962b1f554c
+
+# pseudorandom signature
+msg = 
+result = valid
+sig = 3066023100c137d4933acbdce166768125db5e42d0764ccad43b0104870761086072cce89de2f3819ca305dc3073a941ae78dbbf55023100f990907818a7c67ecfedd56629cc6fb334edafa233f08a79d21be8653f012994e7736a060428b45deec34140c496302e
+
+# pseudorandom signature
+msg = 
+result = valid
+sig = 3065023000f5579516d13ca92114bf230093f2462ef65e97b111051e62fbb73d06e0635a8d70e04b20f86e5e7ed211eebc653342023100e425e475ee6e27df44eeafbb268356bcd70aee82f0b971c994b49d1aae86fec12d3b7db4aaa2ff7de5b4bfb2eedcacc0
+
+# pseudorandom signature
+msg = 
+result = valid
+sig = 306502304e7989e8d6498df3d1b34d8f45fc922197dd023ef9f3594a7ec52dd575d24e3d93ef16e11bc77893dd341c8d1ab2c4b302310088a4178d2ba03c6acc79eda01e742dcd82fb2614cabd8bc586145c97da3d170b884678abdb2dc80b3b9bf6244e966ba1
+
+# pseudorandom signature
+msg = 
+result = valid
+sig = 306502302b1ff7fafd59899258d6b8c69bd3410f1d983e6b167674591d9c25387263e7e25438b30dcbd2c8ff76db8ebec2c77e2a0231008c44cf1a90610d9deefbf23c935741530f9f190dae4d7ba3d6efaef3bbb0e2d47296b65ef65241ef3b98934639fb50bd
+
+# pseudorandom signature
+msg = 
+result = valid
+sig = 3066023100c0583e25c9298fdcc1695f04d3fc32de300ec5470c584b85b7d3c3c2915e9de3c22516907852dd801d7f1ef1645157bb023100c01f7df3954501aee191ead82e68a408549a09fb3a839325111b195938df984c9cf1383cfb88800757bade4d585ec906
+
+# pseudorandom signature
+msg = 
+result = valid
+sig = 306502304131dda169326aaac2714d0ff8a98d7439d2f353ab98e40bdde29d3b20dec87daef1358adc611280384a631f38c2cf70023100d72f8e5dbd73950cb6e941a563387ed1ae707db38f0f8a80518cf3d4885a56d8ecf7f278a1b24f0a973347b4a160bcf6
+
+# pseudorandom signature
+msg = 
+result = valid
+sig = 3065023048e82f614523c83dfc873730d02541aab03214825d21aac689c3b851c20f9e4d563439999372fc781f4351202ddef8d1023100c54ceb0786726ce16d74d259813e6ab859e42a09639a39da77f412ab86c17a9b8b5add2bbcda564f650ca304c081be3f
+
+# pseudorandom signature
+msg = 4d7367
+result = valid
+sig = 3066023100d7143a836608b25599a7f28dec6635494c2992ad1e2bbeecb7ef601a9c01746e710ce0d9c48accb38a79ede5b9638f3402310080f9e165e8c61035bf8aa7b5533960e46dd0e211c904a064edb6de41f797c0eae4e327612ee3f816f4157272bb4fabc9
+
+# pseudorandom signature
+msg = 4d7367
+result = valid
+sig = 306402307ff92abef367440ba54256a5fd5d679a9741d5a63fa0ef9ab34351239c67804eaff32f86d69b984096a1c0c76d36b79802301120223ea279522dbea4eb4297452fd9bdc723e0752b1fd7fdfcdb90d2a4e06ea3ac2e680e6823c57ddb5cbea22da451
+
+# pseudorandom signature
+msg = 4d7367
+result = valid
+sig = 3066023100dc2a42181fac07068e0d3ee845d21f38c1464199009f99f4e88b99f540436401b514cd72ecdafd0e5b3808c9a9130928023100de979bef97b779c29b80e38fb17e8a3072f84560793d936051f5fca6013e11e743b4efc10f9bd45a9a0e5dc3d71c8f6a
+
+# pseudorandom signature
+msg = 4d7367
+result = valid
+sig = 30640230239542d8e4ee6f48e7d10657ba3d0a9a92c66f0e10c82b5919afba50c129b2d01124ae5bdc643bfa8bb3be67814f6b6502305d5a5a89149eefd34d1f00fe8922b06e62fca3d57d1c0a8daabd3f2160706830fdb3579cf6e64ed8ee635908239e8e6d
+
+# pseudorandom signature
+msg = 4d7367
+result = valid
+sig = 3065023100929edc580377e5f1f0a6bed840a14ac1ac3fdd98f7d0cd56735583b521e9f6f2d7caabed6688fed3ffcaf0554e9aecf4023008e571b8052b5b59f2251b33b609681e7128d765b8b2b169eaccd7238f372c994c99aee46c8bf4fa039d0070b544c8d3
+
+# pseudorandom signature
+msg = 4d7367
+result = valid
+sig = 306602310091df8d8c1a2f4fedad280883f1d54b43e9bbbc1a626df57f58cfa020159c3f91571939f06e6d32748fbb3a224c7c0559023100ab40e8c6b98b16afdf556b16fe50d3baffaf742e56cd552d5efa7307bff708923c4e9080dc46d1c23b15bc3036982fd3
+
+# pseudorandom signature
+msg = 4d7367
+result = valid
+sig = 3065023058a891b20baeb6430fc44e3684900d9eee4566ee90cb3a6f175e1963d9e1e706e753ab3be82e6ab438a61fece74e3788023100bcd637e78b7a944533525c9d51b045743381c778133a5ad9d95d5d0692bea05695ff1a72419ca2929a215bc769707c1e
+
+# pseudorandom signature
+msg = 4d7367
+result = valid
+sig = 3066023100ec4fbd25bd38a23ce5c98c6e582d0810cd918fc04be2b78df107765baefe3783a8e917bf6d6768e8f8b79f67a6b6e023023100ee8b5d4b8c8b1b26960984c3226654a829d9c28d3b050ae464c8399c936be431ad0ac22b6df23589f77cf752b965e4de
+
+# pseudorandom signature
+msg = 4d7367
+result = valid
+sig = 3065023100f2a9b27da3c72a037f3ff2fe5f4c776df8383c7955636260a66316525089bbbb1719f96bc4ed132923ec168e6f3143320230476e427ec28bc4a04c485dde1d34243f1fe283616e0b632195eb71950de75e61061ca7c522a305eaacf61294339eec11
+
+# pseudorandom signature
+msg = 4d7367
+result = valid
+sig = 3065023100938c88f4937f8cab933d7879f04a316d2b6976d8bfb6b86742a2442839806726723dbed366f4004537e759e77fe07e2102306415396d8690b380b4eb1b4d78016cf6d407259bad568bee662dd594731fabae115534cc7db00b2ec46326926646d029
+
+# pseudorandom signature
+msg = 313233343030
+result = valid
+sig = 30650230234503fcca578121986d96be07fbc8da5d894ed8588c6dbcdbe974b4b813b21c52d20a8928f2e2fdac14705b0705498c023100cd7b9b766b97b53d1a80fc0b760af16a11bf4a59c7c367c6c7275dfb6e18a88091eed3734bf5cf41b3dc6fecd6d3baaf
+
+# pseudorandom signature
+msg = 313233343030
+result = valid
+sig = 3065023100ac5559ad224e76aa6637515357c5f0ac4ffef4f7e21297f8b65d72e6b5cc547511ddb2f0c36125b6b11c0a82308c44d20230542aea18bf5fe640d5e94fc27d69176e21cd15f0f817741e982f51e7a9d5bd4f33cd8846fbd9f6cd1ae7d0cff31de2e4
+
+# pseudorandom signature
+msg = 313233343030
+result = valid
+sig = 3065023100d48578efe0200370eb3dba190629c584f4505b3d18dcb7176e81c94eaaba9be4b35f16b2f558cf42f6e49bb13a8c52a3023062d7450e411ce64d8349a9e90a07fc09e5521efec1b9739cc9f68d0877b4a4b4d50a5f5647ef6dc3e6a9495ccabbeae4
+
+# pseudorandom signature
+msg = 313233343030
+result = valid
+sig = 3064023019a87de40615da310fbc062ab5954a4a5d538f7bb18407e9c9e852fead9d03fed7c7fbd6034e1ad8c30b978bfed75a3202304e0c8a9da62e78c60c417fa8870cc879e4d5ec92b6ec8648fd6ce4e576f1e09eaad3867f5441d800e659207c8a1bba86
+
+# pseudorandom signature
+msg = 313233343030
+result = valid
+sig = 306402306e6c0aed8fb6d30d7fd6064ad34316c9cfb4eb4a0c5bef44660a3b993ab199a934fc8e69cdf764abf05639cc16ef2e1d0230758560ba98b0b522327e2ae8a8ba843e4255c1742eb69174d3ce806c8a91ef330d186311c99062626a81fe38ad6d10c0
+
+# pseudorandom signature
+msg = 313233343030
+result = valid
+sig = 306502305acb49557723224e81e2a58e633d38cd78dcc1c905e61e2a16ade32420e198b9cd6120fcc3a57c0c986f80658dc4c4a0023100addee5259c644f68219827a73ddeb4d46123b3afd9c5812d2c6738f7e46f69115923464b7dcf214388e37a62bf2b6e8e
+
+# pseudorandom signature
+msg = 313233343030
+result = valid
+sig = 306502310083ae547fe0e176a792cb77ca7af6acdd7670f168565c7d918e8f90cbaafe59d57a425dd33d1140167446f34067fc276f0230384ce801465758c5c4b1c1684f51c36a70a844aa9b0607a4cef6e16cf59298c281cf01c712d1022d22b24cb21ebb326b
+
+# pseudorandom signature
+msg = 313233343030
+result = valid
+sig = 3066023100ef29e1a82a785f06532f48954482c53677d2dbf6b2b1e7d1b3869a846bde4d12e03ae0d873dc36a9ac8a00c4560760e7023100de7f161069409d8c66842ee3cd9564703565c533027f12a4ca1dd6d3f276e46d42b712789b3426a36741bbe989d2dfa2
+
+# pseudorandom signature
+msg = 313233343030
+result = valid
+sig = 306602310087c8bd783eef6a4c6d7fa736f04988ff9f8c0c5dbcc217dbd1ec581d19e0f0febf5e00ae17d8c06002c8819922f3bdc4023100d678c7b67e2e915a8d082374d0f881bea2bec6ddd588835fed0dc4fc22589104330904ff877f88e43c3b4370dd7e8534
+
+# pseudorandom signature
+msg = 313233343030
+result = valid
+sig = 3066023100baac6d6ce7f04ae4c4c857ef84b15fa80fc65ae28094039b9650e519770725bb9a025b9ae11a01af606b05bc821fe5ec023100e4f63ca843015dbe2b5b0d416eeffde83c3551c577fae2e51439c3914e25c3bfb88926189d8bae17914d5da25fd95d4d
+
+# pseudorandom signature
+msg = 0000000000000000000000000000000000000000
+result = valid
+sig = 306502305cad9ae1565f2588f86d821c2cc1b4d0fdf874331326568f5b0e130e4e0c0ec497f8f5f564212bd2a26ecb782cf0a18d023100bf2e9d0980fbb00696673e7fbb03e1f854b9d7596b759a17bf6e6e67a95ea6c1664f82dc449ae5ea779abd99c78e6840
+
+# pseudorandom signature
+msg = 0000000000000000000000000000000000000000
+result = valid
+sig = 306402306c8c296baf417e4a24df7461c2de9e9cf5d571bf5385b638fddb79fb085df7649b2f92302bc2c5fd5f5e5329b66cbf59023053757b85d794471f605b02fb5ff537b745b743cab0ebd9d23719fd287c35fc76db0faae9acd714387ade4598afbcfe7f
+
+# pseudorandom signature
+msg = 0000000000000000000000000000000000000000
+result = valid
+sig = 306502302790f0cc0c6b246039e10903c8fc31b422ae1556828211f0d161d0faebdf2c2de291aa27eb0e4e77acdf9c26c9b93ecf023100f3ae4e3438d6ec9b2226b2fbfc91531c84ee662f373fb0758d037878e389e1d41a72e79deea65566769f1a6517a5bd3d
+
+# pseudorandom signature
+msg = 0000000000000000000000000000000000000000
+result = valid
+sig = 306402305acf4d0f3774877235bdb1451bab6b9213afafbf0167d0344b759ba7a25585108d47a800ff16fe931fb015fa5905554f02304b23183cf53319e1520e5b27b3329494e1a2f293095b6fa5e0246ae2541348fadcbfee925b28892edda4d05eac5e5c69
+
+# pseudorandom signature
+msg = 0000000000000000000000000000000000000000
+result = valid
+sig = 306402301bc3589fc58f43ef7d7361cf0d1f0b89214e151ebd2a9757b1af0c753b19e7459ec0d83b2c030e19e56eb010ff28ca5802303943d4aabfa9f3705bfd5d544b0347e5b41651c1b5b58ba6d1d200d868193a31ccc45d955fddbb869bd0a8c16530c61e
+
+# pseudorandom signature
+msg = 0000000000000000000000000000000000000000
+result = valid
+sig = 3064023024f9ee63092fd4ea83bddecb5f120d41b61ec39a5faf037b24c8fdd4036ab3ecc3368a60b82b735321ce91c23b5ea69a02306495015984abae9ab9335d0ea705b93cad15f1df84bc73a47ae38fd338f1a9a89bbd8a0dff83ff69e93c4f5ac5fb2032
+
+# pseudorandom signature
+msg = 0000000000000000000000000000000000000000
+result = valid
+sig = 3066023100e8ec3ba983144d851f617b28a76097335f4cdaa2d08af546f6ef13863c2293138e2d049661c671565f9fb507cfd200e40231008614ed1d49c27fce7798537a6f5ca13a25183787941aefd2282269e3a86d444742a3b546ce474d6f916a57d9ab63b6ad
+
+# pseudorandom signature
+msg = 0000000000000000000000000000000000000000
+result = valid
+sig = 306502310080a7f5589456796f2287b8d875bca222907b9cc30f0d667e126f56bae9e758da271d10624ac2b2b7ef472614c06530de02303beaf667ddacecf76d6ca6a5fff559c0a3099a267f84f0f29eb481c3b2e719c14373c90218670f0dca5fa77bf95ad294
+
+# pseudorandom signature
+msg = 0000000000000000000000000000000000000000
+result = valid
+sig = 3066023100e3aa89289f644082c98a80aacae011381bcbc6056007b4d81a180b3681da2e3f1fc0808b018d14fbd6afd09880e6f168023100ef6f95647ba3db06a703af6836b2fea8f1a02248d55621d0fb8b6dada63926a0a93a71a75283929f67082977cb1158b6
+
+# pseudorandom signature
+msg = 0000000000000000000000000000000000000000
+result = valid
+sig = 3065023071c7c3bf3ce2d458c047f91ba180930fddf878c0f8dae3cdd9fd6d2da516c47265f9c3e3f51a33ef38b63c5a39de0f1e023100c080c819a34b8968bd36a60251d75464910039cdcc0ea8d18d681144960b8a566aecf27d23b47ce2b38e7ed0a4d27bf4
+
+[key.curve = secp384r1]
+[key.keySize = 384]
+[key.type = ECPublicKey]
+[key.wx = 0ffffffffaa63f1a239ac70197c6ebfcea5756dc012123f82c51fa874d66028be00e976a1080606737cc75c40bdfe4aac]
+[key.wy = 0acbd85389088a62a6398384c22b52d492f23f46e4a27a4724ad55551da5c483438095a247cb0c3378f1f52c3425ff9f1]
+[keyDer = 3076301006072a8648ce3d020106052b8104002203620004ffffffffaa63f1a239ac70197c6ebfcea5756dc012123f82c51fa874d66028be00e976a1080606737cc75c40bdfe4aacacbd85389088a62a6398384c22b52d492f23f46e4a27a4724ad55551da5c483438095a247cb0c3378f1f52c3425ff9f1]
+[sha = SHA-384]
+
+# x-coordinate of the public key is large
+msg = 4d657373616765
+result = valid
+sig = 3065023007648b6660d01ba2520a09d298adf3b1a02c32744bd2877208f5a4162f6c984373139d800a4cdc1ffea15bce4871a0ed02310099fd367012cb9e02cde2749455e0d495c52818f3c14f6e6aad105b0925e2a7290ac4a06d9fadf4b15b578556fe332a5f
+
+# x-coordinate of the public key is large
+msg = 4d657373616765
+result = valid
+sig = 3065023100a049dcd96c72e4f36144a51bba30417b451a305dd01c9e30a5e04df94342617dc383f17727708e3277cd7246ca44074102303970e264d85b228bf9e9b9c4947c5dd041ea8b5bde30b93aa59fedf2c428d3e2540a54e0530688acccb83ac7b29b79a2
+
+# x-coordinate of the public key is large
+msg = 4d657373616765
+result = valid
+sig = 30650230441800ea9377c27865be000ad008eb3d7502bdd105824b26d15cf3d06452969a9d0607a915a8fe989215fc4d61af6e05023100dce29faa5137f75ad77e03918c8ee6747cc7a39b0a69f8b915654cac4cf4bfd9c87cc46ae1631b5c6baebd4fc08ff8fd
+
+[key.curve = secp384r1]
+[key.keySize = 384]
+[key.type = ECPublicKey]
+[key.wx = 0d1827fc6f6f12f21992c5a409a0653b121d2ef02b2b0ab01a9161ce956280740b1e356b255701b0a6ddc9ec2ca8a9422]
+[key.wy = 0c6ed5d2ced8d8ab7560fa5bb88c738e74541883d8a2b1c0e2ba7e36d030fc4d9bfb8b22f24db897ebac49dd400000000]
+[keyDer = 3076301006072a8648ce3d020106052b8104002203620004d1827fc6f6f12f21992c5a409a0653b121d2ef02b2b0ab01a9161ce956280740b1e356b255701b0a6ddc9ec2ca8a9422c6ed5d2ced8d8ab7560fa5bb88c738e74541883d8a2b1c0e2ba7e36d030fc4d9bfb8b22f24db897ebac49dd400000000]
+[sha = SHA-384]
+
+# y-coordinate of the public key has many trailing 0's
+msg = 4d657373616765
+result = valid
+sig = 306402303244768016457c463b74f2097f216d9670b191f76281c74bc6a1a1971d19f209bf4696468f5eb75d6326a0a43c0a65290230501e0ad985ed9f95697bd17fdbe3f9ca92e0f76426d3664e6896648d9c750bf588d0ce7d011c1a1e8d6c2e082422dc93
+
+# y-coordinate of the public key has many trailing 0's
+msg = 4d657373616765
+result = valid
+sig = 306402305e1af40f2480e3d97c4ae4bfd34a9f45269241356f3a46becd86a4a7c9716d73ca5aebdb3db1a7765650666683bc856b02307e7c4b473a2baaa4953785be8aa2a10006f6d36b400ab981864d69cecec046718d0404b9647454b159aa5a92d76d7955
+
+# y-coordinate of the public key has many trailing 0's
+msg = 4d657373616765
+result = valid
+sig = 306502306688e36a26f15bdc1c3f91367f8a7667f7bb3e30a335d6f0900e9534eb88b260cb29344c723fedfbe7ac9c5a33f4bf0d023100aa35fddf0fdc9017860b378f801cd806f3e2d754cd2fd94eb7bb36a46ce828cef87e9ebbf447068e630b87fee385ad8f
+
+[key.curve = secp384r1]
+[key.keySize = 384]
+[key.type = ECPublicKey]
+[key.wx = 1099bb45100f55f5a85cca3de2b3bd5e250f4f6fad6631a3156c2e52a33d7d615dd279f79f8b4baff7c713ac00000000]
+[key.wy = 0e6c9b736a8929f2ed7be0c753a54cbb48b8469e0411eaf93a4a82459ba0b681bba8f5fb383b4906d4901a3303e2f1557]
+[keyDer = 3076301006072a8648ce3d020106052b81040022036200041099bb45100f55f5a85cca3de2b3bd5e250f4f6fad6631a3156c2e52a33d7d615dd279f79f8b4baff7c713ac00000000e6c9b736a8929f2ed7be0c753a54cbb48b8469e0411eaf93a4a82459ba0b681bba8f5fb383b4906d4901a3303e2f1557]
+[sha = SHA-384]
+
+# x-coordinate of the public key has many trailing 0's
+msg = 4d657373616765
+result = valid
+sig = 3065023100d4a8f3b0b4d3a5769e3a0bbc644b35f1d509355ed1fe401e170f667b661f693b32598e8c143a817a958982845042bb48023004cc07578bbd1981dbf6e8a97a354c98d41b8b6f6e8a2c2b1763c7c2a29d79e24f8476075c9aed9aec6c64dff50461ae
+
+# x-coordinate of the public key has many trailing 0's
+msg = 4d657373616765
+result = valid
+sig = 3065023100c286d1928e9c79fdd3bebdf22a1dbd37c8105e8ecf41e9e3777fe341b6b8d5a89b9d986827d6d1dbb381cd8239484a220230201119ae305b9360aa9b5e5d1567e0674c09e4f025556ebf81b987466b0f421b8d31f72bbe95f3ce2aa9874a84edfd40
+
+# x-coordinate of the public key has many trailing 0's
+msg = 4d657373616765
+result = valid
+sig = 3065023100d9c678550167f10c511e62acb4bd0a3f7f336bc090c94e6c6b02622439c348a2159c5f41f9b5aa4b470590d40dcd7cc202301fd5eaee295abb4081cb626745f4ad279ceb44604062830b58e6c0465c562d41f02ba588fc0db1ebbe339cdc008d7a1b
+
+[key.curve = secp384r1]
+[key.keySize = 384]
+[key.type = ECPublicKey]
+[key.wx = 2b089edd754169010145f263f334fc167cc19dae8225970ae19cc8cb7ec73593d6a465c370f5478b0e539d69]
+[key.wy = 0d1951d597b56a67345acb25809581f07cd0eb78d9538a3f8a65f300e68a1eb78507df76de650e8f8ee63a5f0c5687c98]
+[keyDer = 3076301006072a8648ce3d020106052b8104002203620004000000002b089edd754169010145f263f334fc167cc19dae8225970ae19cc8cb7ec73593d6a465c370f5478b0e539d69d1951d597b56a67345acb25809581f07cd0eb78d9538a3f8a65f300e68a1eb78507df76de650e8f8ee63a5f0c5687c98]
+[sha = SHA-384]
+
+# x-coordinate of the public key is small
+msg = 4d657373616765
+result = valid
+sig = 3065023020fee7c71b6cb0d1da3641ec6622c055a3b16a1f596c64b34da1b2d0b868b66a8f0a0d0db983b3dc7e53bb7295da81970231008141a931d3579aec1cac9887d2fff9c6f12d47a27e4aab8cf262a9d14a715bca0b2057cbc3f18b6fd3d1df76f7410f16
+
+# x-coordinate of the public key is small
+msg = 4d657373616765
+result = valid
+sig = 3065023100913eecc559b3cf7108a65d6cc3076bfdf36c6f94dcc6693d06690470f34a2e81564241e1de5f5f51421de30af467f10f0230649bd3717244e8ef3c6b0eda983f84dca5ea86d1bec15386b9c473ec43a8cd0ba558eee819f791d9ff9272b9afd59551
+
+# x-coordinate of the public key is small
+msg = 4d657373616765
+result = valid
+sig = 3064023023855c46403a97b76cbb316ec3fe7e2c422b818387604bda8c3d91121b4f20179d9107c5f92dedc8b620d7db87fccccd023050f57343ab148e50662320c4161e44543c35bc992011ea5b1680b94382cf224ea0ec5da511e102f566cb67201f30a2ee
+
+[key.curve = secp384r1]
+[key.keySize = 384]
+[key.type = ECPublicKey]
+[key.wx = 0fb01baad5f0b8f79b9cd104d12aab9310146add7d6b4c022d87ae6711178b94d618ca7b3af13854b1c588879e877b336]
+[key.wy = 208b3f5ad3b3937acc9d606cc5ececab4a701f75ed42957ea4d7858d33f5c26c6ae20a9cccda56996700d6b4]
+[keyDer = 3076301006072a8648ce3d020106052b8104002203620004fb01baad5f0b8f79b9cd104d12aab9310146add7d6b4c022d87ae6711178b94d618ca7b3af13854b1c588879e877b33600000000208b3f5ad3b3937acc9d606cc5ececab4a701f75ed42957ea4d7858d33f5c26c6ae20a9cccda56996700d6b4]
+[sha = SHA-384]
+
+# y-coordinate of the public key is small
+msg = 4d657373616765
+result = valid
+sig = 3066023100d200958d491fcebde667cd736c9dba0961c70db2ecaf573c31dd7fa41ecca32b40b5896f9a0ddf272110e3d21e84593a023100c2ecf73943b9adce596bac14fce62495ae93825c5ff6f61c247d1d8afcba52082fc96f63a26e55bccfc3779f88cfd799
+
+# y-coordinate of the public key is small
+msg = 4d657373616765
+result = valid
+sig = 306402306ac17d71260c79f81a7566124738cb3ee5d0aa690e73a98ae9e766f1336691e500cad51ba1302366c09cc06b8f7049e0023032ca965d6d7012ec187c7cab9544334d66c2a7658ddefa67e4ad40429815518ecc87b1492ddd57333bd2300b4660a835
+
+# y-coordinate of the public key is small
+msg = 4d657373616765
+result = valid
+sig = 3065023100e19a4646f0ed8a271fe86ba533f8be4fd81bbf4674716f668efa89a40cac51eec2a6cfbd92327d25efe91ca4ff712bc502304a86b2e8e12378e633dec2691e3b1eed4e932cc48b28e45fa3d464cc0e948c02cc9decf2bb43b25937fcf37e9ad86ef0
+
+[key.curve = secp384r1]
+[key.keySize = 384]
+[key.type = ECPublicKey]
+[key.wx = 0fb01baad5f0b8f79b9cd104d12aab9310146add7d6b4c022d87ae6711178b94d618ca7b3af13854b1c588879e877b336]
+[key.wy = 0ffffffffdf74c0a52c4c6c8533629f933a131354b58fe08a12bd6a815b287a71cc0a3d92951df5633325a96798ff294b]
+[keyDer = 3076301006072a8648ce3d020106052b8104002203620004fb01baad5f0b8f79b9cd104d12aab9310146add7d6b4c022d87ae6711178b94d618ca7b3af13854b1c588879e877b336ffffffffdf74c0a52c4c6c8533629f933a131354b58fe08a12bd6a815b287a71cc0a3d92951df5633325a96798ff294b]
+[sha = SHA-384]
+
+# y-coordinate of the public key is large
+msg = 4d657373616765
+result = valid
+sig = 3064023015aac6c0f435cb662d110db5cf686caee53c64fe2d6d600a83ebe505a0e6fc62dc5705160477c47528c8c903fa865b5d02307f94ddc01a603f9bec5d10c9f2c89fb23b3ffab6b2b68d0f04336d499085e32d22bf3ab67a49a74c743f72473172b59f
+
+# y-coordinate of the public key is large
+msg = 4d657373616765
+result = valid
+sig = 306602310090b95a7d194b73498fba5afc95c1aea9be073162a9edc57c4d12f459f0a1730baf2f87d7d6624aea7b931ec53370fe47023100cbc1ef470e666010604c609384b872db7fa7b8a5a9f20fdefd656be2fcc75db53948102f7ab203ea1860a6a32af246a1
+
+# y-coordinate of the public key is large
+msg = 4d657373616765
+result = valid
+sig = 3066023100dd4391ce7557cbd005e3d5d727cd264399dcc3c6501e4547505b6d57b40bbf0a7fac794dcc8d4233159dd0aa40d4e0b9023100a77fa1374fd60aa91600912200fc83c6aa447f8171ecea72ae322df32dccd68951dc5caf6c50380e400e45bf5c0e626b
+
diff --git a/third_party/wycheproof/ecdsa_secp384r1_sha512_test.txt b/third_party/wycheproof/ecdsa_secp384r1_sha512_test.txt
new file mode 100644
index 0000000..da3eebb
--- /dev/null
+++ b/third_party/wycheproof/ecdsa_secp384r1_sha512_test.txt
@@ -0,0 +1,2302 @@
+# Imported from Wycheproof's ecdsa_secp384r1_sha512_test.json.
+# This file is generated by convert_wycheproof.go. Do not edit by hand.
+#
+# Algorithm: ECDSA
+# Generator version: 0.4
+
+[key.curve = secp384r1]
+[key.keySize = 384]
+[key.type = ECPublicKey]
+[key.wx = 2da57dda1089276a543f9ffdac0bff0d976cad71eb7280e7d9bfd9fee4bdb2f20f47ff888274389772d98cc5752138aa]
+[key.wy = 4b6d054d69dcf3e25ec49df870715e34883b1836197d76f8ad962e78f6571bbc7407b0d6091f9e4d88f014274406174f]
+[keyDer = 3076301006072a8648ce3d020106052b81040022036200042da57dda1089276a543f9ffdac0bff0d976cad71eb7280e7d9bfd9fee4bdb2f20f47ff888274389772d98cc5752138aa4b6d054d69dcf3e25ec49df870715e34883b1836197d76f8ad962e78f6571bbc7407b0d6091f9e4d88f014274406174f]
+[sha = SHA-512]
+
+# signature malleability
+msg = 313233343030
+result = valid
+sig = 3065023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202307b0a10ee2dd0dd2fab75095af240d095e446faba7a50a19fbb197e4c4250926e30c5303a2c2d34250f17fcf5ab3181a6
+
+# random signature
+msg = 313233343030
+result = valid
+sig = 306402301d526c8b0d7b0858c58e843fd9d7c779a519f0c34aa789f36cdbb6f0820a506b3631ccc2b335f78350f7c50337d0f5190230454ccaa7aec6e4bec81886203e5a8743a67a265dd9c048f47b7b6a4d2a18e27992e727757788e0c4b22ef0c16ec0643a
+
+# random signature
+msg = 313233343030
+result = valid
+sig = 3065023100e2cc9ba64c14225cee38c83c0f060e4df6977efafde3df2abeddb0a6b55f68e29a3842c5064540f020c940c14cb066ab0230504f4d0fd25a10f866bb15c5bbfd2a56a157e01a67530d02f737f62f2cb661e5e133569d5f870ac1c629b2edd010a19e
+
+# random signature
+msg = 313233343030
+result = valid
+sig = 3066023100cd5d45c993e29a8dfab724cfd83eec1da56a101dc12ab26242c72c8196db8b07e5cba3e84d720d0120b38c25a938e4ec02310088f6d024d7a40232b81816246ca44e69ad0f2dee19312c3937028a91e843d386e649923059c28025a3017e1228b7a2eb
+
+# random signature
+msg = 313233343030
+result = valid
+sig = 30640230425ebeaf08d3a75c61e193b6fd0d27ab04cecc4f35a9cf1e1d1420795ec34bc7301216248f265d759fdc39e687bd49ff0230500819b4abc358e7139eb3c481bb73d88322e7467e617a47143989844b5d95b7c79b3192075faa7a157ca8278376b109
+
+# random signature
+msg = 313233343030
+result = valid
+sig = 306402300b1d031c018d70070d27e3b0c565c2c887206711567d35b79060c9273a03e2cc022c2711a983fee92a24d81ec1269cdb02303df76cc45d142a5ef8f1c4fae7ef1d10f267606089dc4b53aaac719835a2768e9a7a0e85649a22f0e50aae7cb52149cc
+
+# Legacy:ASN encoding of r misses leading 0
+msg = 313233343030
+result = acceptable
+sig = 30650230814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd
+# Some implementations of ECDSA and DSA incorrectly encode r and s by not
+# including leading zeros in the ASN encoding of integers when necessary. Hence,
+# some implementations (e.g. jdk) allow signatures with incorrect ASN encodings
+# assuming that the signature is otherwise valid.
+
+# Legacy:ASN encoding of s misses leading 0
+msg = 313233343030
+result = acceptable
+sig = 3065023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e2023084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd
+# Some implementations of ECDSA and DSA incorrectly encode r and s by not
+# including leading zeros in the ASN encoding of integers when necessary. Hence,
+# some implementations (e.g. jdk) allow signatures with incorrect ASN encodings
+# assuming that the signature is otherwise valid.
+
+# valid
+msg = 313233343030
+result = valid
+sig = 3066023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd
+
+# long form encoding of length
+msg = 313233343030
+result = invalid
+sig = 308166023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd
+
+# long form encoding of length
+msg = 313233343030
+result = invalid
+sig = 306702813100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd
+
+# long form encoding of length
+msg = 313233343030
+result = invalid
+sig = 3067023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e20281310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd
+
+# length contains leading 0
+msg = 313233343030
+result = invalid
+sig = 30820066023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd
+
+# length contains leading 0
+msg = 313233343030
+result = invalid
+sig = 30680282003100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd
+
+# length contains leading 0
+msg = 313233343030
+result = invalid
+sig = 3068023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e2028200310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd
+
+# wrong length
+msg = 313233343030
+result = invalid
+sig = 3067023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd
+
+# wrong length
+msg = 313233343030
+result = invalid
+sig = 3065023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd
+
+# wrong length
+msg = 313233343030
+result = invalid
+sig = 3066023200814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd
+
+# wrong length
+msg = 313233343030
+result = invalid
+sig = 3066023000814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd
+
+# wrong length
+msg = 313233343030
+result = invalid
+sig = 3066023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202320084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd
+
+# wrong length
+msg = 313233343030
+result = invalid
+sig = 3066023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202300084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd
+
+# uint32 overflow in length
+msg = 313233343030
+result = invalid
+sig = 30850100000066023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd
+
+# uint32 overflow in length
+msg = 313233343030
+result = invalid
+sig = 306b0285010000003100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd
+
+# uint32 overflow in length
+msg = 313233343030
+result = invalid
+sig = 306b023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e2028501000000310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd
+
+# uint64 overflow in length
+msg = 313233343030
+result = invalid
+sig = 3089010000000000000066023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd
+
+# uint64 overflow in length
+msg = 313233343030
+result = invalid
+sig = 306f028901000000000000003100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd
+
+# uint64 overflow in length
+msg = 313233343030
+result = invalid
+sig = 306f023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202890100000000000000310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd
+
+# length = 2**31 - 1
+msg = 313233343030
+result = invalid
+sig = 30847fffffff023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd
+
+# length = 2**31 - 1
+msg = 313233343030
+result = invalid
+sig = 306a02847fffffff00814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd
+
+# length = 2**31 - 1
+msg = 313233343030
+result = invalid
+sig = 306a023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202847fffffff0084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd
+
+# length = 2**32 - 1
+msg = 313233343030
+result = invalid
+sig = 3084ffffffff023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd
+
+# length = 2**32 - 1
+msg = 313233343030
+result = invalid
+sig = 306a0284ffffffff00814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd
+
+# length = 2**32 - 1
+msg = 313233343030
+result = invalid
+sig = 306a023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e20284ffffffff0084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd
+
+# length = 2**40 - 1
+msg = 313233343030
+result = invalid
+sig = 3085ffffffffff023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd
+
+# length = 2**40 - 1
+msg = 313233343030
+result = invalid
+sig = 306b0285ffffffffff00814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd
+
+# length = 2**40 - 1
+msg = 313233343030
+result = invalid
+sig = 306b023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e20285ffffffffff0084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd
+
+# length = 2**64 - 1
+msg = 313233343030
+result = invalid
+sig = 3088ffffffffffffffff023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd
+
+# length = 2**64 - 1
+msg = 313233343030
+result = invalid
+sig = 306e0288ffffffffffffffff00814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd
+
+# length = 2**64 - 1
+msg = 313233343030
+result = invalid
+sig = 306e023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e20288ffffffffffffffff0084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd
+
+# incorrect length
+msg = 313233343030
+result = invalid
+sig = 30ff023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd
+
+# incorrect length
+msg = 313233343030
+result = invalid
+sig = 306602ff00814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd
+
+# incorrect length
+msg = 313233343030
+result = invalid
+sig = 3066023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202ff0084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd
+
+# indefinite length without termination
+msg = 313233343030
+result = invalid
+sig = 3080023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd
+
+# indefinite length without termination
+msg = 313233343030
+result = invalid
+sig = 3066028000814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd
+
+# indefinite length without termination
+msg = 313233343030
+result = invalid
+sig = 3066023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202800084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd
+
+# removing sequence
+msg = 313233343030
+result = invalid
+sig = 
+
+# appending 0's to sequence
+msg = 313233343030
+result = invalid
+sig = 3068023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd0000
+
+# prepending 0's to sequence
+msg = 313233343030
+result = invalid
+sig = 30680000023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd
+
+# appending unused 0's
+msg = 313233343030
+result = invalid
+sig = 3066023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd0000
+
+# appending unused 0's
+msg = 313233343030
+result = invalid
+sig = 3068023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e2000002310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd
+
+# appending null value
+msg = 313233343030
+result = invalid
+sig = 3068023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd0500
+
+# appending null value
+msg = 313233343030
+result = invalid
+sig = 3068023300814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e2050002310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd
+
+# appending null value
+msg = 313233343030
+result = invalid
+sig = 3068023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202330084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd0500
+
+# including garbage
+msg = 313233343030
+result = invalid
+sig = 306b4981773066023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd
+
+# including garbage
+msg = 313233343030
+result = invalid
+sig = 306a25003066023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd
+
+# including garbage
+msg = 313233343030
+result = invalid
+sig = 30683066023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd0004deadbeef
+
+# including garbage
+msg = 313233343030
+result = invalid
+sig = 306b2236498177023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd
+
+# including garbage
+msg = 313233343030
+result = invalid
+sig = 306a22352500023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd
+
+# including garbage
+msg = 313233343030
+result = invalid
+sig = 306e2233023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e20004deadbeef02310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd
+
+# including garbage
+msg = 313233343030
+result = invalid
+sig = 306b023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e2223649817702310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd
+
+# including garbage
+msg = 313233343030
+result = invalid
+sig = 306a023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e22235250002310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd
+
+# including garbage
+msg = 313233343030
+result = invalid
+sig = 306e023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e2223302310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd0004deadbeef
+
+# including undefined tags
+msg = 313233343030
+result = invalid
+sig = 306eaa00bb00cd003066023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd
+
+# including undefined tags
+msg = 313233343030
+result = invalid
+sig = 306caa02aabb3066023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd
+
+# including undefined tags
+msg = 313233343030
+result = invalid
+sig = 306e2239aa00bb00cd00023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd
+
+# including undefined tags
+msg = 313233343030
+result = invalid
+sig = 306c2237aa02aabb023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd
+
+# including undefined tags
+msg = 313233343030
+result = invalid
+sig = 306e023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e22239aa00bb00cd0002310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd
+
+# including undefined tags
+msg = 313233343030
+result = invalid
+sig = 306c023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e22237aa02aabb02310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd
+
+# using composition with indefinite length
+msg = 313233343030
+result = invalid
+sig = 30803066023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd0000
+
+# using composition with indefinite length
+msg = 313233343030
+result = invalid
+sig = 306a2280023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e2000002310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd
+
+# using composition with indefinite length
+msg = 313233343030
+result = invalid
+sig = 306a023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e2228002310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd0000
+
+# using composition with wrong tag
+msg = 313233343030
+result = invalid
+sig = 30803166023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd0000
+
+# using composition with wrong tag
+msg = 313233343030
+result = invalid
+sig = 306a2280033100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e2000002310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd
+
+# using composition with wrong tag
+msg = 313233343030
+result = invalid
+sig = 306a023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e2228003310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd0000
+
+# Replacing sequence with NULL
+msg = 313233343030
+result = invalid
+sig = 0500
+
+# changing tag value
+msg = 313233343030
+result = invalid
+sig = 2e66023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd
+
+# changing tag value
+msg = 313233343030
+result = invalid
+sig = 2f66023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd
+
+# changing tag value
+msg = 313233343030
+result = invalid
+sig = 3166023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd
+
+# changing tag value
+msg = 313233343030
+result = invalid
+sig = 3266023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd
+
+# changing tag value
+msg = 313233343030
+result = invalid
+sig = ff66023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd
+
+# changing tag value
+msg = 313233343030
+result = invalid
+sig = 3066003100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd
+
+# changing tag value
+msg = 313233343030
+result = invalid
+sig = 3066013100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd
+
+# changing tag value
+msg = 313233343030
+result = invalid
+sig = 3066033100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd
+
+# changing tag value
+msg = 313233343030
+result = invalid
+sig = 3066043100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd
+
+# changing tag value
+msg = 313233343030
+result = invalid
+sig = 3066ff3100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd
+
+# changing tag value
+msg = 313233343030
+result = invalid
+sig = 3066023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e200310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd
+
+# changing tag value
+msg = 313233343030
+result = invalid
+sig = 3066023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e201310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd
+
+# changing tag value
+msg = 313233343030
+result = invalid
+sig = 3066023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e203310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd
+
+# changing tag value
+msg = 313233343030
+result = invalid
+sig = 3066023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e204310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd
+
+# changing tag value
+msg = 313233343030
+result = invalid
+sig = 3066023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e2ff310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd
+
+# dropping value of sequence
+msg = 313233343030
+result = invalid
+sig = 3000
+
+# using composition
+msg = 313233343030
+result = invalid
+sig = 306a30010230653100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd
+
+# using composition
+msg = 313233343030
+result = invalid
+sig = 306a22350201000230814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd
+
+# using composition
+msg = 313233343030
+result = invalid
+sig = 306a023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e22235020100023084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd
+
+# truncate sequence
+msg = 313233343030
+result = invalid
+sig = 3065023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7
+
+# truncate sequence
+msg = 313233343030
+result = invalid
+sig = 30653100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd
+
+# indefinite length
+msg = 313233343030
+result = invalid
+sig = 3080023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd0000
+
+# indefinite length with truncated delimiter
+msg = 313233343030
+result = invalid
+sig = 3080023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd00
+
+# indefinite length with additional element
+msg = 313233343030
+result = invalid
+sig = 3080023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd05000000
+
+# indefinite length with truncated element
+msg = 313233343030
+result = invalid
+sig = 3080023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd060811220000
+
+# indefinite length with garbage
+msg = 313233343030
+result = invalid
+sig = 3080023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd0000fe02beef
+
+# indefinite length with nonempty EOC
+msg = 313233343030
+result = invalid
+sig = 3080023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd0002beef
+
+# prepend empty sequence
+msg = 313233343030
+result = invalid
+sig = 30683000023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd
+
+# append empty sequence
+msg = 313233343030
+result = invalid
+sig = 3068023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd3000
+
+# sequence of sequence
+msg = 313233343030
+result = invalid
+sig = 30683066023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd
+
+# truncated sequence
+msg = 313233343030
+result = invalid
+sig = 3033023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e2
+
+# repeat element in sequence
+msg = 313233343030
+result = invalid
+sig = 308199023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd02310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd
+
+# removing integer
+msg = 313233343030
+result = invalid
+sig = 303302310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd
+
+# appending 0's to integer
+msg = 313233343030
+result = invalid
+sig = 3068023300814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e2000002310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd
+
+# appending 0's to integer
+msg = 313233343030
+result = invalid
+sig = 3068023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202330084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd0000
+
+# prepending 0's to integer
+msg = 313233343030
+result = invalid
+sig = 30680233000000814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd
+
+# prepending 0's to integer
+msg = 313233343030
+result = invalid
+sig = 3068023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e2023300000084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd
+
+# Replacing integer with NULL
+msg = 313233343030
+result = invalid
+sig = 3035050002310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd
+
+# Replacing integer with NULL
+msg = 313233343030
+result = invalid
+sig = 3035023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e20500
+
+# dropping value of integer
+msg = 313233343030
+result = invalid
+sig = 3035020002310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd
+
+# dropping value of integer
+msg = 313233343030
+result = invalid
+sig = 3035023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e20200
+
+# modify first byte of integer
+msg = 313233343030
+result = invalid
+sig = 3066023102814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd
+
+# modify first byte of integer
+msg = 313233343030
+result = invalid
+sig = 3066023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310284f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd
+
+# modify last byte of integer
+msg = 313233343030
+result = invalid
+sig = 3066023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a156202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd
+
+# modify last byte of integer
+msg = 313233343030
+result = invalid
+sig = 3066023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a74d
+
+# truncate integer
+msg = 313233343030
+result = invalid
+sig = 3065023000814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a1502310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd
+
+# truncate integer
+msg = 313233343030
+result = invalid
+sig = 30650230814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd
+
+# truncate integer
+msg = 313233343030
+result = invalid
+sig = 3065023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202300084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7
+
+# truncate integer
+msg = 313233343030
+result = invalid
+sig = 3065023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e2023084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd
+
+# leading ff in integer
+msg = 313233343030
+result = invalid
+sig = 30670232ff00814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd
+
+# leading ff in integer
+msg = 313233343030
+result = invalid
+sig = 3067023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e20232ff0084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd
+
+# infinity
+msg = 313233343030
+result = invalid
+sig = 303609018002310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd
+
+# infinity
+msg = 313233343030
+result = invalid
+sig = 3036023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e2090180
+
+# Modified r or s, e.g. by adding or subtracting the order of the group
+msg = 313233343030
+result = invalid
+sig = 3066023101814cc9a70febda342d4ada87fc39426f403d5e8980842845d38217e2bcceedb5caa7aef8bc35edeec4beb155610f3f5502310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd
+
+# Modified r or s, e.g. by adding or subtracting the order of the group
+msg = 313233343030
+result = invalid
+sig = 30650230814cc9a70febda342d4ada87fc39426f403d5e898084284644bb7cded46091f71a7393942ad49ef8eae67e7fc784ec6f02310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd
+
+# Modified r or s, e.g. by adding or subtracting the order of the group
+msg = 313233343030
+result = invalid
+sig = 30660231ff7eb33658f01425cbd2b5257803c6bd90bfc2a1767f7bd7b9f3e1359f376840298d725eb98c7ab98c282d68156bb5ea1e02310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd
+
+# Modified r or s, e.g. by adding or subtracting the order of the group
+msg = 313233343030
+result = invalid
+sig = 306502307eb33658f01425cbd2b5257803c6bd90bfc2a1767f7bd7b9bb4483212b9f6e08e58c6c6bd52b610715198180387b139102310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd
+
+# Modified r or s, e.g. by adding or subtracting the order of the group
+msg = 313233343030
+result = invalid
+sig = 30660231fe7eb33658f01425cbd2b5257803c6bd90bfc2a1767f7bd7ba2c7de81d4331124a3558510743ca12113b414eaa9ef0c0ab02310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd
+
+# Modified r or s, e.g. by adding or subtracting the order of the group
+msg = 313233343030
+result = invalid
+sig = 3066023101814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd
+
+# Modified r or s, e.g. by adding or subtracting the order of the group
+msg = 313233343030
+result = invalid
+sig = 306502307eb33658f01425cbd2b5257803c6bd90bfc2a1767f7bd7b9f3e1359f376840298d725eb98c7ab98c282d68156bb5ea1e02310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd
+
+# Modified r or s, e.g. by adding or subtracting the order of the group
+msg = 313233343030
+result = invalid
+sig = 3066023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310184f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e5fd3ad1cb7a61dc9507f6eeb2a65341ad0cac035dfee58d140
+
+# Modified r or s, e.g. by adding or subtracting the order of the group
+msg = 313233343030
+result = invalid
+sig = 3065023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e2023084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e6044e681b3bdaf6d91cf3acfc5d3d2cbdaf0e8030a54ce7e5a
+
+# Modified r or s, e.g. by adding or subtracting the order of the group
+msg = 313233343030
+result = invalid
+sig = 3066023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e20231ff7b0a10ee2dd0dd2fab75095af240d095e446faba7a50a19ff3b630ca4e19648ed8ab2287e37c8caa222be38ade6c5833
+
+# Modified r or s, e.g. by adding or subtracting the order of the group
+msg = 313233343030
+result = invalid
+sig = 3066023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e20231fe7b0a10ee2dd0dd2fab75095af240d095e446faba7a50a1a02c52e34859e236af809114d59acbe52f353fca2011a72ec0
+
+# Modified r or s, e.g. by adding or subtracting the order of the group
+msg = 313233343030
+result = invalid
+sig = 3066023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310184f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd
+
+# Modified r or s, e.g. by adding or subtracting the order of the group
+msg = 313233343030
+result = invalid
+sig = 3065023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202307b0a10ee2dd0dd2fab75095af240d095e446faba7a50a19ff3b630ca4e19648ed8ab2287e37c8caa222be38ade6c5833
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 3006020100020100
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 3006020100020101
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 30060201000201ff
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 3036020100023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52973
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 3036020100023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52972
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 3036020100023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52974
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 3036020100023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000ffffffff
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 3036020100023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff000000000000000100000000
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 3008020100090380fe01
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 3006020101020100
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 3006020101020101
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 30060201010201ff
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 3036020101023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52973
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 3036020101023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52972
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 3036020101023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52974
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 3036020101023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000ffffffff
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 3036020101023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff000000000000000100000000
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 3008020101090380fe01
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 30060201ff020100
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 30060201ff020101
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 30060201ff0201ff
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 30360201ff023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52973
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 30360201ff023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52972
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 30360201ff023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52974
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 30360201ff023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000ffffffff
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 30360201ff023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff000000000000000100000000
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 30080201ff090380fe01
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 3036023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52973020100
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 3036023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52973020101
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 3036023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc529730201ff
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 3066023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52973023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52973
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 3066023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52973023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52972
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 3066023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52973023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52974
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 3066023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52973023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000ffffffff
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 3066023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52973023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff000000000000000100000000
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 3038023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52973090380fe01
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 3036023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52972020100
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 3036023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52972020101
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 3036023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc529720201ff
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 3066023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52972023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52973
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 3066023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52972023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52972
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 3066023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52972023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52974
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 3066023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52972023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000ffffffff
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 3066023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52972023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff000000000000000100000000
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 3038023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52972090380fe01
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 3036023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52974020100
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 3036023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52974020101
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 3036023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc529740201ff
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 3066023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52974023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52973
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 3066023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52974023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52972
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 3066023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52974023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52974
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 3066023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52974023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000ffffffff
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 3066023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52974023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff000000000000000100000000
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 3038023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52974090380fe01
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 3036023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000ffffffff020100
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 3036023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000ffffffff020101
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 3036023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000ffffffff0201ff
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 3066023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000ffffffff023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52973
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 3066023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000ffffffff023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52972
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 3066023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000ffffffff023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52974
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 3066023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000ffffffff023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000ffffffff
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 3066023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000ffffffff023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff000000000000000100000000
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 3038023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000ffffffff090380fe01
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 3036023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff000000000000000100000000020100
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 3036023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff000000000000000100000000020101
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 3036023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000001000000000201ff
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 3066023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff000000000000000100000000023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52973
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 3066023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff000000000000000100000000023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52972
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 3066023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff000000000000000100000000023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52974
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 3066023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff000000000000000100000000023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000ffffffff
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 3066023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff000000000000000100000000023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff000000000000000100000000
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 3038023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff000000000000000100000000090380fe01
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Edge case for Shamir multiplication
+msg = 3637323636
+result = valid
+sig = 3066023100ac042e13ab83394692019170707bc21dd3d7b8d233d11b651757085bdd5767eabbb85322984f14437335de0cdf5656840231008f8a277dde5282671af958e3315e795a20e2885157b77663a67a77ef2379020c5d12be6c732fd725402cb9ee8c345284
+
+[key.curve = secp384r1]
+[key.keySize = 384]
+[key.type = ECPublicKey]
+[key.wx = 0ca5ee479ad6624ab5870539a56a23b3816eef7bbc67156836dfb58c425fdb7213e31770f12b43152e887d88a3afb4b18]
+[key.wy = 2aceec92b3139aca8396402a8f81bb5014e748eab2e2059f8656a883e62d78b9dc988b98332627f95232d37df26585d3]
+[keyDer = 3076301006072a8648ce3d020106052b8104002203620004ca5ee479ad6624ab5870539a56a23b3816eef7bbc67156836dfb58c425fdb7213e31770f12b43152e887d88a3afb4b182aceec92b3139aca8396402a8f81bb5014e748eab2e2059f8656a883e62d78b9dc988b98332627f95232d37df26585d3]
+[sha = SHA-512]
+
+# k*G has a large x-coordinate
+msg = 313233343030
+result = valid
+sig = 304d0218389cb27e0bc8d21fa7e5f24cb74f58851313e696333ad68b023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52970
+
+# r too large
+msg = 313233343030
+result = invalid
+sig = 3066023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000fffffffe023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52970
+
+[key.curve = secp384r1]
+[key.keySize = 384]
+[key.type = ECPublicKey]
+[key.wx = 70e6a90b4e076bf51dfa01fa44de49b448f7afa0f3d07677f1682ca776d404b2a0feef66b005ea28ba99b6ce21d0ca12]
+[key.wy = 424f7d179951fb89156cdf04aed6db056c98592c651b5a881abc34e2401127fb81c64e90cee83269c5141f9a3c7bce78]
+[keyDer = 3076301006072a8648ce3d020106052b810400220362000470e6a90b4e076bf51dfa01fa44de49b448f7afa0f3d07677f1682ca776d404b2a0feef66b005ea28ba99b6ce21d0ca12424f7d179951fb89156cdf04aed6db056c98592c651b5a881abc34e2401127fb81c64e90cee83269c5141f9a3c7bce78]
+[sha = SHA-512]
+
+# r,s are large
+msg = 313233343030
+result = valid
+sig = 3066023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52972023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52971
+
+[key.curve = secp384r1]
+[key.keySize = 384]
+[key.type = ECPublicKey]
+[key.wx = 5a568474805fbf9acc1e5756d296696290b73d4d1c3b197f48aff03b919f0111823f90ea024af1c78e7c803e2297662d]
+[key.wy = 4c1c79edc9c694620c1f5b5cc7dd9ff89a42442747857cace26b6ebc99962ec3a68a8e4072226d6d98a2a866dd97c203]
+[keyDer = 3076301006072a8648ce3d020106052b81040022036200045a568474805fbf9acc1e5756d296696290b73d4d1c3b197f48aff03b919f0111823f90ea024af1c78e7c803e2297662d4c1c79edc9c694620c1f5b5cc7dd9ff89a42442747857cace26b6ebc99962ec3a68a8e4072226d6d98a2a866dd97c203]
+[sha = SHA-512]
+
+# r and s^-1 have a large Hamming weight
+msg = 313233343030
+result = valid
+sig = 306502307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd023100d1aee55fdc2a716ba2fabcb57020b72e539bf05c7902f98e105bf83d4cc10c2a159a3cf7e01d749d2205f4da6bd8fcf1
+
+[key.curve = secp384r1]
+[key.keySize = 384]
+[key.type = ECPublicKey]
+[key.wx = 088531382963bfe4e179f0b457ecd446528b98d349edbd8e7d0f6c1673b4ae2a7629b3345a7eae2e7c48358c13bdbe038]
+[key.wy = 09375c849dd571d91f2a3bf8994f53f82261f38172806c4d725de2029e887bfe036f38d6985ea5a22c52169db6e4213da]
+[keyDer = 3076301006072a8648ce3d020106052b810400220362000488531382963bfe4e179f0b457ecd446528b98d349edbd8e7d0f6c1673b4ae2a7629b3345a7eae2e7c48358c13bdbe0389375c849dd571d91f2a3bf8994f53f82261f38172806c4d725de2029e887bfe036f38d6985ea5a22c52169db6e4213da]
+[sha = SHA-512]
+
+# r and s^-1 have a large Hamming weight
+msg = 313233343030
+result = valid
+sig = 306502307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd023100b6b681dc484f4f020fd3f7e626d88edc6ded1b382ef3e143d60887b51394260832d4d8f2ef70458f9fa90e38c2e19e4f
+
+[key.curve = secp384r1]
+[key.keySize = 384]
+[key.type = ECPublicKey]
+[key.wx = 080da57d67dba48eb50eef484cf668d981e1bf30c357c3fd21a43cdc41f267c3f186bf87e3680239bac09930f144263c]
+[key.wy = 5f28777ad8bcbfc3eb0369e0f7b18392a12397a4fbe15a2a1f6e2e5b4067c82681c89c73db25eca18c6b25768429cef0]
+[keyDer = 3076301006072a8648ce3d020106052b8104002203620004080da57d67dba48eb50eef484cf668d981e1bf30c357c3fd21a43cdc41f267c3f186bf87e3680239bac09930f144263c5f28777ad8bcbfc3eb0369e0f7b18392a12397a4fbe15a2a1f6e2e5b4067c82681c89c73db25eca18c6b25768429cef0]
+[sha = SHA-512]
+
+# small r and s
+msg = 313233343030
+result = valid
+sig = 3006020102020101
+
+[key.curve = secp384r1]
+[key.keySize = 384]
+[key.type = ECPublicKey]
+[key.wx = 0e74a096d7f6ee1be9b4160d6b79baba4d25b4fb6fbdd38f5a9ed5cc1ac79943be71ede093e504c7dc0832daeb898a05]
+[key.wy = 0a8d005b30c894686f6ecb2bc696e25effaccd3c9e4b48122db567c0118a0b983b757c2f40082dc374f8f6117a8e76fc0]
+[keyDer = 3076301006072a8648ce3d020106052b81040022036200040e74a096d7f6ee1be9b4160d6b79baba4d25b4fb6fbdd38f5a9ed5cc1ac79943be71ede093e504c7dc0832daeb898a05a8d005b30c894686f6ecb2bc696e25effaccd3c9e4b48122db567c0118a0b983b757c2f40082dc374f8f6117a8e76fc0]
+[sha = SHA-512]
+
+# small r and s
+msg = 313233343030
+result = valid
+sig = 3006020102020102
+
+[key.curve = secp384r1]
+[key.keySize = 384]
+[key.type = ECPublicKey]
+[key.wx = 0a2ad0e27b40410d16077ddc5e415f109d328bf75e73a0f56876fef731285f83188b207a68690a40e76ed23e2c5e49fcf]
+[key.wy = 604f1c5d7d7df365005d40e209f4da7bb06f310d5a1660ad6236577fbb47955261f507d23b83013ffb951bd76908e76c]
+[keyDer = 3076301006072a8648ce3d020106052b8104002203620004a2ad0e27b40410d16077ddc5e415f109d328bf75e73a0f56876fef731285f83188b207a68690a40e76ed23e2c5e49fcf604f1c5d7d7df365005d40e209f4da7bb06f310d5a1660ad6236577fbb47955261f507d23b83013ffb951bd76908e76c]
+[sha = SHA-512]
+
+# small r and s
+msg = 313233343030
+result = valid
+sig = 3006020102020103
+
+# r is larger than n
+msg = 313233343030
+result = invalid
+sig = 3036023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52975020103
+
+[key.curve = secp384r1]
+[key.keySize = 384]
+[key.type = ECPublicKey]
+[key.wx = 0a233025c12d20f49dc50dc802e79f03c7ce1750b9204b51325d90b5ade08f4a74ef6efb081ed3156d64a0110d60fffab]
+[key.wy = 0b924881891ee984cf51949dee96cfd7c9759b1ff00f0dbdc718d52117079d5d8bd6c86c6f532276af38b779bf2350d7f]
+[keyDer = 3076301006072a8648ce3d020106052b8104002203620004a233025c12d20f49dc50dc802e79f03c7ce1750b9204b51325d90b5ade08f4a74ef6efb081ed3156d64a0110d60fffabb924881891ee984cf51949dee96cfd7c9759b1ff00f0dbdc718d52117079d5d8bd6c86c6f532276af38b779bf2350d7f]
+[sha = SHA-512]
+
+# s is larger than n
+msg = 313233343030
+result = invalid
+sig = 3036020102023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accd7fffa
+
+[key.curve = secp384r1]
+[key.keySize = 384]
+[key.type = ECPublicKey]
+[key.wx = 3c9bb63607cdea0585f38d9780c9ac3e9a5a58153e2aacc4bc7a1d638d12e32c4d3a90c0c114b232c6f16e23e4bebb24]
+[key.wy = 0da2ac2ccedc5494fe534a9abaea3013de0176f1b0e91bcd62154bdf3f604091a5008b2466702d0e2f93e4a4b6c601a54]
+[keyDer = 3076301006072a8648ce3d020106052b81040022036200043c9bb63607cdea0585f38d9780c9ac3e9a5a58153e2aacc4bc7a1d638d12e32c4d3a90c0c114b232c6f16e23e4bebb24da2ac2ccedc5494fe534a9abaea3013de0176f1b0e91bcd62154bdf3f604091a5008b2466702d0e2f93e4a4b6c601a54]
+[sha = SHA-512]
+
+# small r and s^-1
+msg = 313233343030
+result = valid
+sig = 3036020201000230489122448912244891224489122448912244891224489122347ce79bc437f4d071aaa92c7d6c882ae8734dc18cb0d553
+
+[key.curve = secp384r1]
+[key.keySize = 384]
+[key.type = ECPublicKey]
+[key.wx = 559a66ef77752fd856976f36ed315619932204599bd7ef91d1a53ac1e7c90b3969cab8143b7a53c4bf5a3fe39f649eb6]
+[key.wy = 1f00f86dd8b8556c4815b2a01c59eb6cc03c97b94b6db4318249fe489e36ac9635876b1ca2ec0999caef5e1a6a58a70d]
+[keyDer = 3076301006072a8648ce3d020106052b8104002203620004559a66ef77752fd856976f36ed315619932204599bd7ef91d1a53ac1e7c90b3969cab8143b7a53c4bf5a3fe39f649eb61f00f86dd8b8556c4815b2a01c59eb6cc03c97b94b6db4318249fe489e36ac9635876b1ca2ec0999caef5e1a6a58a70d]
+[sha = SHA-512]
+
+# smallish r and s^-1
+msg = 313233343030
+result = valid
+sig = 303c02072d9b4d347952cd023100ce751512561b6f57c75342848a3ff98ccf9c3f0219b6b68d00449e6c971a85d2e2ce73554b59219d54d2083b46327351
+
+[key.curve = secp384r1]
+[key.keySize = 384]
+[key.type = ECPublicKey]
+[key.wx = 548e79a17fd3a114d830ea88f218ee1ef7aa3f8dc139e0a8b9b60e25049a816ef449e8bd5dae867446495fdf20f4770]
+[key.wy = 363a1e8afefb02ebfd59df90b6d23ff7d5f706f9b26daebae1d4657ac342844ee9c2e0e9269f7efe7ab91e0303c115d]
+[keyDer = 3076301006072a8648ce3d020106052b81040022036200040548e79a17fd3a114d830ea88f218ee1ef7aa3f8dc139e0a8b9b60e25049a816ef449e8bd5dae867446495fdf20f47700363a1e8afefb02ebfd59df90b6d23ff7d5f706f9b26daebae1d4657ac342844ee9c2e0e9269f7efe7ab91e0303c115d]
+[sha = SHA-512]
+
+# 100-bit r and small s^-1
+msg = 313233343030
+result = valid
+sig = 3041020d1033e67e37b32b445580bf4efb02302ad52ad52ad52ad52ad52ad52ad52ad52ad52ad52ad52ad5215c51b320e460542f9cc38968ccdf4263684004eb79a452
+
+[key.curve = secp384r1]
+[key.keySize = 384]
+[key.type = ECPublicKey]
+[key.wx = 0a0eb670630f9bbbd963c5750de7bcbae4ddfd37b13fe7690eec6861a3c56c8efb87dbbf85ccd953c659d382c3d7df76a]
+[key.wy = 0fb08840635a16ac7ecf3de2dc28a77c8af9d49e5a832551e3354a2b311e52be86720d9b2fbb78d11a8aec61606a29f0d]
+[keyDer = 3076301006072a8648ce3d020106052b8104002203620004a0eb670630f9bbbd963c5750de7bcbae4ddfd37b13fe7690eec6861a3c56c8efb87dbbf85ccd953c659d382c3d7df76afb08840635a16ac7ecf3de2dc28a77c8af9d49e5a832551e3354a2b311e52be86720d9b2fbb78d11a8aec61606a29f0d]
+[sha = SHA-512]
+
+# small r and 100 bit s^-1
+msg = 313233343030
+result = valid
+sig = 303602020100023077a172dfe37a2c53f0b92ab60f0a8f085f49dbfd930719d6f9e587ea68ae57cb49cd35a88cf8c6acec02f057a3807a5b
+
+[key.curve = secp384r1]
+[key.keySize = 384]
+[key.type = ECPublicKey]
+[key.wx = 254bce3041b00468445cb9ae597bc76c1279a8506142ce2427185b1d7f753d1c0aad94156b531a2071aa61c83ec842a3]
+[key.wy = 710d6c8c96766ae8b63396133e5872805e47d9ba39113e122d676d54dbb2460b59d986bdd33be346c021e8a71bb41ba9]
+[keyDer = 3076301006072a8648ce3d020106052b8104002203620004254bce3041b00468445cb9ae597bc76c1279a8506142ce2427185b1d7f753d1c0aad94156b531a2071aa61c83ec842a3710d6c8c96766ae8b63396133e5872805e47d9ba39113e122d676d54dbb2460b59d986bdd33be346c021e8a71bb41ba9]
+[sha = SHA-512]
+
+# 100-bit r and s^-1
+msg = 313233343030
+result = valid
+sig = 3041020d062522bbd3ecbe7c39e93e7c24023077a172dfe37a2c53f0b92ab60f0a8f085f49dbfd930719d6f9e587ea68ae57cb49cd35a88cf8c6acec02f057a3807a5b
+
+[key.curve = secp384r1]
+[key.keySize = 384]
+[key.type = ECPublicKey]
+[key.wx = 09129db4446c2c598c4f81070f70f66c37c39323e01418c095de9902e0e1b20f26bc3e011ba84c10626ffdce836690c9f]
+[key.wy = 08e4a104fec4aaa4350c238617ee50456accc49efc3b73eb9548e1600c2483f1c4bae9ddf3ff92af17afd19f86274589c]
+[keyDer = 3076301006072a8648ce3d020106052b81040022036200049129db4446c2c598c4f81070f70f66c37c39323e01418c095de9902e0e1b20f26bc3e011ba84c10626ffdce836690c9f8e4a104fec4aaa4350c238617ee50456accc49efc3b73eb9548e1600c2483f1c4bae9ddf3ff92af17afd19f86274589c]
+[sha = SHA-512]
+
+# r and s^-1 are close to n
+msg = 313233343030
+result = valid
+sig = 3065023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc528f3023055555555555555555555555555555555555555555555555542766f2b5167b9f51d5e0490c2e58d28f9a40878eeec6326
+
+[key.curve = secp384r1]
+[key.keySize = 384]
+[key.type = ECPublicKey]
+[key.wx = 0a701a8111cdf97ced74a00a4514b2b526be8113e7df6cf7163aaee465880d26275b833b186d80f1862dc67ff768dde43]
+[key.wy = 0e5a991f16f8f777311b17eabdc90b6ece3b5da776cfbebbc504382ca1abae1c6aa6a64d9c41110d97950514e99578ed8]
+[keyDer = 3076301006072a8648ce3d020106052b8104002203620004a701a8111cdf97ced74a00a4514b2b526be8113e7df6cf7163aaee465880d26275b833b186d80f1862dc67ff768dde43e5a991f16f8f777311b17eabdc90b6ece3b5da776cfbebbc504382ca1abae1c6aa6a64d9c41110d97950514e99578ed8]
+[sha = SHA-512]
+
+# s == 1
+msg = 313233343030
+result = valid
+sig = 3035023055555555555555555555555555555555555555555555555542766f2b5167b9f51d5e0490c2e58d28f9a40878eeec6326020101
+
+# s == 0
+msg = 313233343030
+result = invalid
+sig = 3035023055555555555555555555555555555555555555555555555542766f2b5167b9f51d5e0490c2e58d28f9a40878eeec6326020100
+
+[key.curve = secp384r1]
+[key.keySize = 384]
+[key.type = ECPublicKey]
+[key.wx = 0b6815ba05413bcf34f4c0704af590c1998d7fcd169541e1efe1567ca1dd71a22e35ac838b20c75281582044a57b58f45]
+[key.wy = 6cdceb10612062779abadd8742c6e93ed74adf306f3b3a0f96b70dd1134b7558b64b55b200c5732c50f05aa032ae7c00]
+[keyDer = 3076301006072a8648ce3d020106052b8104002203620004b6815ba05413bcf34f4c0704af590c1998d7fcd169541e1efe1567ca1dd71a22e35ac838b20c75281582044a57b58f456cdceb10612062779abadd8742c6e93ed74adf306f3b3a0f96b70dd1134b7558b64b55b200c5732c50f05aa032ae7c00]
+[sha = SHA-512]
+
+# point at infinity during verify
+msg = 313233343030
+result = invalid
+sig = 306402307fffffffffffffffffffffffffffffffffffffffffffffffe3b1a6c0fa1b96efac0d06d9245853bd76760cb5666294b9023055555555555555555555555555555555555555555555555542766f2b5167b9f51d5e0490c2e58d28f9a40878eeec6326
+
+[key.curve = secp384r1]
+[key.keySize = 384]
+[key.type = ECPublicKey]
+[key.wx = 0b4b2d5a8b50ffabd34748e94498c1d4728d084f943fbddd4b3b6ee16eaa4da91613a82c98017132c94cd6fe4b87232f1]
+[key.wy = 6d612228ed5d7d08bf0c8699677e3b8f3e718073b945a6c108d97a3b1433c79052b2655a18a3b2e621baa88198cb5f3c]
+[keyDer = 3076301006072a8648ce3d020106052b8104002203620004b4b2d5a8b50ffabd34748e94498c1d4728d084f943fbddd4b3b6ee16eaa4da91613a82c98017132c94cd6fe4b87232f16d612228ed5d7d08bf0c8699677e3b8f3e718073b945a6c108d97a3b1433c79052b2655a18a3b2e621baa88198cb5f3c]
+[sha = SHA-512]
+
+# u1 == 1
+msg = 313233343030
+result = valid
+sig = 3064023055555555555555555555555555555555555555555555555542766f2b5167b9f51d5e0490c2e58d28f9a40878eeec6326023043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158ca
+
+[key.curve = secp384r1]
+[key.keySize = 384]
+[key.type = ECPublicKey]
+[key.wx = 0842b3d89e54d9a4b5694d9251bba20ae4854c510dc0b6ef7033e4045ba4e64b6ddcd36299aac554dbac6db3e27c98123]
+[key.wy = 0868258190297e1d6bae648a6dee2285886233afd1c3d6f196ad1db14262a579d74cf7855fffc65f5abd242b135ae87df]
+[keyDer = 3076301006072a8648ce3d020106052b8104002203620004842b3d89e54d9a4b5694d9251bba20ae4854c510dc0b6ef7033e4045ba4e64b6ddcd36299aac554dbac6db3e27c98123868258190297e1d6bae648a6dee2285886233afd1c3d6f196ad1db14262a579d74cf7855fffc65f5abd242b135ae87df]
+[sha = SHA-512]
+
+# u1 == n - 1
+msg = 313233343030
+result = valid
+sig = 3065023055555555555555555555555555555555555555555555555542766f2b5167b9f51d5e0490c2e58d28f9a40878eeec6326023100bc07ff041506dc73a75086a43252fb43b6327af3c6b2cc7d322ff6d1d1162b5de29edcd0b69803fe2f8af8e3d103d0a9
+
+[key.curve = secp384r1]
+[key.keySize = 384]
+[key.type = ECPublicKey]
+[key.wx = 09ab73dcfffc820e739a3ed9c316c6f15d27a032f8aa59325f7842cf4a34198ac6ff09eb1a311ce226bf1abb49d808511]
+[key.wy = 135f4b0c2b6b195da9bbe1993e985b8607664f1a4b3d499ea1a112b6afc7e6b88357c9348b614ddfdc846a3f38bbdca]
+[keyDer = 3076301006072a8648ce3d020106052b81040022036200049ab73dcfffc820e739a3ed9c316c6f15d27a032f8aa59325f7842cf4a34198ac6ff09eb1a311ce226bf1abb49d8085110135f4b0c2b6b195da9bbe1993e985b8607664f1a4b3d499ea1a112b6afc7e6b88357c9348b614ddfdc846a3f38bbdca]
+[sha = SHA-512]
+
+# u2 == 1
+msg = 313233343030
+result = valid
+sig = 3064023055555555555555555555555555555555555555555555555542766f2b5167b9f51d5e0490c2e58d28f9a40878eeec6326023055555555555555555555555555555555555555555555555542766f2b5167b9f51d5e0490c2e58d28f9a40878eeec6326
+
+[key.curve = secp384r1]
+[key.keySize = 384]
+[key.type = ECPublicKey]
+[key.wx = 28771b137fb7d74c0ed0290416f47c8118997923c7b3b717fbbd5308a4bb0e494714bd3f1ff5e9e368887377284272eb]
+[key.wy = 0f92e5df476a2fa0906ce4fad121c641abb539ab4ef270cd8f0497cc3e6e05b18561b730670f010741238a5d07b077045]
+[keyDer = 3076301006072a8648ce3d020106052b810400220362000428771b137fb7d74c0ed0290416f47c8118997923c7b3b717fbbd5308a4bb0e494714bd3f1ff5e9e368887377284272ebf92e5df476a2fa0906ce4fad121c641abb539ab4ef270cd8f0497cc3e6e05b18561b730670f010741238a5d07b077045]
+[sha = SHA-512]
+
+# u2 == n - 1
+msg = 313233343030
+result = valid
+sig = 3065023055555555555555555555555555555555555555555555555542766f2b5167b9f51d5e0490c2e58d28f9a40878eeec6326023100aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa84ecde56a2cf73ea3abc092185cb1a51f34810f1ddd8c64d
+
+[key.curve = secp384r1]
+[key.keySize = 384]
+[key.type = ECPublicKey]
+[key.wx = 09d1baad217829d5f2d7db5bd085e9126232e8c49c58707cb153db1d1e20a109c90f7bcbae4f2c74d6595207cb0e5dd27]
+[key.wy = 1eea30752a1425905d0811d0f42019e5088142b41945bee03948f206f2e7c3c1081ba9a297180e36b247ee9e70832035]
+[keyDer = 3076301006072a8648ce3d020106052b81040022036200049d1baad217829d5f2d7db5bd085e9126232e8c49c58707cb153db1d1e20a109c90f7bcbae4f2c74d6595207cb0e5dd271eea30752a1425905d0811d0f42019e5088142b41945bee03948f206f2e7c3c1081ba9a297180e36b247ee9e70832035]
+[sha = SHA-512]
+
+# edge case for u1
+msg = 313233343030
+result = valid
+sig = 306502307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd023100c152aafea3a8612ec83a7dc9448f01941899d7041319bbd60bfdfb3c03da74c00c8fc4176128a6263268711edc6e8e90
+
+[key.curve = secp384r1]
+[key.keySize = 384]
+[key.type = ECPublicKey]
+[key.wx = 08e39e1e44f782b810ea93037c344371c4fb141c8bf196ea618f3a176547139a6d02121d2794cbe6481061694db579315]
+[key.wy = 0c3184e8cd9b6c16b37699633d87f5600654b44cbcb5ab50ba872dfa001769eb765b2d1902e01d2e8af4e1fd6e9c0f30f]
+[keyDer = 3076301006072a8648ce3d020106052b81040022036200048e39e1e44f782b810ea93037c344371c4fb141c8bf196ea618f3a176547139a6d02121d2794cbe6481061694db579315c3184e8cd9b6c16b37699633d87f5600654b44cbcb5ab50ba872dfa001769eb765b2d1902e01d2e8af4e1fd6e9c0f30f]
+[sha = SHA-512]
+
+# edge case for u1
+msg = 313233343030
+result = valid
+sig = 306402307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd02304764eeac3e7a08daacfad7d1e1e3696042164b06f77bd78c3213ddea6f9fd449a34c97b9e560a6bf7195da41333c7565
+
+[key.curve = secp384r1]
+[key.keySize = 384]
+[key.type = ECPublicKey]
+[key.wx = 0b96fca0e3f6ebf7326f0a8ce8bdf226a2560c22526bf154f7b467010f3a46baca73414070db0f7ab039f345548452ae2]
+[key.wy = 6f7b744274e9bd6c791f47513e6b51eb42fea3816b3032b33a81695f04d4e775be06484cf7e6a69cba8bacbcb597b3e3]
+[keyDer = 3076301006072a8648ce3d020106052b8104002203620004b96fca0e3f6ebf7326f0a8ce8bdf226a2560c22526bf154f7b467010f3a46baca73414070db0f7ab039f345548452ae26f7b744274e9bd6c791f47513e6b51eb42fea3816b3032b33a81695f04d4e775be06484cf7e6a69cba8bacbcb597b3e3]
+[sha = SHA-512]
+
+# edge case for u1
+msg = 313233343030
+result = valid
+sig = 306502307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd023100cb4d5c0ff0abe29b2771fe9f179a5614e2e4c3cc1134a7aad08d8ec3fd8fcd07fd34b3473ca65ead1c7bb20bcf3ea5c9
+
+[key.curve = secp384r1]
+[key.keySize = 384]
+[key.type = ECPublicKey]
+[key.wx = 4fd52b11ff747b59ef609e065a462cd85b73172d20f406fdd845d4eaa3ec173e06ee58a58e1810f051b275bbaa47ccb4]
+[key.wy = 084d2382b9e72c526dc3764a11a4a962a7a4c7355e6f057fc976ab73cc384f9a29da50769809ecbf37358dd83c74fc25f]
+[keyDer = 3076301006072a8648ce3d020106052b81040022036200044fd52b11ff747b59ef609e065a462cd85b73172d20f406fdd845d4eaa3ec173e06ee58a58e1810f051b275bbaa47ccb484d2382b9e72c526dc3764a11a4a962a7a4c7355e6f057fc976ab73cc384f9a29da50769809ecbf37358dd83c74fc25f]
+[sha = SHA-512]
+
+# edge case for u1
+msg = 313233343030
+result = valid
+sig = 306402307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd02306e441db253bf798dbc07ff041506dc73a75086a43252fb439dd016110475d8381f65f7f27f9e1cfc9b48f06a2dfa8eb6
+
+[key.curve = secp384r1]
+[key.keySize = 384]
+[key.type = ECPublicKey]
+[key.wx = 7d123e3dbab9913d698891023e28654cba2a94dc408a0dc386e63d8d22ff0f33358a231860b7c2e4f8429e9e8c9a1c5b]
+[key.wy = 0e7c95d1875f24ecdfeffc6136cf56f800f5434490f234f14d78505c2d4aea51e2a3a6a5d1693e72c4b1dd2a8746b875a]
+[keyDer = 3076301006072a8648ce3d020106052b81040022036200047d123e3dbab9913d698891023e28654cba2a94dc408a0dc386e63d8d22ff0f33358a231860b7c2e4f8429e9e8c9a1c5be7c95d1875f24ecdfeffc6136cf56f800f5434490f234f14d78505c2d4aea51e2a3a6a5d1693e72c4b1dd2a8746b875a]
+[sha = SHA-512]
+
+# edge case for u1
+msg = 313233343030
+result = valid
+sig = 306402307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd023041db253bf798dbc07ff041506dc73a75086a43252fb43b63191efcd0914b6afb4bf8c77d008dbeac04277ef4aa59c394
+
+[key.curve = secp384r1]
+[key.keySize = 384]
+[key.type = ECPublicKey]
+[key.wx = 608ce23a383452f8f4dcc5c0085d6793ec518985f0276a3409a23d7b7ca7e7dcb163601aca73840c3bd470aff70250bf]
+[key.wy = 674005a0be08939339363e314dca7ea67adfb60cd530628fe35f05416da8f20d5fb3b0ccd183a21dbb41c4e195d6303d]
+[keyDer = 3076301006072a8648ce3d020106052b8104002203620004608ce23a383452f8f4dcc5c0085d6793ec518985f0276a3409a23d7b7ca7e7dcb163601aca73840c3bd470aff70250bf674005a0be08939339363e314dca7ea67adfb60cd530628fe35f05416da8f20d5fb3b0ccd183a21dbb41c4e195d6303d]
+[sha = SHA-512]
+
+# edge case for u1
+msg = 313233343030
+result = valid
+sig = 306502307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd02310083b64a77ef31b780ffe082a0db8e74ea10d4864a5f6876c6323df9a12296d5f697f18efa011b7d58084efde954b38728
+
+[key.curve = secp384r1]
+[key.keySize = 384]
+[key.type = ECPublicKey]
+[key.wx = 48d23de1869475a1de532399da1240bab560eb74a6c7b0871bf8ac8fb6cc17cf7b34fcd7c79fd99c76c605bdf3fcbe18]
+[key.wy = 0e15b66ab91d0a03e203c2ff914d4bedc38c1ec5dcd1d12db9b43ef6f44581632683bf785aa4326566227ece3c16be796]
+[keyDer = 3076301006072a8648ce3d020106052b810400220362000448d23de1869475a1de532399da1240bab560eb74a6c7b0871bf8ac8fb6cc17cf7b34fcd7c79fd99c76c605bdf3fcbe18e15b66ab91d0a03e203c2ff914d4bedc38c1ec5dcd1d12db9b43ef6f44581632683bf785aa4326566227ece3c16be796]
+[sha = SHA-512]
+
+# edge case for u1
+msg = 313233343030
+result = valid
+sig = 306402307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd023053bf798dbc07ff041506dc73a75086a43252fb43b6327af3b42da6d3e9a72cde0b5c2de6bf072e780e94ad12dcab270a
+
+[key.curve = secp384r1]
+[key.keySize = 384]
+[key.type = ECPublicKey]
+[key.wx = 5d5eb470f9c6a0bb18e8960b67011acf9f01df405ac5b4bf9f4611d6a8af1a26b11b0790e93ae2361525dde51bacac94]
+[key.wy = 0d42ce151793b80cee679c848362ec272000316590ebc91547b3b6608dfbade21e04de1548ebb45cc4721eb64a16b8318]
+[keyDer = 3076301006072a8648ce3d020106052b81040022036200045d5eb470f9c6a0bb18e8960b67011acf9f01df405ac5b4bf9f4611d6a8af1a26b11b0790e93ae2361525dde51bacac94d42ce151793b80cee679c848362ec272000316590ebc91547b3b6608dfbade21e04de1548ebb45cc4721eb64a16b8318]
+[sha = SHA-512]
+
+# edge case for u1
+msg = 313233343030
+result = valid
+sig = 306402307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd023024c53b0a00cf087a9a20a2b78bc81d5b383d04ba9b55a567405239d224387344c41cceff0f68ffc930dbaa0b3d346f45
+
+[key.curve = secp384r1]
+[key.keySize = 384]
+[key.type = ECPublicKey]
+[key.wx = 1da34a149ed562c8ec13e84cb067107bc28b50bfa47575d5a9948cde5a3d7357c38ea41fcfcdd1ab1a1bd9b6592b33d9]
+[key.wy = 0e14aedfd0cfffcfecbdc21276e6a2c78b8729412c48339ae538b799b7d8e61163047a64cfcec9018aa00f99ae740e3f3]
+[keyDer = 3076301006072a8648ce3d020106052b81040022036200041da34a149ed562c8ec13e84cb067107bc28b50bfa47575d5a9948cde5a3d7357c38ea41fcfcdd1ab1a1bd9b6592b33d9e14aedfd0cfffcfecbdc21276e6a2c78b8729412c48339ae538b799b7d8e61163047a64cfcec9018aa00f99ae740e3f3]
+[sha = SHA-512]
+
+# edge case for u1
+msg = 313233343030
+result = valid
+sig = 306502307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd023100c600ccb39bb3e2d85d880d76d1d519205f050c4b93deae0c5d63e8898ca8d7a5babbb944debe0f3c44332aae5770cb7b
+
+[key.curve = secp384r1]
+[key.keySize = 384]
+[key.type = ECPublicKey]
+[key.wx = 08b8675211b321f8b318ba60337cde32a6b04243979546383127a068a8749cb5e98c4231b198de62a2b069d3a94d1c7b1]
+[key.wy = 09d33468a130b4fef66a59d4aee00ca40bdbeaf044b8b22841bb4c8ba419f891b3855f4bddf8dae3577d97120b9d3fa44]
+[keyDer = 3076301006072a8648ce3d020106052b81040022036200048b8675211b321f8b318ba60337cde32a6b04243979546383127a068a8749cb5e98c4231b198de62a2b069d3a94d1c7b19d33468a130b4fef66a59d4aee00ca40bdbeaf044b8b22841bb4c8ba419f891b3855f4bddf8dae3577d97120b9d3fa44]
+[sha = SHA-512]
+
+# edge case for u1
+msg = 313233343030
+result = valid
+sig = 306402307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd02303ead55015c579ed137c58236bb70fe6be76628fbece64429bb655245f05cb91f4b8a499ae7880154ba83a84bf0569ae3
+
+[key.curve = secp384r1]
+[key.keySize = 384]
+[key.type = ECPublicKey]
+[key.wx = 442766bdb8b2cf4fef5f65d5d86b61681ec89220c983b51f15bfe12fb0bf9780e0c38bbcc888afb3c55ee828774b86f7]
+[key.wy = 56b7f399c534c7acd46be4bc8bb38f087b0023b8f5166ab34192ca0b1cad62d663aa474c6f9286c8a054ef94ea42e3c7]
+[keyDer = 3076301006072a8648ce3d020106052b8104002203620004442766bdb8b2cf4fef5f65d5d86b61681ec89220c983b51f15bfe12fb0bf9780e0c38bbcc888afb3c55ee828774b86f756b7f399c534c7acd46be4bc8bb38f087b0023b8f5166ab34192ca0b1cad62d663aa474c6f9286c8a054ef94ea42e3c7]
+[sha = SHA-512]
+
+# edge case for u1
+msg = 313233343030
+result = valid
+sig = 306502307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd023100de03ff820a836e39d3a8435219297da1db193d79e359663e7cc9a229e2a6ac9e9d5c75417fa455bc8e3b89274ee47d0e
+
+[key.curve = secp384r1]
+[key.keySize = 384]
+[key.type = ECPublicKey]
+[key.wx = 11342b314f31648931abb897c1371dd3a23e91f2405c4a81744be18e753919752208779de2d54e865eeefbb0bfb4998a]
+[key.wy = 0f533d7a4d6fc6cb5cb98915ce08d0f656e37a502e78f8c1b8baca728c2ecb05a2156f01cff16595b363cdb49c00c1aa2]
+[keyDer = 3076301006072a8648ce3d020106052b810400220362000411342b314f31648931abb897c1371dd3a23e91f2405c4a81744be18e753919752208779de2d54e865eeefbb0bfb4998af533d7a4d6fc6cb5cb98915ce08d0f656e37a502e78f8c1b8baca728c2ecb05a2156f01cff16595b363cdb49c00c1aa2]
+[sha = SHA-512]
+
+# edge case for u1
+msg = 313233343030
+result = valid
+sig = 306502307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd023100e5a6ae07f855f14d93b8ff4f8bcd2b0a717261e6089a53d54bf86e22f8e37d73aaa7607cc2ab831404b3e5bb4e01e79e
+
+[key.curve = secp384r1]
+[key.keySize = 384]
+[key.type = ECPublicKey]
+[key.wx = 3c96b49ff60ff05951b7b1aca65664f13128b714da620697ef0d90bfc01ef643baa5c608f16ca885038322a443aed3e6]
+[key.wy = 169a27f2ea7a36376ef92a900e5389a7b441fd051d693ce65250b881cfdd6487370372292c84369742b18106188b05c0]
+[keyDer = 3076301006072a8648ce3d020106052b81040022036200043c96b49ff60ff05951b7b1aca65664f13128b714da620697ef0d90bfc01ef643baa5c608f16ca885038322a443aed3e6169a27f2ea7a36376ef92a900e5389a7b441fd051d693ce65250b881cfdd6487370372292c84369742b18106188b05c0]
+[sha = SHA-512]
+
+# edge case for u2
+msg = 313233343030
+result = valid
+sig = 306402307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd02307fffffffffffffffffffffffffffffffffffffffffffffffed2119d5fc12649fc808af3b6d9037d3a44eb32399970dd0
+
+[key.curve = secp384r1]
+[key.keySize = 384]
+[key.type = ECPublicKey]
+[key.wx = 388dae49ea48afb558456fdb1d0b04d4f8f1c46f14d22de25862d35069a28ae9284d7a8074546e779ad2c5f17ce9b89b]
+[key.wy = 0b353298f3c526aa0a10ed23bcb1ed9788812c8a3a6cbea82a3d9d8d465a4cca59dbd3d3d8a36098d644f1b45d36df537]
+[keyDer = 3076301006072a8648ce3d020106052b8104002203620004388dae49ea48afb558456fdb1d0b04d4f8f1c46f14d22de25862d35069a28ae9284d7a8074546e779ad2c5f17ce9b89bb353298f3c526aa0a10ed23bcb1ed9788812c8a3a6cbea82a3d9d8d465a4cca59dbd3d3d8a36098d644f1b45d36df537]
+[sha = SHA-512]
+
+# edge case for u2
+msg = 313233343030
+result = valid
+sig = 306402307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd023079b95c013b0472de04d8faeec3b779c39fe729ea84fb554cd091c7178c2f054eabbc62c3e1cfbac2c2e69d7aa45d9072
+
+[key.curve = secp384r1]
+[key.keySize = 384]
+[key.type = ECPublicKey]
+[key.wx = 0c85200ac6411423573e3ebc1b7aea95e74add5ce3b41282baa885972acc085c8365c05c539ce47e799afc353d6788ce8]
+[key.wy = 68cfce1eb2bfe009990084fb03c0919ab892313d7a12efc3514e8273685b9071892faefca4306adf7854afcebafffbf4]
+[keyDer = 3076301006072a8648ce3d020106052b8104002203620004c85200ac6411423573e3ebc1b7aea95e74add5ce3b41282baa885972acc085c8365c05c539ce47e799afc353d6788ce868cfce1eb2bfe009990084fb03c0919ab892313d7a12efc3514e8273685b9071892faefca4306adf7854afcebafffbf4]
+[sha = SHA-512]
+
+# edge case for u2
+msg = 313233343030
+result = valid
+sig = 306502307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd023100bfd40d0caa4d9d42381f3d72a25683f52b03a1ed96fb72d03f08dcb9a8bc8f23c1a459deab03bcd39396c0d1e9053c81
+
+[key.curve = secp384r1]
+[key.keySize = 384]
+[key.type = ECPublicKey]
+[key.wx = 0e63ae2881ed60884ef1aef52178a297bdfedf67f4e3c1d876ad10b42c03b5e67f7f8cfaf4dfea4def7ab82fde3ed9b91]
+[key.wy = 0e2be22bc3fa46a2ed094ebd7c86a9512c8c40cd542fb539c34347ef2be4e7f1543af960fd2347354a7a1df71a237d51]
+[keyDer = 3076301006072a8648ce3d020106052b8104002203620004e63ae2881ed60884ef1aef52178a297bdfedf67f4e3c1d876ad10b42c03b5e67f7f8cfaf4dfea4def7ab82fde3ed9b910e2be22bc3fa46a2ed094ebd7c86a9512c8c40cd542fb539c34347ef2be4e7f1543af960fd2347354a7a1df71a237d51]
+[sha = SHA-512]
+
+# edge case for u2
+msg = 313233343030
+result = valid
+sig = 306402307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd02304c7d219db9af94ce7fffffffffffffffffffffffffffffffef15cf1058c8d8ba1e634c4122db95ec1facd4bb13ebf09a
+
+[key.curve = secp384r1]
+[key.keySize = 384]
+[key.type = ECPublicKey]
+[key.wx = 0e9c415f8a72055239570c3c370cf9380cdfabb6ebdbd8058e2fc65193080707895ea1566eeb26149603f4b4d4c1e79d4]
+[key.wy = 096ae17a001424d21eae4eaa01067048bcd919625fdd7efd896d980633a0e2ca1f8c9b02c99b69a1e4fa53468a2fe244d]
+[keyDer = 3076301006072a8648ce3d020106052b8104002203620004e9c415f8a72055239570c3c370cf9380cdfabb6ebdbd8058e2fc65193080707895ea1566eeb26149603f4b4d4c1e79d496ae17a001424d21eae4eaa01067048bcd919625fdd7efd896d980633a0e2ca1f8c9b02c99b69a1e4fa53468a2fe244d]
+[sha = SHA-512]
+
+# edge case for u2
+msg = 313233343030
+result = valid
+sig = 306502307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd023100d219db9af94ce7ffffffffffffffffffffffffffffffffffd189bdb6d9ef7be8504ca374756ea5b8f15e44067d209b9b
+
+[key.curve = secp384r1]
+[key.keySize = 384]
+[key.type = ECPublicKey]
+[key.wx = 637223a93dd63af6b348f246e7b3bcb30beaa1dcc888af8e12e5086aa00f7792fbe457463c52422d435f430ad1bb4b21]
+[key.wy = 0f9a1e01758d1e025b162d09d3df8b403226ed3b35e414c41651740d509d8cf6b5e558118607d10669902abebda3ca28d]
+[keyDer = 3076301006072a8648ce3d020106052b8104002203620004637223a93dd63af6b348f246e7b3bcb30beaa1dcc888af8e12e5086aa00f7792fbe457463c52422d435f430ad1bb4b21f9a1e01758d1e025b162d09d3df8b403226ed3b35e414c41651740d509d8cf6b5e558118607d10669902abebda3ca28d]
+[sha = SHA-512]
+
+# edge case for u2
+msg = 313233343030
+result = valid
+sig = 306502307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd023100a433b735f299cfffffffffffffffffffffffffffffffffffdbb02debbfa7c9f1487f3936a22ca3f6f5d06ea22d7c0dc3
+
+[key.curve = secp384r1]
+[key.keySize = 384]
+[key.type = ECPublicKey]
+[key.wx = 7f4dc23982ecc8b84f54241715c7e94e950f596ce033237639a15fefa5eb5c37cb2e562d6d5b3051ea15600e3341a565]
+[key.wy = 0fed2b55b89d2793321374887b78827ee4ca2216eac2993b1b095844db76adc560450135c072ac1a2c4167520237fbc9d]
+[keyDer = 3076301006072a8648ce3d020106052b81040022036200047f4dc23982ecc8b84f54241715c7e94e950f596ce033237639a15fefa5eb5c37cb2e562d6d5b3051ea15600e3341a565fed2b55b89d2793321374887b78827ee4ca2216eac2993b1b095844db76adc560450135c072ac1a2c4167520237fbc9d]
+[sha = SHA-512]
+
+# edge case for u2
+msg = 313233343030
+result = valid
+sig = 306502307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd023100b9af94ce7fffffffffffffffffffffffffffffffffffffffd6efeefc876c9f23217b443c80637ef939e911219f96c179
+
+[key.curve = secp384r1]
+[key.keySize = 384]
+[key.type = ECPublicKey]
+[key.wx = 0a0ae8c949f63f1b6a5d024c99e0a296ecd12d196d3b1625d4a76600082a14d455aab267c68f571d89ad0619cb8e476a1]
+[key.wy = 34634336611e1fd1d728bcea588d0e1b652bbca0e52c1bfbd4387a6337ff41ce13a65c8306915d2a39897b985d909b36]
+[keyDer = 3076301006072a8648ce3d020106052b8104002203620004a0ae8c949f63f1b6a5d024c99e0a296ecd12d196d3b1625d4a76600082a14d455aab267c68f571d89ad0619cb8e476a134634336611e1fd1d728bcea588d0e1b652bbca0e52c1bfbd4387a6337ff41ce13a65c8306915d2a39897b985d909b36]
+[sha = SHA-512]
+
+# edge case for u2
+msg = 313233343030
+result = valid
+sig = 306502307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd023100a276276276276276276276276276276276276276276276273d7228d4f84b769be0fd57b97e4c1ebcae9a5f635e80e9df
+
+[key.curve = secp384r1]
+[key.keySize = 384]
+[key.type = ECPublicKey]
+[key.wx = 7cad1637721f5988cb7967238b1f47fd0b63f30f207a165951fc6fb74ba868e5b462628595edc80f75182e564a89c7a0]
+[key.wy = 0fc04c405938aab3d6828e72e86bc59a400719270f8ee3cb5ef929ab53287bb308b51abd2e3ffbc3d93b87471bc2e3730]
+[keyDer = 3076301006072a8648ce3d020106052b81040022036200047cad1637721f5988cb7967238b1f47fd0b63f30f207a165951fc6fb74ba868e5b462628595edc80f75182e564a89c7a0fc04c405938aab3d6828e72e86bc59a400719270f8ee3cb5ef929ab53287bb308b51abd2e3ffbc3d93b87471bc2e3730]
+[sha = SHA-512]
+
+# edge case for u2
+msg = 313233343030
+result = valid
+sig = 306402307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd023073333333333333333333333333333333333333333333333316e4d9f42d4eca22df403a0c578b86f0a9a93fe89995c7ed
+
+[key.curve = secp384r1]
+[key.keySize = 384]
+[key.type = ECPublicKey]
+[key.wx = 2024ecde0e61262955b0301ae6b0a4fbd7771762feb2de35eed1823d2636c6e001f7bfcdbc4e65b1ea40224090411906]
+[key.wy = 0d55362a570e80a2126f01d919b608440294039be03419d518b13cca6a1595414717f1b4ddb842b2c9d4f543e683b86a0]
+[keyDer = 3076301006072a8648ce3d020106052b81040022036200042024ecde0e61262955b0301ae6b0a4fbd7771762feb2de35eed1823d2636c6e001f7bfcdbc4e65b1ea40224090411906d55362a570e80a2126f01d919b608440294039be03419d518b13cca6a1595414717f1b4ddb842b2c9d4f543e683b86a0]
+[sha = SHA-512]
+
+# edge case for u2
+msg = 313233343030
+result = valid
+sig = 306402307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd02307fffffffffffffffffffffffffffffffffffffffffffffffda4233abf824c93f90115e76db206fa7489d6647332e1ba3
+
+[key.curve = secp384r1]
+[key.keySize = 384]
+[key.type = ECPublicKey]
+[key.wx = 40c5f2608956380c39695c7457ddce0880b5e8fab0a9a3726d0c8535b2ff6ca15814d83ed82c0ab33aba76e05e5c0476]
+[key.wy = 0c9d15a2a0b2041237ff61c26519d1d74b141d7a4499fbdefc414a900937a8faf6ef560550c73cdb7edfe9314c480bb2b]
+[keyDer = 3076301006072a8648ce3d020106052b810400220362000440c5f2608956380c39695c7457ddce0880b5e8fab0a9a3726d0c8535b2ff6ca15814d83ed82c0ab33aba76e05e5c0476c9d15a2a0b2041237ff61c26519d1d74b141d7a4499fbdefc414a900937a8faf6ef560550c73cdb7edfe9314c480bb2b]
+[sha = SHA-512]
+
+# edge case for u2
+msg = 313233343030
+result = valid
+sig = 306402307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd02303fffffffffffffffffffffffffffffffffffffffffffffffe3b1a6c0fa1b96efac0d06d9245853bd76760cb5666294bb
+
+[key.curve = secp384r1]
+[key.keySize = 384]
+[key.type = ECPublicKey]
+[key.wx = 74acdfd2ab763c593bca30d248f2bf26f1843acf9eb89b4dfcb8451d59683812cf3cbe9a264ea435912a8969c53d7cb8]
+[key.wy = 496dcb0a4efed69b87110fda20e68eb6feed2d5101a4955d43759f10b73e8ffc3131e0c12a765b68bd216ed1ec4f5d2f]
+[keyDer = 3076301006072a8648ce3d020106052b810400220362000474acdfd2ab763c593bca30d248f2bf26f1843acf9eb89b4dfcb8451d59683812cf3cbe9a264ea435912a8969c53d7cb8496dcb0a4efed69b87110fda20e68eb6feed2d5101a4955d43759f10b73e8ffc3131e0c12a765b68bd216ed1ec4f5d2f]
+[sha = SHA-512]
+
+# edge case for u2
+msg = 313233343030
+result = valid
+sig = 306502307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd023100dfea06865526cea11c0f9eb9512b41fa9581d0f6cb7db9680336151dce79de818cdf33c879da322740416d1e5ae532fa
+
+[key.curve = secp384r1]
+[key.keySize = 384]
+[key.type = ECPublicKey]
+[key.wx = 0da35d6a82818ae5254cb65fc86ac42a47873ab247a5ca664e9f095e8de9a57fe721860e66cbc6bd499431a48a3991734]
+[key.wy = 0945baab27ca6383737b7dd45023f997aff5e165f0fd7d8e5c0b5f9c5e731588af2fe5bd8976a0b871c132edf21f363af]
+[keyDer = 3076301006072a8648ce3d020106052b8104002203620004da35d6a82818ae5254cb65fc86ac42a47873ab247a5ca664e9f095e8de9a57fe721860e66cbc6bd499431a48a3991734945baab27ca6383737b7dd45023f997aff5e165f0fd7d8e5c0b5f9c5e731588af2fe5bd8976a0b871c132edf21f363af]
+[sha = SHA-512]
+
+# point duplication during verification
+msg = 313233343030
+result = valid
+sig = 3066023100b37699e0d518a4d370dbdaaaea3788850fa03f8186d1f78fdfbae6540aa670b31c8ada0fff3e737bd69520560fe0ce60023100e16043c2face20228dba6366e19ecc6db71b918bbe8a890b9dad2fcead184e071c9ac4acaee2f831a1e4cc337994f5ec
+# Some implementations of ECDSA do not handle duplication and points at infinity
+# correctly. This is a test vector that has been specially crafted to check for
+# such an omission.
+
+[key.curve = secp384r1]
+[key.keySize = 384]
+[key.type = ECPublicKey]
+[key.wx = 0da35d6a82818ae5254cb65fc86ac42a47873ab247a5ca664e9f095e8de9a57fe721860e66cbc6bd499431a48a3991734]
+[key.wy = 6ba4554d8359c7c8c84822bafdc0668500a1e9a0f028271a3f4a063a18cea7740d01a4266895f478e3ecd121de0c9c50]
+[keyDer = 3076301006072a8648ce3d020106052b8104002203620004da35d6a82818ae5254cb65fc86ac42a47873ab247a5ca664e9f095e8de9a57fe721860e66cbc6bd499431a48a39917346ba4554d8359c7c8c84822bafdc0668500a1e9a0f028271a3f4a063a18cea7740d01a4266895f478e3ecd121de0c9c50]
+[sha = SHA-512]
+
+# duplication bug
+msg = 313233343030
+result = invalid
+sig = 3066023100b37699e0d518a4d370dbdaaaea3788850fa03f8186d1f78fdfbae6540aa670b31c8ada0fff3e737bd69520560fe0ce60023100e16043c2face20228dba6366e19ecc6db71b918bbe8a890b9dad2fcead184e071c9ac4acaee2f831a1e4cc337994f5ec
+# Some implementations of ECDSA do not handle duplication and points at infinity
+# correctly. This is a test vector that has been specially crafted to check for
+# such an omission.
+
+[key.curve = secp384r1]
+[key.keySize = 384]
+[key.type = ECPublicKey]
+[key.wx = 0820064193c71c7141fe41e711fe843a7474be6b05f50cb0be411cdf7fc78ea7ec96aeb3991ef7646bbde59152d381a32]
+[key.wy = 631c5adf93d488b45e67cc9890d8e779f63960193dc16bd1cc136b3e28cf499dfa8e7bff482a0115e6083987f7c042fc]
+[keyDer = 3076301006072a8648ce3d020106052b8104002203620004820064193c71c7141fe41e711fe843a7474be6b05f50cb0be411cdf7fc78ea7ec96aeb3991ef7646bbde59152d381a32631c5adf93d488b45e67cc9890d8e779f63960193dc16bd1cc136b3e28cf499dfa8e7bff482a0115e6083987f7c042fc]
+[sha = SHA-512]
+
+# point with x-coordinate 0
+msg = 313233343030
+result = invalid
+sig = 3035020101023055555555555555555555555555555555555555555555555542766f2b5167b9f51d5e0490c2e58d28f9a40878eeec6326
+
+[key.curve = secp384r1]
+[key.keySize = 384]
+[key.type = ECPublicKey]
+[key.wx = 52fabc58eacfd3a4828f51c413205c20888941ee45ecac076ffc23145d83542034aa01253d6ebf34eeefaa371d6cee11]
+[key.wy = 09f340712cd78155712746578f5632ded2b2e5afb43b085f81732792108e331a4b50d27f3578252ffb0daa9d78655a0ab]
+[keyDer = 3076301006072a8648ce3d020106052b810400220362000452fabc58eacfd3a4828f51c413205c20888941ee45ecac076ffc23145d83542034aa01253d6ebf34eeefaa371d6cee119f340712cd78155712746578f5632ded2b2e5afb43b085f81732792108e331a4b50d27f3578252ffb0daa9d78655a0ab]
+[sha = SHA-512]
+
+# point with x-coordinate 0
+msg = 313233343030
+result = invalid
+sig = 3065023101000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000023033333333333333333333333333333333333333333333333327e0a919fda4a2c644d202bd41bcee4bc8fc05155c276eb0
+
+[key.curve = secp384r1]
+[key.keySize = 384]
+[key.type = ECPublicKey]
+[key.wx = 0a8fdb1a022d4e3a7ee29612bb110acbea27daecb827d344cb6c6a7acad61d371ddc7842147b74a18767e618712f04c1c]
+[key.wy = 64ac6daf8e08cd7b90a0c9d9123884c7a7abb4664a75b0897064c3c8956b0ca9c417237f8d5a7dd8421b0d48c9d52c7c]
+[keyDer = 3076301006072a8648ce3d020106052b8104002203620004a8fdb1a022d4e3a7ee29612bb110acbea27daecb827d344cb6c6a7acad61d371ddc7842147b74a18767e618712f04c1c64ac6daf8e08cd7b90a0c9d9123884c7a7abb4664a75b0897064c3c8956b0ca9c417237f8d5a7dd8421b0d48c9d52c7c]
+[sha = SHA-512]
+
+# comparison with point at infinity 
+msg = 313233343030
+result = invalid
+sig = 3064023055555555555555555555555555555555555555555555555542766f2b5167b9f51d5e0490c2e58d28f9a40878eeec6326023033333333333333333333333333333333333333333333333327e0a919fda4a2c644d202bd41bcee4bc8fc05155c276eb0
+
+[key.curve = secp384r1]
+[key.keySize = 384]
+[key.type = ECPublicKey]
+[key.wx = 0878e414a5d6a0e0d1ab3c5563c44e80c3b2ef265f27a33ed5cac109ad664c1269beae9031d8d178cbfdb1bfa7cc3cc79]
+[key.wy = 0fabbb2b6f7ce54026863b0f297a4fe3de82d5044dacafede49d5afc60bc875f4b659c06c19bb74c7c27351687f52b411]
+[keyDer = 3076301006072a8648ce3d020106052b8104002203620004878e414a5d6a0e0d1ab3c5563c44e80c3b2ef265f27a33ed5cac109ad664c1269beae9031d8d178cbfdb1bfa7cc3cc79fabbb2b6f7ce54026863b0f297a4fe3de82d5044dacafede49d5afc60bc875f4b659c06c19bb74c7c27351687f52b411]
+[sha = SHA-512]
+
+# extreme value for k
+msg = 313233343030
+result = valid
+sig = 3064023008d999057ba3d2d969260045c55b97f089025959a6f434d651d207d19fb96e9e4fe0e86ebe0e64f85b96a9c75295df61023055555555555555555555555555555555555555555555555542766f2b5167b9f51d5e0490c2e58d28f9a40878eeec6326
+
+[key.curve = secp384r1]
+[key.keySize = 384]
+[key.type = ECPublicKey]
+[key.wx = 0984a1c04446a52ad6a54d64f2c6c49b61f23abe7dc6f33714896aefb0befb9a52b95b048561132c28c9850e851a6d00e]
+[key.wy = 0b4e19f9de59d30ca26801f2789a3330b081e6bf57f84f3c6107defd05a959cef5f298acea5a6b87b38e22c5409ec9f71]
+[keyDer = 3076301006072a8648ce3d020106052b8104002203620004984a1c04446a52ad6a54d64f2c6c49b61f23abe7dc6f33714896aefb0befb9a52b95b048561132c28c9850e851a6d00eb4e19f9de59d30ca26801f2789a3330b081e6bf57f84f3c6107defd05a959cef5f298acea5a6b87b38e22c5409ec9f71]
+[sha = SHA-512]
+
+# extreme value for k
+msg = 313233343030
+result = valid
+sig = 3065023100aa87ca22be8b05378eb1c71ef320ad746e1d3b628ba79b9859f741e082542a385502f25dbf55296c3a545e3872760ab7023055555555555555555555555555555555555555555555555542766f2b5167b9f51d5e0490c2e58d28f9a40878eeec6326
+
+[key.curve = secp384r1]
+[key.keySize = 384]
+[key.type = ECPublicKey]
+[key.wx = 0aa87ca22be8b05378eb1c71ef320ad746e1d3b628ba79b9859f741e082542a385502f25dbf55296c3a545e3872760ab7]
+[key.wy = 3617de4a96262c6f5d9e98bf9292dc29f8f41dbd289a147ce9da3113b5f0b8c00a60b1ce1d7e819d7a431d7c90ea0e5f]
+[keyDer = 3076301006072a8648ce3d020106052b8104002203620004aa87ca22be8b05378eb1c71ef320ad746e1d3b628ba79b9859f741e082542a385502f25dbf55296c3a545e3872760ab73617de4a96262c6f5d9e98bf9292dc29f8f41dbd289a147ce9da3113b5f0b8c00a60b1ce1d7e819d7a431d7c90ea0e5f]
+[sha = SHA-512]
+
+# testing point duplication
+msg = 313233343030
+result = invalid
+sig = 3064023043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158ca02302492492492492492492492492492492492492492492492491c7be680477598d6c3716fabc13dcec86afd2833d41c2a7e
+
+# testing point duplication
+msg = 313233343030
+result = invalid
+sig = 3065023100bc07ff041506dc73a75086a43252fb43b6327af3c6b2cc7d322ff6d1d1162b5de29edcd0b69803fe2f8af8e3d103d0a902302492492492492492492492492492492492492492492492491c7be680477598d6c3716fabc13dcec86afd2833d41c2a7e
+
+[key.curve = secp384r1]
+[key.keySize = 384]
+[key.type = ECPublicKey]
+[key.wx = 0aa87ca22be8b05378eb1c71ef320ad746e1d3b628ba79b9859f741e082542a385502f25dbf55296c3a545e3872760ab7]
+[key.wy = 0c9e821b569d9d390a26167406d6d23d6070be242d765eb831625ceec4a0f473ef59f4e30e2817e6285bce2846f15f1a0]
+[keyDer = 3076301006072a8648ce3d020106052b8104002203620004aa87ca22be8b05378eb1c71ef320ad746e1d3b628ba79b9859f741e082542a385502f25dbf55296c3a545e3872760ab7c9e821b569d9d390a26167406d6d23d6070be242d765eb831625ceec4a0f473ef59f4e30e2817e6285bce2846f15f1a0]
+[sha = SHA-512]
+
+# testing point duplication
+msg = 313233343030
+result = invalid
+sig = 3064023043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158ca02302492492492492492492492492492492492492492492492491c7be680477598d6c3716fabc13dcec86afd2833d41c2a7e
+
+# testing point duplication
+msg = 313233343030
+result = invalid
+sig = 3065023100bc07ff041506dc73a75086a43252fb43b6327af3c6b2cc7d322ff6d1d1162b5de29edcd0b69803fe2f8af8e3d103d0a902302492492492492492492492492492492492492492492492491c7be680477598d6c3716fabc13dcec86afd2833d41c2a7e
+
+[key.curve = secp384r1]
+[key.keySize = 384]
+[key.type = ECPublicKey]
+[key.wx = 29bdb76d5fa741bfd70233cb3a66cc7d44beb3b0663d92a8136650478bcefb61ef182e155a54345a5e8e5e88f064e5bc]
+[key.wy = 09a525ab7f764dad3dae1468c2b419f3b62b9ba917d5e8c4fb1ec47404a3fc76474b2713081be9db4c00e043ada9fc4a3]
+[keyDer = 3076301006072a8648ce3d020106052b810400220362000429bdb76d5fa741bfd70233cb3a66cc7d44beb3b0663d92a8136650478bcefb61ef182e155a54345a5e8e5e88f064e5bc9a525ab7f764dad3dae1468c2b419f3b62b9ba917d5e8c4fb1ec47404a3fc76474b2713081be9db4c00e043ada9fc4a3]
+[sha = SHA-512]
+
+# pseudorandom signature
+msg = 
+result = valid
+sig = 306402302290c886bbad8f53089583d543a269a727665626d6b94a3796324c62d08988f66f6011e845811a03589e92abe1f17faf023066e2cb4380997f4e7f85022541adb22d24d1196be68a3db888b03eb3d2d40b0d9a3a6a00a1a4782ee0a00e8410ba2d86
+
+# pseudorandom signature
+msg = 
+result = valid
+sig = 3066023100a3f1102e92ebe46d67e47c61e54a109347ddd7dced3721bffab6847607678f1d15bc1cb5b39b43ee52b02d684bf37850023100eeebb277b55c8748c47675f5e1cf85c1634cea8ce043040de5e76b1bd72e8067a7c6bfa6813b21396348dd01ac7ab61c
+
+# pseudorandom signature
+msg = 
+result = valid
+sig = 3065023100f290946361f7b733316210d91fc06c1459893f5dbfcf1e086183e5d7730661ef9b3587a9b690438e92d2278779a4d3fd02307b8bdc03bd4cc0026befb1551c75cd6f6b962a80b96fa5b2bbe135cd7b37580501b931b273b298b2ae0ab1198c920e1a
+
+# pseudorandom signature
+msg = 
+result = valid
+sig = 306502304da0ba312f61a16a1c9878408ba142b9809a25a089d53089e852d13670fe5050898105af571e1c02c32617a7b77e16e0023100ce54b6ba8d60e21ca6e3bbbc305dc946a92b72f167c412088ab77c08273c2cabe1cd4c89d1f508ffd420e1dae2efdaad
+
+# pseudorandom signature
+msg = 
+result = valid
+sig = 306602310087e01c452f47c3a87bf083ed5f8db2fccf89722b56f8cd7a39fc850172f3033ec08c8dcde6015c032084aef34b3638bf023100f3676ef5f43ff23f303fddc5f59bdd0362c3953d48c383f950ef62e88f72e93138c0dbca4b933fa78f94cf3ce5da5cfc
+
+# pseudorandom signature
+msg = 
+result = valid
+sig = 30650230557a8ad54ec9ea3806071f75621ed1c4bc3c9fda897066d7b3c827c1832dfc2520d6598265a89208241b852ce932e2e8023100c6629483a2a00da078aa35177833fdaa9956925dc10eca31d358c5403a0ab003858b7c08f383b44c0c658b1b18d354e9
+
+# pseudorandom signature
+msg = 
+result = valid
+sig = 3065023100db72e945913b3f8b421f2e87893a119e4de350fa899017efa7afa709e3c898972ffa70413d70de6dab9738ffb82a89920230767853ae338f0f0405eaf8a59302200a6bc291edd3a0355c8844c01e7aa59a0b39691d15b94827b07ebb3175584a7d58
+
+# pseudorandom signature
+msg = 
+result = valid
+sig = 30650231008c1b2c1610665be24f03b47527dced5cc82d8991e13b906f22c9847b73c066934e1457afc14465761c61ca3a4cb144ed023046f7127854b68a76efa6ec4cda7929d20bff808e624fcb824d544cdf322ff21df61d737631965360a3a198a457aa33e1
+
+# pseudorandom signature
+msg = 
+result = valid
+sig = 306502303a8ddef86bfbf861d75ecbf8e8a3612decc043252538286b15af1a87fda64142dd1f139af7678ae7f7104e5090724e3f0231009933cd18a87341a94f1dbee88044cd8b72b394693d2503dc7cf9337aa3f6f83662c61b374a27fa45c4b3fbef9aff29fe
+
+# pseudorandom signature
+msg = 
+result = valid
+sig = 306402306a28f6e429413f3f03c20f3c7841b83adade75054c2237a060787646712d09df8b7283eda1c2bfc039d0453639aab5a602306c3837367c65397024a0dc910735132219c1c1ed9e127528c3549efc6f897806416f9c41296175c61cd70d06e90e003e
+
+# pseudorandom signature
+msg = 4d7367
+result = valid
+sig = 30650231008071d8cf9df9efef696ebafc59f74db90c1f1ecf5ccde18858de22fe4d7df2a25cb3001695d706dfd7984b39df65a0f4023027291e6339c2a7fed7a174bb97ffe41d8cfdc20c1260c6ec85d7259f0cc7781bf2ae7a6e6fb4c08e0d75b7381bb7d9b8
+
+# pseudorandom signature
+msg = 4d7367
+result = valid
+sig = 3065023100c89ec4718c55edfdb5ba2ecf4cb12277b49e59f5f3ee3f57b8905f585ce04f79ba0032380ea35922d7ea63f064c93d2002306d212828521c0cae11ae4a8c89a996a3557e10f975b1837f401622c257e3a3cb72b38cc6bb0ee595e5c876a1646441fe
+
+# pseudorandom signature
+msg = 4d7367
+result = valid
+sig = 3065023100d01de802b92ea4ca0baa4c14cfb491ca03f2fe3905b6a8d02fac21d8f0d65fe0743776d1473195f0e2f021361db83a490230791231dc4382dcded690ee9edf8d0ccfc90704dcf1bd211a873b6d6c704e745cabd305a51f9238d0f406998e735895b8
+
+# pseudorandom signature
+msg = 4d7367
+result = valid
+sig = 3065023100b2623abbdc4e5d0cf47b4d629734fd39171cd2e1cfc231ad467f8470e0bc83fcf9e391c68409d3421d7492a7d25d72a90230167750548143e8239b73ce6f7ff2eddb14b8290fc7a92deae483c112d111d04cf4c0ae55ca65f9aa27fb36bc16b64a55
+
+# pseudorandom signature
+msg = 4d7367
+result = valid
+sig = 3065023100ad08aa6dcbcec824cb6c92d6506b1ea7b0228185a446e0cad5961a36272755845a12f8300984f3a9f55004204d17b87b023003dd40f67bfe14a875a453321d84645273420bc16c4ac3e237035740c5712f837afcc5329eeb4adcfa1ef2bcd53c09b9
+
+# pseudorandom signature
+msg = 4d7367
+result = valid
+sig = 3066023100a6f16b617020bcf0f31ded86fcb8001acfe856bb5267baf7cdb862d396b7619432559240e471f80f506b186eabf84bb3023100bd748eea34293676c7cb21a7aea1871aad4e06363d5ed33abebc6c9dd72160c24c0f15d807f3a435fe4c8fcbe63a6f25
+
+# pseudorandom signature
+msg = 4d7367
+result = valid
+sig = 3066023100f72891f7c26020b0487c60d58d0f9663d4e508045268937c23f84b023f991ce92d33fe33dc78083b53a6da02cfb10faf023100f17ea544d497229b54cd49194a6c9d68db6b4db2d0e024daaaf4d19c200d7687cad5e33c893ed59d7627418211dde679
+
+# pseudorandom signature
+msg = 4d7367
+result = valid
+sig = 30640230773332032272abf6efb4f91947af3503433003149807d95a6d318541835aa93cc2e41b6b8735b7a5ed4028ab6b3c4d80023068316b3263a5e34c32c338b9cf329f6b64cebe6e4d73bef9ac4b12013027cf6db87b31ed6128a47525b72a139c10752d
+
+# pseudorandom signature
+msg = 4d7367
+result = valid
+sig = 3066023100fa0c7636f79cd35e1af317354adb4ce9aaddc6b70a89c972ead222b48dfff4a320fc62d90ef737a642b347c752d5e468023100fafaaa2b3f7e92ea0b0f2b89088ec1adcbd3b9c7b97e8893ad9ca07e9ced7fd37b1aabab68114fe42a4abbeaa32d84ae
+
+# pseudorandom signature
+msg = 4d7367
+result = valid
+sig = 3065023017fbfd972e166d5a788d9af84160f6ecfcd86f5287945bc816bfc644f9849bc1608095de69533699fc465f4e4f074fb7023100d0c71ce90c5ffaef356a1d28ebe6b4e047c678c489f219e12e353a94fbd6478d2fd8bc8f363614cb532b7669943aefd8
+
+# pseudorandom signature
+msg = 313233343030
+result = valid
+sig = 30650230470014ccd7a1a5e5333d301c8ea528ac3b07b01944af30cec60f4bad94db108509e45ba381818b5bdfaf9daf0d372301023100e3d49d6a05a755aa871d7cb96fffb79fed7625f83f69498ba07c0d65166a67107c9a17ae6e1028e244377a44096217b2
+
+# pseudorandom signature
+msg = 313233343030
+result = valid
+sig = 3066023100fb766fd8f8d4142b57252b38e958fbcc802031776f5a2ed33a089b150d57f1e5b61820c9db9429b9d4a0d0dac0724779023100ab4dd8ed8989bb38a33a90e898383dc01d5e93f283700890f9c52fb18ef5c82304dfb6b719fcfcf4911ec7c5c2fc8bdb
+
+# pseudorandom signature
+msg = 313233343030
+result = valid
+sig = 30640230455a32ff77b60c69cef3660a8372d82b3ea3f5ae39151c481e8aceb7d0ebed159a6f2981c00e2db7b0961452b400f35c02305774e8505bfcb77f3a3d751c31d7e19b3d172228826d1d7ea177d418c58f792d36e13ebd14202197c2070e0223fd3900
+
+# pseudorandom signature
+msg = 313233343030
+result = valid
+sig = 306502302ff98892d18cc048dbb9e5dafebc222300b3ae8a8364f9d2f98ffd4a336fc1ee8bcb89bfe28d9c3e8abac7d153370d760231009045438e28185061d05fdff63cd314d9fc59891bf616bf5e001d313a560d49714dd7864099a09b8032ea870d31d451b6
+
+# pseudorandom signature
+msg = 313233343030
+result = valid
+sig = 30660231009cafe84002716b7aa1bc76517177e6188f031c066f41cc5e4e4429ef11b855070e91ad94299d7df1e66457336d40774902310094a341146eb31c97759199cada842bf4f9c5e205ef49663939dcce2d40db7f947b91d8e9b0c8398e2f7028cf1e529b8c
+
+# pseudorandom signature
+msg = 313233343030
+result = valid
+sig = 3065023100a1a5d4820fe5226f2f547b238c96eb62c299ad17bb43298fbf39607cbd908256351a41f44a62d0f20eba1001f22f7b5e02307431dc7ead3664a8aea70efb317af12947e7b49e41e660e522295a0a04c1f6a526158ead5644d82ac4cca618bf01becd
+
+# pseudorandom signature
+msg = 313233343030
+result = valid
+sig = 306502302c14d1df832aa0eb10e7ce221735ad7584ac0887531b32402e3c1e57fc863be5bc5a2bb87b86165df64f3a4233e761c5023100bdfc8c3579e2417f49d5628dc8286b32663188e017d936e10d61cd3f6edb97919b109c5567b46f4708106fe671f1d5fb
+
+# pseudorandom signature
+msg = 313233343030
+result = valid
+sig = 3065023009a8643aee4ec1119c836373e167064a53888ef7abe5faeed250c1f9960c6c06bcd42a11f13181d3aab8246767dc5368023100bbb6dd94750e6656babd4e159e27a2fa986bc7e4441771ef87b2280f93056dc5a4a38d1c45b8bc2aa20a4b0c5945b57b
+
+# pseudorandom signature
+msg = 313233343030
+result = valid
+sig = 3066023100841721e96c44524e86c56d84a5aaea1ac439b060aa11d3e2a1961babd4778075f138dfc0189d3ceac0caccf5bbc1943d023100c9b0df9963daa9b2fe5d75edad22a9316af0132bbda41f7b6754425e9378fa12af0111baabcd37b43714171fcadd978b
+
+# pseudorandom signature
+msg = 313233343030
+result = valid
+sig = 306402300a453df160ea5a79926517f16dba255826b87aebabd6fe9f0332100f94ca5cce86f1a528cf4e0010add0eaa7d86b84be023023a1fae44f99681c9b7b2495fb056e206a0e8c4b60a065a576d0bac6f867ef06c402bc8e8584392a3c97accaa0a36cbc
+
+# pseudorandom signature
+msg = 0000000000000000000000000000000000000000
+result = valid
+sig = 30640230377044d343f900175ac6833071be74964cd636417039e10e837da94b6919bffc3f5a517b945a450852af3259f5cbf108023032ea25006375c153581e80c09f53ad585c736f823c70147aba4fb47bb0a224fae4d8819adad80d4c144ecc2380954a9e
+
+# pseudorandom signature
+msg = 0000000000000000000000000000000000000000
+result = valid
+sig = 3065023002881912e33e93b3d6d4daaffbb8bdc421240934f006be89d918ef43a82ea072921f940748c59d1368511355e936c5360231008a77df61061022893e15a793a6a5e332bf4c963b2f8ccd4e1a3193ce196b09afac6740a32118adafffcab61cbc96b5df
+
+# pseudorandom signature
+msg = 0000000000000000000000000000000000000000
+result = valid
+sig = 3065023100d55902bc90b4ba98054c751746a0109edb8c2ca928585c5c847bc4abf65482ecac190541248e905e7ce5ca313341c6d8023063bd0c665fd69f43ad50417b5bfd2c669f10d12b33e119c605978069f45457beaff125e3492ffa3d166fbc6735d996c4
+
+# pseudorandom signature
+msg = 0000000000000000000000000000000000000000
+result = valid
+sig = 3065023100867551b1271ca957a4f71a645ec14be9973633efbb5d23fb7adaa234b47ad618c6dca48301d8791baf9eaa69155a8cb202301623c18f1a4cd4703756418e6d8bc4868de44f170b094700d6b73e5b9b8a461598f8d0c7041e2cef0411b16f0b5485ed
+
+# pseudorandom signature
+msg = 0000000000000000000000000000000000000000
+result = valid
+sig = 3065023100b0f8b43879c5241e40981335abbc66cce82868a2ded3d9dd40a7ed882d59ad8bda1f51f382608380917a92d99e45380602301fc0128240724d16b8cb1cc481f4b5fb972b2f7fc984e488550313443b409151c93171da08222253d0c46bb121f0c418
+
+# pseudorandom signature
+msg = 0000000000000000000000000000000000000000
+result = valid
+sig = 3065023100a04b68197390cacb812b47c28158689f11df11f61029b0cfb4989aa4faa7ee4a15c0837642c24d450ca6ea05a79b914102304a243a2491b8f54e5cdf34ee80b2571956e7df6ea0680443a2da089db84c5bd68e489e108e1064fd291c9fb23603469d
+
+# pseudorandom signature
+msg = 0000000000000000000000000000000000000000
+result = valid
+sig = 3064023047bc5ab70e4fc533f42fb58ab387f7444d2c655093e47fc988b64ba279fa03a93191eae120b7642795c50a9be44216590230347ad7008ba5f47043858e5a6bc04f05cffb91045cc9a29d6b224cd4e1f50bda10449a2d2e054581a00f1f65062223c0
+
+# pseudorandom signature
+msg = 0000000000000000000000000000000000000000
+result = valid
+sig = 3065023008fb1f88f24104bc8d0f3c5ff573d9e714fa87856255503da7a13a2cce87ae4cc383000eb3940374f2b09fcd152e8097023100e86fa46404216031e00a0df4360d49feed084eb7a88a8d1264a4842c802d60bae44b117cba233cc567360c4626913f0b
+
+# pseudorandom signature
+msg = 0000000000000000000000000000000000000000
+result = valid
+sig = 3066023100d4353b7c73abaaefdb11321f374ac8584d9d1fd72836300d8353bf9fe35f269f9225e58630a4182f16c07b00efce32e502310082e4180a271b4571835ebe0299ac13a2053500be7f31747e30318d6dd69e95a59b7f3e1fb457c6929f3e7c84ba6fdd43
+
+# pseudorandom signature
+msg = 0000000000000000000000000000000000000000
+result = valid
+sig = 30650231009d124af0982f176a7f7ac202861a8e3eec892956f0987d8a6c141cf8073b27eeca265bd668ced4280c4a64408cdc38e9023065dd8e11cc71ba60a492fe03b35a8dcec34ff47e99bc3e258e877784ebe0ee77b1d0b67ebc9d2c4b37257fa30bdfaa87
+
+[key.curve = secp384r1]
+[key.keySize = 384]
+[key.type = ECPublicKey]
+[key.wx = 0ffffffffaa63f1a239ac70197c6ebfcea5756dc012123f82c51fa874d66028be00e976a1080606737cc75c40bdfe4aac]
+[key.wy = 0acbd85389088a62a6398384c22b52d492f23f46e4a27a4724ad55551da5c483438095a247cb0c3378f1f52c3425ff9f1]
+[keyDer = 3076301006072a8648ce3d020106052b8104002203620004ffffffffaa63f1a239ac70197c6ebfcea5756dc012123f82c51fa874d66028be00e976a1080606737cc75c40bdfe4aacacbd85389088a62a6398384c22b52d492f23f46e4a27a4724ad55551da5c483438095a247cb0c3378f1f52c3425ff9f1]
+[sha = SHA-512]
+
+# x-coordinate of the public key is large
+msg = 4d657373616765
+result = valid
+sig = 3066023100ccb13c4dc9805a9b4e06ee25ef8c7593eaff7326c432d4b12b923163cf1cbe5fe1cfd3546c1d0761d8874e83ffd2e15d023100db1b0c082ae314b539f05e8a14ad51e5db37f29cacea9b2aab63a04917d58d008cf3f7ba41d5ea280f3b6a67be3ae8f8
+
+# x-coordinate of the public key is large
+msg = 4d657373616765
+result = valid
+sig = 3065023100c79a30e36d2126b348dd9eb2f5db6aa98f79d80214027e51bcf3cabec188a7ebaf25cb7bbe9ec6bfed135e2a3b70e9160230241338ee2ac931adea9a56e7bfe909947128d54d5122a47b00c278e684e10102740d26e89e343290a5b2fa8b401faec6
+
+# x-coordinate of the public key is large
+msg = 4d657373616765
+result = valid
+sig = 306402300df82e4ec2960e3df614f8b49cec9a4ee1054365414241361feec9d9d9b6909d8775f222ec385a14afab46266db390c302300968485e854addba0f8354e677e955e1ef2df973d564c49f65f2562cb2a2b80d75e92f8784042955f7b8765f609ce221
+
+[key.curve = secp384r1]
+[key.keySize = 384]
+[key.type = ECPublicKey]
+[key.wx = 0d1827fc6f6f12f21992c5a409a0653b121d2ef02b2b0ab01a9161ce956280740b1e356b255701b0a6ddc9ec2ca8a9422]
+[key.wy = 0c6ed5d2ced8d8ab7560fa5bb88c738e74541883d8a2b1c0e2ba7e36d030fc4d9bfb8b22f24db897ebac49dd400000000]
+[keyDer = 3076301006072a8648ce3d020106052b8104002203620004d1827fc6f6f12f21992c5a409a0653b121d2ef02b2b0ab01a9161ce956280740b1e356b255701b0a6ddc9ec2ca8a9422c6ed5d2ced8d8ab7560fa5bb88c738e74541883d8a2b1c0e2ba7e36d030fc4d9bfb8b22f24db897ebac49dd400000000]
+[sha = SHA-512]
+
+# y-coordinate of the public key has many trailing 0's
+msg = 4d657373616765
+result = valid
+sig = 306402301fafd83d728422e1485f1e52e5b631548647cc3c76c109c3177a73751d91a19012fa4628b218f2229fc4d55f105fe00102304474f9af7b4b0bb96fdb05ae918f799024e8d5b864e49ccd047cf97e7b9f8763cce015c11cf1f461c9027cb901055101
+
+# y-coordinate of the public key has many trailing 0's
+msg = 4d657373616765
+result = valid
+sig = 3066023100e6025bb957ab197fb4c080d0a5c647e428afb0d7cc235c605ae97545494fd31a9979790bb2da6e1cf186789422b15c970231008ae9872291430d1bb371ef72360dad5afbb6fb001f403d9aaa1445f0326eb1eef775c9dfe1d7ef8bf4e744822108d27e
+
+# y-coordinate of the public key has many trailing 0's
+msg = 4d657373616765
+result = valid
+sig = 3066023100877d5567c18fa568259005a89c2300d1b3825b732fa14964c1477d4b3098afd09384b97d497464adba41e9df8a74d339023100c40f0760717b4b3bae75742b6dc3dcf04cc22a449cfea19d305e0658cb705fda75163e7399e0b3125ca7d1919c13851e
+
+[key.curve = secp384r1]
+[key.keySize = 384]
+[key.type = ECPublicKey]
+[key.wx = 1099bb45100f55f5a85cca3de2b3bd5e250f4f6fad6631a3156c2e52a33d7d615dd279f79f8b4baff7c713ac00000000]
+[key.wy = 0e6c9b736a8929f2ed7be0c753a54cbb48b8469e0411eaf93a4a82459ba0b681bba8f5fb383b4906d4901a3303e2f1557]
+[keyDer = 3076301006072a8648ce3d020106052b81040022036200041099bb45100f55f5a85cca3de2b3bd5e250f4f6fad6631a3156c2e52a33d7d615dd279f79f8b4baff7c713ac00000000e6c9b736a8929f2ed7be0c753a54cbb48b8469e0411eaf93a4a82459ba0b681bba8f5fb383b4906d4901a3303e2f1557]
+[sha = SHA-512]
+
+# x-coordinate of the public key has many trailing 0's
+msg = 4d657373616765
+result = valid
+sig = 3065023100e706b0045a6f54bd175e2437b48767b0204f93d8a4d9d3d00838278137e5b670de4305c5c55e49059b8b5f6e264654c90230405741adff94afd9a88e08d0b1021911fa4cedb2466b1a8fd302a5b5d96566ada63ccb82b6c5e8452fde860c545e0a19
+
+# x-coordinate of the public key has many trailing 0's
+msg = 4d657373616765
+result = valid
+sig = 306502300c57ce2bc579fbd3a759dfbf5e84c3cef2414846a2e300453e1e4c5188f24432b14ca647a733b6ad35c980a880d36145023100f12a119e22d48b82049df611f1c851fb22795056498a873c730fcb9fd8f314728de0298b9b22c348abc6de2aba97e972
+
+# x-coordinate of the public key has many trailing 0's
+msg = 4d657373616765
+result = valid
+sig = 30660231009a8f80697ccf2e0617612027d861a3a3a657fb75cc82810b40dd5072d39ff37eca29008390da356137e2c9babd814198023100a86537a83c3d57da50e4b29b47dcc3717c5a1ed0fff18ade8dcce4220eac63aab60b9bfed5f1bdd241dab655a9bdd75f
+
+[key.curve = secp384r1]
+[key.keySize = 384]
+[key.type = ECPublicKey]
+[key.wx = 2b089edd754169010145f263f334fc167cc19dae8225970ae19cc8cb7ec73593d6a465c370f5478b0e539d69]
+[key.wy = 0d1951d597b56a67345acb25809581f07cd0eb78d9538a3f8a65f300e68a1eb78507df76de650e8f8ee63a5f0c5687c98]
+[keyDer = 3076301006072a8648ce3d020106052b8104002203620004000000002b089edd754169010145f263f334fc167cc19dae8225970ae19cc8cb7ec73593d6a465c370f5478b0e539d69d1951d597b56a67345acb25809581f07cd0eb78d9538a3f8a65f300e68a1eb78507df76de650e8f8ee63a5f0c5687c98]
+[sha = SHA-512]
+
+# x-coordinate of the public key is small
+msg = 4d657373616765
+result = valid
+sig = 306602310093718f6f8542725f62de7039fc193d3fcc81d622230ccc94e9e265390b385af3a3ba50c91a9d6a5b1e07d79af2bd80b2023100d08499f3d298e8afecea122265a36dbf337259020654739783c8ec8ef783d072555b5907285ce83fc8ced9c8398c6269
+
+# x-coordinate of the public key is small
+msg = 4d657373616765
+result = valid
+sig = 3066023100ce26e42c490dec92cf59d6b1ba75c9a1400d6e5c3fd7c47e1eeb1cded30a3a3d18c81cdfdcbad2742a97293369ce21c202310094671085d941fd27d495452a4c8559a1fe24f3225f5b8ef75faf9d3fb01372c586e23b82714359d0e47144ff5d946161
+
+# x-coordinate of the public key is small
+msg = 4d657373616765
+result = valid
+sig = 3066023100ffc4738acf71f04a13104c328c138b331fb7202aef66f583ba543ed490d12993c18f724c81ad0f7ea18dae352e5c6480023100e67d4ccdeb68a9a731f06f77eae00175be076d92529b109a62542692c8749ddfde03bed1c119a5901a4e852f2115578f
+
+[key.curve = secp384r1]
+[key.keySize = 384]
+[key.type = ECPublicKey]
+[key.wx = 0fb01baad5f0b8f79b9cd104d12aab9310146add7d6b4c022d87ae6711178b94d618ca7b3af13854b1c588879e877b336]
+[key.wy = 208b3f5ad3b3937acc9d606cc5ececab4a701f75ed42957ea4d7858d33f5c26c6ae20a9cccda56996700d6b4]
+[keyDer = 3076301006072a8648ce3d020106052b8104002203620004fb01baad5f0b8f79b9cd104d12aab9310146add7d6b4c022d87ae6711178b94d618ca7b3af13854b1c588879e877b33600000000208b3f5ad3b3937acc9d606cc5ececab4a701f75ed42957ea4d7858d33f5c26c6ae20a9cccda56996700d6b4]
+[sha = SHA-512]
+
+# y-coordinate of the public key is small
+msg = 4d657373616765
+result = valid
+sig = 3065023100e6fa8455bc14e730e4ca1eb5faf6c8180f2f231069b93a0bb17d33ad5513d93a36214f5ce82ca6bd785ccbacf7249a4c02303979b4b480f496357c25aa3fc850c67ff1c5a2aabd80b6020d2eac3dd7833cf2387d0be64df54a0e9b59f12c3bebf886
+
+# y-coordinate of the public key is small
+msg = 4d657373616765
+result = valid
+sig = 306502301b49b037783838867fbaa57305b2aa28df1b0ec40f43140067fafdea63f87c02dfb0e6f41b760fbdf51005e90c0c3715023100e7d4eb6ee61611264ea8a668a70287e3d63489273da2b30ad0c221f1893feaea3e878c9a81c6cec865899dbda4fa79ae
+
+# y-coordinate of the public key is small
+msg = 4d657373616765
+result = valid
+sig = 306502310091d9da3d577408189dcaae33d95ed0a0118afd460d5228fa352b6ea671b172eb413816a70621ddaf23c5e2ef79df0c110230053dadbfcd564bddbe44e0ecb4d1e608dbd35d4e83b6634cc72afb87a2d61675ee13960c243f6be70519e167b1d3ceb0
+
+[key.curve = secp384r1]
+[key.keySize = 384]
+[key.type = ECPublicKey]
+[key.wx = 0fb01baad5f0b8f79b9cd104d12aab9310146add7d6b4c022d87ae6711178b94d618ca7b3af13854b1c588879e877b336]
+[key.wy = 0ffffffffdf74c0a52c4c6c8533629f933a131354b58fe08a12bd6a815b287a71cc0a3d92951df5633325a96798ff294b]
+[keyDer = 3076301006072a8648ce3d020106052b8104002203620004fb01baad5f0b8f79b9cd104d12aab9310146add7d6b4c022d87ae6711178b94d618ca7b3af13854b1c588879e877b336ffffffffdf74c0a52c4c6c8533629f933a131354b58fe08a12bd6a815b287a71cc0a3d92951df5633325a96798ff294b]
+[sha = SHA-512]
+
+# y-coordinate of the public key is large
+msg = 4d657373616765
+result = valid
+sig = 3065023100af0ed6ce6419662db80f02a2b632675445c7bf8a34bbacdc81cc5dd306c657ca4c5a3fb1b05f358d8f36fda8ae238806023046b472c0badb17e089c8f9697fd0b4ce71f0f4471b235483d4c8dd3d00aa282cde990253df38ba733b2ad82a601c7508
+
+# y-coordinate of the public key is large
+msg = 4d657373616765
+result = valid
+sig = 3066023100e2aa9468ccaaadad8b9f43a429c97f0c6a7eedcb4d4af72d639df0fe53f610b953408a8e24e8db138551770750680f7a023100d81020846d1c50ee9ae23601dd638cb71b38d37fb555268c2fa1ad8a761fa7b27afcab2fa69224d1f976699914e09de2
+
+# y-coordinate of the public key is large
+msg = 4d657373616765
+result = valid
+sig = 306402306bf6fa7a663802c3382cc5fd02004ec71e5a031e3d9bfc0858fa994e88497a7782308bc265b8237a6bbbdd38658b36fc02303a9d5941a013bf70d99cc3ff255ce85573688dac40344b5db7144b19bf57bb2701e6850a8f819796b67f7d0b6aea7e50
+
diff --git a/third_party/wycheproof/ecdsa_secp521r1_sha512_test.txt b/third_party/wycheproof/ecdsa_secp521r1_sha512_test.txt
new file mode 100644
index 0000000..03abdde
--- /dev/null
+++ b/third_party/wycheproof/ecdsa_secp521r1_sha512_test.txt
@@ -0,0 +1,2318 @@
+# Imported from Wycheproof's ecdsa_secp521r1_sha512_test.json.
+# This file is generated by convert_wycheproof.go. Do not edit by hand.
+#
+# Algorithm: ECDSA
+# Generator version: 0.4
+
+[key.curve = secp521r1]
+[key.keySize = 521]
+[key.type = ECPublicKey]
+[key.wx = 5c6457ec088d532f482093965ae53ccd07e556ed59e2af945cd8c7a95c1c644f8a56a8a8a3cd77392ddd861e8a924dac99c69069093bd52a52fa6c56004a074508]
+[key.wy = 7878d6d42e4b4dd1e9c0696cb3e19f63033c3db4e60d473259b3ebe079aaf0a986ee6177f8217a78c68b813f7e149a4e56fd9562c07fed3d895942d7d101cb83f6]
+[keyDer = 30819b301006072a8648ce3d020106052b810400230381860004005c6457ec088d532f482093965ae53ccd07e556ed59e2af945cd8c7a95c1c644f8a56a8a8a3cd77392ddd861e8a924dac99c69069093bd52a52fa6c56004a074508007878d6d42e4b4dd1e9c0696cb3e19f63033c3db4e60d473259b3ebe079aaf0a986ee6177f8217a78c68b813f7e149a4e56fd9562c07fed3d895942d7d101cb83f6]
+[sha = SHA-512]
+
+# signature malleability
+msg = 313233343030
+result = valid
+sig = 30818702414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024201d74a2f6d95be8d4cb64f02d16d6b785a1246b4ebd206dc596818bb953253245f5a27a24a1aae1e218fdccd8cd7d4990b666d4bf4902b84fdad123f941fe906d948
+
+# random signature
+msg = 313233343030
+result = valid
+sig = 30818802420081d7b378e361fe518b0afc37ffb88f0dcc62be9a9e03d23412efb8c799b803a96ccb37886a57c4f61b228ae2609cb6f14033494846f79aeb2c4fc70c9c020bc1530242010b2471c2a7ebbc5e48f03d2dbbbf89c847a44dedc7ffcddd073f1f814cb0fd1418bd524ba1ec74abef8e4a27f19eab93db20d4553a603f04a0c3719430d80e1197
+
+# random signature
+msg = 313233343030
+result = valid
+sig = 308188024200e819b543589aa13fddef2531dd1c67caa775493b2d307e8130a765f7772d5056d3a5eb6bb37979d9606c1b36862e8397d38d7aae666c558705ce13667cc832d4af02420162398631365bde51182b0b8869b2d924defff46abcbb5fd07dd90240644f623c15f5ed7ad32f6f9a2b81db7f9eb4e8b25ca53e30f1ffc21cdfed6c437b8b03fcbb
+
+# random signature
+msg = 313233343030
+result = valid
+sig = 308188024201ac089cee6fceeb3c00cf74492744b63121d94e7a3d480e59627d64afba97b8745b724ec54f9bf1d4601acdca547404771d06213e3357ebdb729bcfd70cd069fc2d024201ce834aedf2bda5e7fc97aad2df904b9f4ed7a6c26aed152e46de2eda517704fe8d2955a9c1a5790e2f86a4b3c09ac61aff8bc8dfe000cd0e016891806065e51f4a
+
+# random signature
+msg = 313233343030
+result = valid
+sig = 308186024156b7aa356f1584b4c209aa24eadb3de60775e1273bee4f0e9d247ceae97e3d6f701798e883be932cd60d95fb0e659a7f3e2a8291b757f851a0a284b28932f6cf28024127aa41b0bf9ed8202f46f7eb312574601028831cef64d9e1dc7a4e553e8d3c0d5a837baaccfe065bff0bc4e8d389fc1335edaeecc7862bec41af6ed5bb4bc8a19f
+
+# random signature
+msg = 313233343030
+result = valid
+sig = 308188024200bb73df934eef063702468f828c2338cbdc4f9cb71b07334f68f44f9189322cfe0a1c499545bab1195e4b6f9368a848cbead4c77fee1aa4edd0b617a51dd075a604024201171cf378b95cd4032e42c789a315b51632be03620dae45d58f024b9f3cb90b2bdb15b3ebddb89f2f811d06482962adab8d31b2894296846e28f520efe63d725f7c
+
+# valid
+msg = 313233343030
+result = valid
+sig = 30818602414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1
+
+# length contains leading 0
+msg = 313233343030
+result = invalid
+sig = 3082008602414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1
+
+# length contains leading 0
+msg = 313233343030
+result = invalid
+sig = 308188028200414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1
+
+# length contains leading 0
+msg = 313233343030
+result = invalid
+sig = 30818802414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf86450282004128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1
+
+# wrong length
+msg = 313233343030
+result = invalid
+sig = 308702414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1
+
+# wrong length
+msg = 313233343030
+result = invalid
+sig = 308502414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1
+
+# wrong length
+msg = 313233343030
+result = invalid
+sig = 30818602424e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1
+
+# wrong length
+msg = 313233343030
+result = invalid
+sig = 30818602404e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1
+
+# wrong length
+msg = 313233343030
+result = invalid
+sig = 30818602414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024228b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1
+
+# wrong length
+msg = 313233343030
+result = invalid
+sig = 30818602414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024028b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1
+
+# uint32 overflow in length
+msg = 313233343030
+result = invalid
+sig = 3085010000008602414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1
+
+# uint32 overflow in length
+msg = 313233343030
+result = invalid
+sig = 30818b028501000000414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1
+
+# uint32 overflow in length
+msg = 313233343030
+result = invalid
+sig = 30818b02414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf86450285010000004128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1
+
+# uint64 overflow in length
+msg = 313233343030
+result = invalid
+sig = 308901000000000000008602414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1
+
+# uint64 overflow in length
+msg = 313233343030
+result = invalid
+sig = 30818f02890100000000000000414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1
+
+# uint64 overflow in length
+msg = 313233343030
+result = invalid
+sig = 30818f02414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645028901000000000000004128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1
+
+# length = 2**31 - 1
+msg = 313233343030
+result = invalid
+sig = 30847fffffff02414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1
+
+# length = 2**31 - 1
+msg = 313233343030
+result = invalid
+sig = 30818a02847fffffff4e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1
+
+# length = 2**31 - 1
+msg = 313233343030
+result = invalid
+sig = 30818a02414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf864502847fffffff28b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1
+
+# length = 2**32 - 1
+msg = 313233343030
+result = invalid
+sig = 3084ffffffff02414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1
+
+# length = 2**32 - 1
+msg = 313233343030
+result = invalid
+sig = 30818a0284ffffffff4e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1
+
+# length = 2**32 - 1
+msg = 313233343030
+result = invalid
+sig = 30818a02414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf86450284ffffffff28b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1
+
+# length = 2**40 - 1
+msg = 313233343030
+result = invalid
+sig = 3085ffffffffff02414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1
+
+# length = 2**40 - 1
+msg = 313233343030
+result = invalid
+sig = 30818b0285ffffffffff4e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1
+
+# length = 2**40 - 1
+msg = 313233343030
+result = invalid
+sig = 30818b02414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf86450285ffffffffff28b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1
+
+# length = 2**64 - 1
+msg = 313233343030
+result = invalid
+sig = 3088ffffffffffffffff02414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1
+
+# length = 2**64 - 1
+msg = 313233343030
+result = invalid
+sig = 30818e0288ffffffffffffffff4e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1
+
+# length = 2**64 - 1
+msg = 313233343030
+result = invalid
+sig = 30818e02414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf86450288ffffffffffffffff28b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1
+
+# incorrect length
+msg = 313233343030
+result = invalid
+sig = 30ff02414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1
+
+# incorrect length
+msg = 313233343030
+result = invalid
+sig = 30818602ff4e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1
+
+# incorrect length
+msg = 313233343030
+result = invalid
+sig = 30818602414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf864502ff28b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1
+
+# indefinite length without termination
+msg = 313233343030
+result = invalid
+sig = 308002414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1
+
+# indefinite length without termination
+msg = 313233343030
+result = invalid
+sig = 30818602804e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1
+
+# indefinite length without termination
+msg = 313233343030
+result = invalid
+sig = 30818602414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645028028b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1
+
+# removing sequence
+msg = 313233343030
+result = invalid
+sig = 
+
+# appending 0's to sequence
+msg = 313233343030
+result = invalid
+sig = 30818802414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac10000
+
+# prepending 0's to sequence
+msg = 313233343030
+result = invalid
+sig = 308188000002414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1
+
+# appending unused 0's
+msg = 313233343030
+result = invalid
+sig = 30818602414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac10000
+
+# appending unused 0's
+msg = 313233343030
+result = invalid
+sig = 30818802414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf86450000024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1
+
+# appending null value
+msg = 313233343030
+result = invalid
+sig = 30818802414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac10500
+
+# appending null value
+msg = 313233343030
+result = invalid
+sig = 30818802434e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf86450500024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1
+
+# appending null value
+msg = 313233343030
+result = invalid
+sig = 30818802414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024328b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac10500
+
+# including garbage
+msg = 313233343030
+result = invalid
+sig = 30818c49817730818602414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1
+
+# including garbage
+msg = 313233343030
+result = invalid
+sig = 30818b250030818602414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1
+
+# including garbage
+msg = 313233343030
+result = invalid
+sig = 30818930818602414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac10004deadbeef
+
+# including garbage
+msg = 313233343030
+result = invalid
+sig = 30818b224649817702414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1
+
+# including garbage
+msg = 313233343030
+result = invalid
+sig = 30818a2245250002414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1
+
+# including garbage
+msg = 313233343030
+result = invalid
+sig = 30818e224302414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf86450004deadbeef024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1
+
+# including garbage
+msg = 313233343030
+result = invalid
+sig = 30818b02414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf86452246498177024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1
+
+# including garbage
+msg = 313233343030
+result = invalid
+sig = 30818a02414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf864522452500024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1
+
+# including garbage
+msg = 313233343030
+result = invalid
+sig = 30818e02414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf86452243024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac10004deadbeef
+
+# including undefined tags
+msg = 313233343030
+result = invalid
+sig = 30818faa00bb00cd0030818602414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1
+
+# including undefined tags
+msg = 313233343030
+result = invalid
+sig = 30818daa02aabb30818602414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1
+
+# including undefined tags
+msg = 313233343030
+result = invalid
+sig = 30818e2249aa00bb00cd0002414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1
+
+# including undefined tags
+msg = 313233343030
+result = invalid
+sig = 30818c2247aa02aabb02414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1
+
+# including undefined tags
+msg = 313233343030
+result = invalid
+sig = 30818e02414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf86452249aa00bb00cd00024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1
+
+# including undefined tags
+msg = 313233343030
+result = invalid
+sig = 30818c02414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf86452247aa02aabb024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1
+
+# using composition with indefinite length
+msg = 313233343030
+result = invalid
+sig = 308030818602414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac10000
+
+# using composition with indefinite length
+msg = 313233343030
+result = invalid
+sig = 30818a228002414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf86450000024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1
+
+# using composition with indefinite length
+msg = 313233343030
+result = invalid
+sig = 30818a02414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf86452280024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac10000
+
+# using composition with wrong tag
+msg = 313233343030
+result = invalid
+sig = 308031818602414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac10000
+
+# using composition with wrong tag
+msg = 313233343030
+result = invalid
+sig = 30818a228003414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf86450000024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1
+
+# using composition with wrong tag
+msg = 313233343030
+result = invalid
+sig = 30818a02414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf86452280034128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac10000
+
+# Replacing sequence with NULL
+msg = 313233343030
+result = invalid
+sig = 0500
+
+# changing tag value
+msg = 313233343030
+result = invalid
+sig = 2e818602414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1
+
+# changing tag value
+msg = 313233343030
+result = invalid
+sig = 2f818602414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1
+
+# changing tag value
+msg = 313233343030
+result = invalid
+sig = 31818602414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1
+
+# changing tag value
+msg = 313233343030
+result = invalid
+sig = 32818602414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1
+
+# changing tag value
+msg = 313233343030
+result = invalid
+sig = ff818602414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1
+
+# changing tag value
+msg = 313233343030
+result = invalid
+sig = 30818600414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1
+
+# changing tag value
+msg = 313233343030
+result = invalid
+sig = 30818601414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1
+
+# changing tag value
+msg = 313233343030
+result = invalid
+sig = 30818603414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1
+
+# changing tag value
+msg = 313233343030
+result = invalid
+sig = 30818604414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1
+
+# changing tag value
+msg = 313233343030
+result = invalid
+sig = 308186ff414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1
+
+# changing tag value
+msg = 313233343030
+result = invalid
+sig = 30818602414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645004128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1
+
+# changing tag value
+msg = 313233343030
+result = invalid
+sig = 30818602414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645014128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1
+
+# changing tag value
+msg = 313233343030
+result = invalid
+sig = 30818602414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645034128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1
+
+# changing tag value
+msg = 313233343030
+result = invalid
+sig = 30818602414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645044128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1
+
+# changing tag value
+msg = 313233343030
+result = invalid
+sig = 30818602414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645ff4128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1
+
+# dropping value of sequence
+msg = 313233343030
+result = invalid
+sig = 3000
+
+# using composition
+msg = 313233343030
+result = invalid
+sig = 30818b300102308185414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1
+
+# using composition
+msg = 313233343030
+result = invalid
+sig = 30818a224502014e02404223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1
+
+# using composition
+msg = 313233343030
+result = invalid
+sig = 30818a02414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf864522450201280240b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1
+
+# truncate sequence
+msg = 313233343030
+result = invalid
+sig = 30818502414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318a
+
+# truncate sequence
+msg = 313233343030
+result = invalid
+sig = 308185414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1
+
+# indefinite length
+msg = 313233343030
+result = invalid
+sig = 308002414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac10000
+
+# indefinite length with truncated delimiter
+msg = 313233343030
+result = invalid
+sig = 308002414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac100
+
+# indefinite length with additional element
+msg = 313233343030
+result = invalid
+sig = 308002414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac105000000
+
+# indefinite length with truncated element
+msg = 313233343030
+result = invalid
+sig = 308002414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1060811220000
+
+# indefinite length with garbage
+msg = 313233343030
+result = invalid
+sig = 308002414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac10000fe02beef
+
+# indefinite length with nonempty EOC
+msg = 313233343030
+result = invalid
+sig = 308002414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac10002beef
+
+# prepend empty sequence
+msg = 313233343030
+result = invalid
+sig = 308188300002414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1
+
+# append empty sequence
+msg = 313233343030
+result = invalid
+sig = 30818802414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac13000
+
+# sequence of sequence
+msg = 313233343030
+result = invalid
+sig = 30818930818602414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1
+
+# truncated sequence
+msg = 313233343030
+result = invalid
+sig = 304302414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645
+
+# repeat element in sequence
+msg = 313233343030
+result = invalid
+sig = 3081c902414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1
+
+# long form encoding of length
+msg = 313233343030
+result = invalid
+sig = 3081870281414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1
+
+# long form encoding of length
+msg = 313233343030
+result = invalid
+sig = 30818702414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf864502814128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1
+
+# removing integer
+msg = 313233343030
+result = invalid
+sig = 3043024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1
+
+# appending 0's to integer
+msg = 313233343030
+result = invalid
+sig = 30818802434e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf86450000024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1
+
+# appending 0's to integer
+msg = 313233343030
+result = invalid
+sig = 30818802414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024328b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac10000
+
+# prepending 0's to integer
+msg = 313233343030
+result = invalid
+sig = 308188024300004e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1
+
+# prepending 0's to integer
+msg = 313233343030
+result = invalid
+sig = 30818802414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf86450243000028b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1
+
+# Replacing integer with NULL
+msg = 313233343030
+result = invalid
+sig = 30450500024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1
+
+# Replacing integer with NULL
+msg = 313233343030
+result = invalid
+sig = 304502414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf86450500
+
+# dropping value of integer
+msg = 313233343030
+result = invalid
+sig = 30450200024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1
+
+# dropping value of integer
+msg = 313233343030
+result = invalid
+sig = 304502414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf86450200
+
+# modify first byte of integer
+msg = 313233343030
+result = invalid
+sig = 30818602414c4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1
+
+# modify first byte of integer
+msg = 313233343030
+result = invalid
+sig = 30818602414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf864502412ab5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1
+
+# modify last byte of integer
+msg = 313233343030
+result = invalid
+sig = 30818602414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf86c5024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1
+
+# modify last byte of integer
+msg = 313233343030
+result = invalid
+sig = 30818602414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318a41
+
+# truncate integer
+msg = 313233343030
+result = invalid
+sig = 30818502404e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf86024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1
+
+# truncate integer
+msg = 313233343030
+result = invalid
+sig = 30818502404223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1
+
+# truncate integer
+msg = 313233343030
+result = invalid
+sig = 30818502414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024028b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318a
+
+# truncate integer
+msg = 313233343030
+result = invalid
+sig = 30818502414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf86450240b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1
+
+# leading ff in integer
+msg = 313233343030
+result = invalid
+sig = 3081870242ff4e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1
+
+# leading ff in integer
+msg = 313233343030
+result = invalid
+sig = 30818702414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf86450242ff28b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1
+
+# infinity
+msg = 313233343030
+result = invalid
+sig = 3046090180024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1
+
+# infinity
+msg = 313233343030
+result = invalid
+sig = 304602414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645090180
+
+# Modified r or s, e.g. by adding or subtracting the order of the group
+msg = 313233343030
+result = invalid
+sig = 3081870242024e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbe97b3367122fa4a20584c271233f3ec3b7f7b31b0faa4d340b92a6b0d5cd17ea4e024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1
+
+# Modified r or s, e.g. by adding or subtracting the order of the group
+msg = 313233343030
+result = invalid
+sig = 3081870242fe4e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbf4d826580ab145752e852a6e91512b78178047879e9714a4ae1bc74298aaa7223c024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1
+
+# Modified r or s, e.g. by adding or subtracting the order of the group
+msg = 313233343030
+result = invalid
+sig = 3081860241b1bddc11bc17347621c4ecc6003d861a7d07d3854f08e4421bc241c8b538a00410d65320718f8af465fb099025b7cae2184402aea8df4f13a328c90648c42079bb024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1
+
+# Modified r or s, e.g. by adding or subtracting the order of the group
+msg = 313233343030
+result = invalid
+sig = 308187024201b1bddc11bc17347621c4ecc6003d861a7d07d3854f08e4421bc241c8b538a0040b27d9a7f54eba8ad17ad5916eaed487e87fb8786168eb5b51e438bd675558ddc4024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1
+
+# Modified r or s, e.g. by adding or subtracting the order of the group
+msg = 313233343030
+result = invalid
+sig = 3081870242fdb1bddc11bc17347621c4ecc6003d861a7d07d3854f08e4421bc241c8b538a0041684cc98edd05b5dfa7b3d8edcc0c13c48084ce4f055b2cbf46d594f2a32e815b2024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1
+
+# Modified r or s, e.g. by adding or subtracting the order of the group
+msg = 313233343030
+result = invalid
+sig = 3081870242024e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1
+
+# Modified r or s, e.g. by adding or subtracting the order of the group
+msg = 313233343030
+result = invalid
+sig = 3081870242fe4e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1
+
+# Modified r or s, e.g. by adding or subtracting the order of the group
+msg = 313233343030
+result = invalid
+sig = 308187024201b1bddc11bc17347621c4ecc6003d861a7d07d3854f08e4421bc241c8b538a00410d65320718f8af465fb099025b7cae2184402aea8df4f13a328c90648c42079bb024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1
+
+# Modified r or s, e.g. by adding or subtracting the order of the group
+msg = 313233343030
+result = invalid
+sig = 30818702414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf864502420228b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba09a7b6ac4ecd0410b4722ca75ba197a403a0a1f9ee0e7b391b0649fda1d3969eeca
+
+# Modified r or s, e.g. by adding or subtracting the order of the group
+msg = 313233343030
+result = invalid
+sig = 30818702414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf86450242fe28b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a5d85db5e551e1de70233273282b66f49992b40b6fd47b0252edc06be016f926b8
+
+# Modified r or s, e.g. by adding or subtracting the order of the group
+msg = 313233343030
+result = invalid
+sig = 30818602414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf86450241d74a2f6d95be8d4cb64f02d16d6b785a1246b4ebd206dc596818bb953253245f5fd61bc296eeee8b245d018b8edd8f659631962ad7a1e8b5fe56cfdd0157ce753f
+
+# Modified r or s, e.g. by adding or subtracting the order of the group
+msg = 313233343030
+result = invalid
+sig = 30818702414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf86450242fdd74a2f6d95be8d4cb64f02d16d6b785a1246b4ebd206dc596818bb953253245f6584953b132fbef4b8dd358a45e685bfc5f5e0611f184c6e4f9b6025e2c6961136
+
+# Modified r or s, e.g. by adding or subtracting the order of the group
+msg = 313233343030
+result = invalid
+sig = 30818702414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf864502420228b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1
+
+# Modified r or s, e.g. by adding or subtracting the order of the group
+msg = 313233343030
+result = invalid
+sig = 30818702414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf86450242fe28b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1
+
+# Modified r or s, e.g. by adding or subtracting the order of the group
+msg = 313233343030
+result = invalid
+sig = 30818702414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024201d74a2f6d95be8d4cb64f02d16d6b785a1246b4ebd206dc596818bb953253245f5fd61bc296eeee8b245d018b8edd8f659631962ad7a1e8b5fe56cfdd0157ce753f
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 3006020100020100
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 3006020100020101
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 30060201000201ff
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 3047020100024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e91386409
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 3047020100024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e91386408
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 3047020100024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e9138640a
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 3047020100024201ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 30470201000242020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 3008020100090380fe01
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 3006020101020100
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 3006020101020101
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 30060201010201ff
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 3047020101024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e91386409
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 3047020101024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e91386408
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 3047020101024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e9138640a
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 3047020101024201ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 30470201010242020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 3008020101090380fe01
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 30060201ff020100
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 30060201ff020101
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 30060201ff0201ff
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 30470201ff024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e91386409
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 30470201ff024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e91386408
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 30470201ff024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e9138640a
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 30470201ff024201ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 30470201ff0242020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 30080201ff090380fe01
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 3047024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e91386409020100
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 3047024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e91386409020101
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 3047024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e913864090201ff
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 308188024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e91386409024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e91386409
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 308188024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e91386409024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e91386408
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 308188024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e91386409024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e9138640a
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 308188024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e91386409024201ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 308188024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e913864090242020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 3049024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e91386409090380fe01
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 3047024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e91386408020100
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 3047024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e91386408020101
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 3047024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e913864080201ff
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 308188024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e91386408024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e91386409
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 308188024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e91386408024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e91386408
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 308188024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e91386408024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e9138640a
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 308188024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e91386408024201ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 308188024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e913864080242020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 3049024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e91386408090380fe01
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 3047024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e9138640a020100
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 3047024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e9138640a020101
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 3047024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e9138640a0201ff
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 308188024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e9138640a024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e91386409
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 308188024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e9138640a024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e91386408
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 308188024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e9138640a024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e9138640a
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 308188024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e9138640a024201ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 308188024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e9138640a0242020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 3049024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e9138640a090380fe01
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 3047024201ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff020100
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 3047024201ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff020101
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 3047024201ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0201ff
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 308188024201ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e91386409
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 308188024201ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e91386408
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 308188024201ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e9138640a
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 308188024201ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff024201ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 308188024201ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0242020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 3049024201ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff090380fe01
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 30470242020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020100
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 30470242020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020101
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 304702420200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000201ff
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 3081880242020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e91386409
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 3081880242020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e91386408
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 3081880242020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e9138640a
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 3081880242020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000024201ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 30818802420200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000242020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Signature with special case values for r and s
+msg = 313233343030
+result = invalid
+sig = 30490242020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000090380fe01
+# Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
+# implementation does not check boundaries and computes s^(-1)==0.
+
+# Edge case for Shamir multiplication
+msg = 39353032
+result = valid
+sig = 308187024200b4b10646a668c385e1c4da613eb6592c0976fc4df843fc446f20673be5ac18c7d8608a943f019d96216254b09de5f20f3159402ced88ef805a4154f780e093e044024165cd4e7f2d8b752c35a62fc11a4ab745a91ca80698a226b41f156fb764b79f4d76548140eb94d2c477c0a9be3e1d4d1acbf9cf449701c10bd47c2e3698b3287934
+
+[key.curve = secp521r1]
+[key.keySize = 521]
+[key.type = ECPublicKey]
+[key.wx = 491cd6c5f93b7414d6d45cfe3d264bd077fc4427a4b0afede76cac537a7ca5ee2c44564258260f7691b81fdfecebfd03ba672277875c5b311ea920e74fb3978af5]
+[key.wy = 144a353a251b4297894161bae12d16a89c33b719f904cfccc277df78cea5379198642fd549df919904dc0cf3662eeab01ef11b8e3cb49b51b853d98f042600c0997]
+[keyDer = 30819b301006072a8648ce3d020106052b81040023038186000400491cd6c5f93b7414d6d45cfe3d264bd077fc4427a4b0afede76cac537a7ca5ee2c44564258260f7691b81fdfecebfd03ba672277875c5b311ea920e74fb3978af50144a353a251b4297894161bae12d16a89c33b719f904cfccc277df78cea5379198642fd549df919904dc0cf3662eeab01ef11b8e3cb49b51b853d98f042600c0997]
+[sha = SHA-512]
+
+# k*G has a large x-coordinate
+msg = 313233343030
+result = valid
+sig = 3067022105ae79787c40d069948033feb708f65a2fc44a36477663b851449048e16ec79bf5024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e91386406
+
+# r too large
+msg = 313233343030
+result = invalid
+sig = 308188024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e91386406
+
+[key.curve = secp521r1]
+[key.keySize = 521]
+[key.type = ECPublicKey]
+[key.wx = 15f281dcdc976641ce024dca1eac8ddd7f949e3290d3b2de11c4873f3676a06ff9f704c24813bd8d63528b2e813f78b869ff38112527e79b383a3bd527badb929ff]
+[key.wy = 1502e4cc7032d3ec35b0f8d05409438a86966d623f7a2f432bf712f76dc6345405dfcfcdc36d477831d38eec64ede7f4d39aa91bffcc56ec4241cb06735b2809fbe]
+[keyDer = 30819b301006072a8648ce3d020106052b810400230381860004015f281dcdc976641ce024dca1eac8ddd7f949e3290d3b2de11c4873f3676a06ff9f704c24813bd8d63528b2e813f78b869ff38112527e79b383a3bd527badb929ff01502e4cc7032d3ec35b0f8d05409438a86966d623f7a2f432bf712f76dc6345405dfcfcdc36d477831d38eec64ede7f4d39aa91bffcc56ec4241cb06735b2809fbe]
+[sha = SHA-512]
+
+# r,s are large
+msg = 313233343030
+result = valid
+sig = 308188024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e91386407024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e91386406
+
+[key.curve = secp521r1]
+[key.keySize = 521]
+[key.type = ECPublicKey]
+[key.wx = 336d5d08fe75c50946e6dddd36c550bb054d9925c8f254cfe1c3388f720b1d6500a90412b020b3db592b92ab9f68f1c693b8d1365371635e21bc43eaadf89e4e74]
+[key.wy = 1d48d60319dfd06f935fc46488c229b611eecd038804ae9f681a078dde8ed8f8e20ad9504bcf3c24a0b566b1e85b2d3ed0a1273292ff5f87bae5b3c87857e67ed81]
+[keyDer = 30819b301006072a8648ce3d020106052b81040023038186000400336d5d08fe75c50946e6dddd36c550bb054d9925c8f254cfe1c3388f720b1d6500a90412b020b3db592b92ab9f68f1c693b8d1365371635e21bc43eaadf89e4e7401d48d60319dfd06f935fc46488c229b611eecd038804ae9f681a078dde8ed8f8e20ad9504bcf3c24a0b566b1e85b2d3ed0a1273292ff5f87bae5b3c87857e67ed81]
+[sha = SHA-512]
+
+# r and s^-1 have a large Hamming weight
+msg = 313233343030
+result = valid
+sig = 308188024200fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe02420095e19fd2b755d603bf994562d9a11f63cf4eadecbdc0ecb5a394e54529e8da58a527bc6d85725043786362ab4de6cbc7d80e625ae0a98861aea1c7bf7109c91f66
+
+[key.curve = secp521r1]
+[key.keySize = 521]
+[key.type = ECPublicKey]
+[key.wx = 6f8fadedbae63701072c287c633f9c0052ea1e6cd00a84342cc0f626210071576abfd0875664b0746cdaf2745effc18d94905b0fc9d2cad4ba375c0ea2298c8d1c]
+[key.wy = 150d128cb62a527ae6df3e92f1f280ea33248711ffe4b35c1b162a9508576860165e0ddc361d96fafcd2ff82776c743b9cd6845db61eb56739f5c4ef561e6c20d8c]
+[keyDer = 30819b301006072a8648ce3d020106052b810400230381860004006f8fadedbae63701072c287c633f9c0052ea1e6cd00a84342cc0f626210071576abfd0875664b0746cdaf2745effc18d94905b0fc9d2cad4ba375c0ea2298c8d1c0150d128cb62a527ae6df3e92f1f280ea33248711ffe4b35c1b162a9508576860165e0ddc361d96fafcd2ff82776c743b9cd6845db61eb56739f5c4ef561e6c20d8c]
+[sha = SHA-512]
+
+# r and s^-1 have a large Hamming weight
+msg = 313233343030
+result = valid
+sig = 308187024200fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe024115837645583a37a7a665f983c5e347f65dca47647aa80fd2498a791d44d9b2850a151a6e86fce7d7bb814e724ff11b9ef726bf36c6e7548c37f82a24902876ee19
+
+[key.curve = secp521r1]
+[key.keySize = 521]
+[key.type = ECPublicKey]
+[key.wx = 5e7eb6c4f481830abaad8a60ddb09891164ee418ea4cd2995062e227d33c229fb737bf330703097d6b3b69a3f09e79c9de0b402bf846dd26b5bb1191cff801355d]
+[key.wy = 1789c9afda567e61de414437b0e93a17611e6e76853762bc0aff1e2bc9e46ce1285b931651d7129b85aef2c1fab1728e7eb4449b2956dec33e6cd7c9ba125c5cd9d]
+[keyDer = 30819b301006072a8648ce3d020106052b810400230381860004005e7eb6c4f481830abaad8a60ddb09891164ee418ea4cd2995062e227d33c229fb737bf330703097d6b3b69a3f09e79c9de0b402bf846dd26b5bb1191cff801355d01789c9afda567e61de414437b0e93a17611e6e76853762bc0aff1e2bc9e46ce1285b931651d7129b85aef2c1fab1728e7eb4449b2956dec33e6cd7c9ba125c5cd9d]
+[sha = SHA-512]
+
+# small r and s
+msg = 313233343030
+result = valid
+sig = 3006020101020101
+
+[key.curve = secp521r1]
+[key.keySize = 521]
+[key.type = ECPublicKey]
+[key.wx = 0b420fb1fecdd9cc5ea7d7c7617e70538db32e6d7a0ad722c63580f1f6a1f5537eb50930b90fd6fdd9abd40015f746d2fd8adf945a75621407edb6863588e41979e]
+[key.wy = 295108a7e9d2191a287fd160bd24f498055dc9badbd61c6a89fede27b4f9d479d86a20b6dc07c90f008ebe68a0e0cc15a4a03b8cf990e4ff7ed6e3892b21c52153]
+[keyDer = 30819b301006072a8648ce3d020106052b81040023038186000400b420fb1fecdd9cc5ea7d7c7617e70538db32e6d7a0ad722c63580f1f6a1f5537eb50930b90fd6fdd9abd40015f746d2fd8adf945a75621407edb6863588e41979e00295108a7e9d2191a287fd160bd24f498055dc9badbd61c6a89fede27b4f9d479d86a20b6dc07c90f008ebe68a0e0cc15a4a03b8cf990e4ff7ed6e3892b21c52153]
+[sha = SHA-512]
+
+# small r and s
+msg = 313233343030
+result = valid
+sig = 3006020101020102
+
+[key.curve = secp521r1]
+[key.keySize = 521]
+[key.type = ECPublicKey]
+[key.wx = 32b9a17c201aec34d29b8c2764e7c7f6aeef10fb61bf9837117fad879f8c6a22a300006d2018cf42b25898ffc9a1bf507352e59e6a52e627cda160e17ea2f46005]
+[key.wy = 317a89899b7cb3a0d33eafa02b0137a0fb1b05102b22b676f35b9ff6c050ddee9f185609ffb7f5165a769e440792b75044a43e838690d13f884aaae888bf5f86f0]
+[keyDer = 30819b301006072a8648ce3d020106052b8104002303818600040032b9a17c201aec34d29b8c2764e7c7f6aeef10fb61bf9837117fad879f8c6a22a300006d2018cf42b25898ffc9a1bf507352e59e6a52e627cda160e17ea2f4600500317a89899b7cb3a0d33eafa02b0137a0fb1b05102b22b676f35b9ff6c050ddee9f185609ffb7f5165a769e440792b75044a43e838690d13f884aaae888bf5f86f0]
+[sha = SHA-512]
+
+# small r and s
+msg = 313233343030
+result = valid
+sig = 3006020101020103
+
+# r is larger than n
+msg = 313233343030
+result = invalid
+sig = 3047024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e9138640a020103
+
+[key.curve = secp521r1]
+[key.keySize = 521]
+[key.type = ECPublicKey]
+[key.wx = 67dd456b52f82a5d4c4a71b3ea9302f62a852ddc04ad25b62fef1ddf657374fb4e80679ddf42d212f0711db32b626d8593bd70892e93ed0adb273157b6df187938]
+[key.wy = 14d2c78509f3bd6f7d0fba4a90cb456286e267f5dd9d967842a6086884d66c7b2a932833470c721a4a728cd8486d15314232d801f17e3a6fd7068bdebacdf82c0b4]
+[keyDer = 30819b301006072a8648ce3d020106052b8104002303818600040067dd456b52f82a5d4c4a71b3ea9302f62a852ddc04ad25b62fef1ddf657374fb4e80679ddf42d212f0711db32b626d8593bd70892e93ed0adb273157b6df187938014d2c78509f3bd6f7d0fba4a90cb456286e267f5dd9d967842a6086884d66c7b2a932833470c721a4a728cd8486d15314232d801f17e3a6fd7068bdebacdf82c0b4]
+[sha = SHA-512]
+
+# s is larger than n
+msg = 313233343030
+result = invalid
+sig = 3047020101024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e914b3a90
+
+[key.curve = secp521r1]
+[key.keySize = 521]
+[key.type = ECPublicKey]
+[key.wx = 68d7b518214766ac734a7461d499352444377d50af42a1bbdb7f0032065ee6dc341ccf231af65250e7d13a80733abebff559891d4211d6c28cf952c9222303b53b]
+[key.wy = 0a2f3d7e14d9d8fabe1939d664e4615c6e24f5490c815c7651ccf6cc65252f88bcfd3b07fbdbaa0ba00441e590ccbcea00658f388f22c42d8a6d0f781ae5bb4d78b]
+[keyDer = 30819b301006072a8648ce3d020106052b8104002303818600040068d7b518214766ac734a7461d499352444377d50af42a1bbdb7f0032065ee6dc341ccf231af65250e7d13a80733abebff559891d4211d6c28cf952c9222303b53b00a2f3d7e14d9d8fabe1939d664e4615c6e24f5490c815c7651ccf6cc65252f88bcfd3b07fbdbaa0ba00441e590ccbcea00658f388f22c42d8a6d0f781ae5bb4d78b]
+[sha = SHA-512]
+
+# small r and s^-1
+msg = 313233343030
+result = valid
+sig = 304802020100024201efdfbf7efdfbf7efdfbf7efdfbf7efdfbf7efdfbf7efdfbf7efdfbf7efdfbf7ef87b4de1fc92dd757639408a50bee10764e326fdd2fa308dfde3e5243fdf4ac5ac
+
+[key.curve = secp521r1]
+[key.keySize = 521]
+[key.type = ECPublicKey]
+[key.wx = 11edc3b22b20f9a188b32b1e827d6e46b2ed61b9be6f4ada0b2c95835bee2738ec4dc5313831cce5f927210a7bc2f13abc02fa90e716fc1bd2f63c429a760ed2363]
+[key.wy = 118daad88fe9b9d66e66e71ce05d74137d277a9ca81c7d7aef1e74550890564103cc0d95d30f6205c9124829192e15d66fb1f4033032a42ba606e3edca6ec065c50]
+[keyDer = 30819b301006072a8648ce3d020106052b810400230381860004011edc3b22b20f9a188b32b1e827d6e46b2ed61b9be6f4ada0b2c95835bee2738ec4dc5313831cce5f927210a7bc2f13abc02fa90e716fc1bd2f63c429a760ed23630118daad88fe9b9d66e66e71ce05d74137d277a9ca81c7d7aef1e74550890564103cc0d95d30f6205c9124829192e15d66fb1f4033032a42ba606e3edca6ec065c50]
+[sha = SHA-512]
+
+# smallish r and s^-1
+msg = 313233343030
+result = valid
+sig = 304d02072d9b4d347952cd02420100508d073413de829275e76509fd81cff49adf4c80ed2ddd4a7937d1d918796878fec24cc46570982c3fb8f5e92ccdcb3e677f07e9bd0db0b84814be1c7949b0de
+
+[key.curve = secp521r1]
+[key.keySize = 521]
+[key.type = ECPublicKey]
+[key.wx = 12f8b9863a1887eca6827ad4accc2ba607f8592e5be15d9692b697a4061fcc81560c8feb2ae3851d00e06df3e0091f1f1ca5ec64761f4f8bd6d0c2cab2a12102444]
+[key.wy = 174b4e34aec517a0d2ceb2fd152ed1736bc330efca5e6d530ea170802fb6af031425903fa6a378405be5e47d1e52f62f859f537df9c0f6a4a6479a0aadafe219821]
+[keyDer = 30819b301006072a8648ce3d020106052b810400230381860004012f8b9863a1887eca6827ad4accc2ba607f8592e5be15d9692b697a4061fcc81560c8feb2ae3851d00e06df3e0091f1f1ca5ec64761f4f8bd6d0c2cab2a121024440174b4e34aec517a0d2ceb2fd152ed1736bc330efca5e6d530ea170802fb6af031425903fa6a378405be5e47d1e52f62f859f537df9c0f6a4a6479a0aadafe219821]
+[sha = SHA-512]
+
+# 100-bit r and small s^-1
+msg = 313233343030
+result = valid
+sig = 3053020d1033e67e37b32b445580bf4eff0242013cc33cc33cc33cc33cc33cc33cc33cc33cc33cc33cc33cc33cc33cc33cc33cc3393f632affd3eaa3c8fb64507bd5996497bd588fb9e3947c097ced7546b57c8998
+
+[key.curve = secp521r1]
+[key.keySize = 521]
+[key.type = ECPublicKey]
+[key.wx = 08aed779a32b9bf56ea7ab46e4b914e55c65301cdbe9ea6e7ed44f7e978c0365989a19a5e48282fb1158f481c556505d66ff414a07003ebf82fca1698c33f2884c6]
+[key.wy = 0a62426993ed5b177b6045e60b5fa1a1f8ce1ad5d70e7bc7b5af811dbf86e651f9ea02ec796ab991e1439bf07ffe2ac6052a8a0b0174d78a9441aaf4d8fc757d80f]
+[keyDer = 30819b301006072a8648ce3d020106052b810400230381860004008aed779a32b9bf56ea7ab46e4b914e55c65301cdbe9ea6e7ed44f7e978c0365989a19a5e48282fb1158f481c556505d66ff414a07003ebf82fca1698c33f2884c600a62426993ed5b177b6045e60b5fa1a1f8ce1ad5d70e7bc7b5af811dbf86e651f9ea02ec796ab991e1439bf07ffe2ac6052a8a0b0174d78a9441aaf4d8fc757d80f]
+[sha = SHA-512]
+
+# small r and 100 bit s^-1
+msg = 313233343030
+result = valid
+sig = 30480202010002420086ecbf54ab59a4e195f0be1402edd8657bb94618fab50f2fe20fe5ebbc9ff0e491397ed313cc918d438eedb9b5ecb4d9dfa305303505baf25400ed8c20fc3fc47b
+
+[key.curve = secp521r1]
+[key.keySize = 521]
+[key.type = ECPublicKey]
+[key.wx = 093697b0378312b38c31deae073f24a8163f086ac2116b7c37c99157cfae7970ab4201f5a7e06ec39eedbf7d87f3021ca439e3ff7c5988b84679937bab786dbe12e]
+[key.wy = 1c6987c86077c05423ac281de6d23f6a685870e12855463770eccabc9f3a1d23cb2a0c15479420b5dd40fbdc9886c463b62ee23239df3a8b861c3291d28224f6057]
+[keyDer = 30819b301006072a8648ce3d020106052b8104002303818600040093697b0378312b38c31deae073f24a8163f086ac2116b7c37c99157cfae7970ab4201f5a7e06ec39eedbf7d87f3021ca439e3ff7c5988b84679937bab786dbe12e01c6987c86077c05423ac281de6d23f6a685870e12855463770eccabc9f3a1d23cb2a0c15479420b5dd40fbdc9886c463b62ee23239df3a8b861c3291d28224f6057]
+[sha = SHA-512]
+
+# 100-bit r and s^-1
+msg = 313233343030
+result = valid
+sig = 3053020d062522bbd3ecbe7c39e93e7c2402420086ecbf54ab59a4e195f0be1402edd8657bb94618fab50f2fe20fe5ebbc9ff0e491397ed313cc918d438eedb9b5ecb4d9dfa305303505baf25400ed8c20fc3fc47b
+
+[key.curve = secp521r1]
+[key.keySize = 521]
+[key.type = ECPublicKey]
+[key.wx = 19a9f1b7b7f574a021fedd8679a4e998b48524854eefbaae4104a3973d693e02104fa119243256e3d986f8b4966c286ab8cb1f5267c0bbd6bc182aeb57493a5d5b6]
+[key.wy = 158b97eb74862fbca41763e8d3a7beb5fccd05565b75a3a43c2b38b96eb2ccff149c23ef1ac09fc455d808ff28081e985f9e172fc62d0900585172cfbff87383595]
+[keyDer = 30819b301006072a8648ce3d020106052b810400230381860004019a9f1b7b7f574a021fedd8679a4e998b48524854eefbaae4104a3973d693e02104fa119243256e3d986f8b4966c286ab8cb1f5267c0bbd6bc182aeb57493a5d5b60158b97eb74862fbca41763e8d3a7beb5fccd05565b75a3a43c2b38b96eb2ccff149c23ef1ac09fc455d808ff28081e985f9e172fc62d0900585172cfbff87383595]
+[sha = SHA-512]
+
+# r and s^-1 are close to n
+msg = 313233343030
+result = valid
+sig = 308188024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e9138638a0242015555555555555555555555555555555555555555555555555555555555555555518baf05027f750ef25532ab85fa066e8ad2793125b112da747cf524bf0b7aed5b
+
+[key.curve = secp521r1]
+[key.keySize = 521]
+[key.type = ECPublicKey]
+[key.wx = 1aa9f3a894b727d7a01b09c4f051b469d661de1e06915b599e211463319ac1b7ca8a6097f1be401d70a71d0b53655cdf9bef748d886e08ee7de2fa781e93ec41a26]
+[key.wy = 1ba9ea67385e19894fc9cd4b0173ab215f7b96f23bc420665d46c75447bf200ae3ac7b42bd9b857fd1c85cce8ea9c8d2345e4687dd70df59f5149510735bb9c7b64]
+[keyDer = 30819b301006072a8648ce3d020106052b81040023038186000401aa9f3a894b727d7a01b09c4f051b469d661de1e06915b599e211463319ac1b7ca8a6097f1be401d70a71d0b53655cdf9bef748d886e08ee7de2fa781e93ec41a2601ba9ea67385e19894fc9cd4b0173ab215f7b96f23bc420665d46c75447bf200ae3ac7b42bd9b857fd1c85cce8ea9c8d2345e4687dd70df59f5149510735bb9c7b64]
+[sha = SHA-512]
+
+# s == 1
+msg = 313233343030
+result = valid
+sig = 3047024200aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa8c5d782813fba87792a9955c2fd033745693c9892d8896d3a3e7a925f85bd76ad020101
+
+# s == 0
+msg = 313233343030
+result = invalid
+sig = 3047024200aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa8c5d782813fba87792a9955c2fd033745693c9892d8896d3a3e7a925f85bd76ad020100
+
+[key.curve = secp521r1]
+[key.keySize = 521]
+[key.type = ECPublicKey]
+[key.wx = 2a07f13f3e8df382145b7942fe6f91c12ff3064b314b4e3476bf3afbb982070f17f63b2de5fbe8c91a87ae632869facf17d5ce9d139b37ed557581bb9a7e4b8fa3]
+[key.wy = 24b904c5fc536ae53b323a7fd0b7b8e420302406ade84ea8a10ca7c5c934bad5489db6e3a8cc3064602cc83f309e9d247aae72afca08336bc8919e15f4be5ad77a]
+[keyDer = 30819b301006072a8648ce3d020106052b810400230381860004002a07f13f3e8df382145b7942fe6f91c12ff3064b314b4e3476bf3afbb982070f17f63b2de5fbe8c91a87ae632869facf17d5ce9d139b37ed557581bb9a7e4b8fa30024b904c5fc536ae53b323a7fd0b7b8e420302406ade84ea8a10ca7c5c934bad5489db6e3a8cc3064602cc83f309e9d247aae72afca08336bc8919e15f4be5ad77a]
+[sha = SHA-512]
+
+# point at infinity during verify
+msg = 313233343030
+result = invalid
+sig = 308188024200fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd28c343c1df97cb35bfe600a47b84d2e81ddae4dc44ce23d75db7db8f489c3204024200aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa8c5d782813fba87792a9955c2fd033745693c9892d8896d3a3e7a925f85bd76ad
+
+[key.curve = secp521r1]
+[key.keySize = 521]
+[key.type = ECPublicKey]
+[key.wx = 60daf59638158ed9d3d7e8428501334764162f9be239e168fae9af348c30a7be1cfa4d9636c3bb621d7e0aa71446f8d4a37f2d43274a4255b226f612382f63152e]
+[key.wy = 16e48300124a636b206fad4d0355862a852623799afee941e864d96dcbf55b801cabd6249b6f567506d5a503e7d03b4764c70fc44c5365f32c3603678476d62b09d]
+[keyDer = 30819b301006072a8648ce3d020106052b8104002303818600040060daf59638158ed9d3d7e8428501334764162f9be239e168fae9af348c30a7be1cfa4d9636c3bb621d7e0aa71446f8d4a37f2d43274a4255b226f612382f63152e016e48300124a636b206fad4d0355862a852623799afee941e864d96dcbf55b801cabd6249b6f567506d5a503e7d03b4764c70fc44c5365f32c3603678476d62b09d]
+[sha = SHA-512]
+
+# u1 == 1
+msg = 313233343030
+result = valid
+sig = 308186024200aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa8c5d782813fba87792a9955c2fd033745693c9892d8896d3a3e7a925f85bd76ad024043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc
+
+[key.curve = secp521r1]
+[key.keySize = 521]
+[key.type = ECPublicKey]
+[key.wx = 51fe6a35a85070c7c29502a87672a38153d799aef734226b64d8fd3398621701117f0af9d9afaf6dbb8ca3007255dc79b0f41ed552512cb29207b15a01cdfdfaae]
+[key.wy = 1a16c61277586356efadcb24764f21f574ef96f2caabc3f47fa66fb8719d7785824061c2d6d7a4bcb851540e62b2f00960b283eac7808d1813ef51b46e1149d3e4d]
+[keyDer = 30819b301006072a8648ce3d020106052b8104002303818600040051fe6a35a85070c7c29502a87672a38153d799aef734226b64d8fd3398621701117f0af9d9afaf6dbb8ca3007255dc79b0f41ed552512cb29207b15a01cdfdfaae01a16c61277586356efadcb24764f21f574ef96f2caabc3f47fa66fb8719d7785824061c2d6d7a4bcb851540e62b2f00960b283eac7808d1813ef51b46e1149d3e4d]
+[sha = SHA-512]
+
+# u1 == n - 1
+msg = 313233343030
+result = valid
+sig = 308188024200aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa8c5d782813fba87792a9955c2fd033745693c9892d8896d3a3e7a925f85bd76ad024201ffbc07ff041506dc73a75086a43252fb43b6327af3c6b2cc7d6acca94fdcdefd78dc0b56a22d16f2eec26ae0c1fb484d059300e80bd6b0472b3d1222ff5d08b03d
+
+[key.curve = secp521r1]
+[key.keySize = 521]
+[key.type = ECPublicKey]
+[key.wx = 0b4ffc0fff087607ad26c4b23d6d31ae5f904cc064e350f47131ce2784fbb359867988a559d4386752e56277bef34e26544dedda88cc20a3411fa98834eeae869ad]
+[key.wy = 09d6e8ca99949b7b34fd06a789744ecac3356247317c4d7aa9296676dd623594f3684bc13064cab8d2db7edbca91f1c8beb542bc97978a3f31f3610a03f46a982d2]
+[keyDer = 30819b301006072a8648ce3d020106052b81040023038186000400b4ffc0fff087607ad26c4b23d6d31ae5f904cc064e350f47131ce2784fbb359867988a559d4386752e56277bef34e26544dedda88cc20a3411fa98834eeae869ad009d6e8ca99949b7b34fd06a789744ecac3356247317c4d7aa9296676dd623594f3684bc13064cab8d2db7edbca91f1c8beb542bc97978a3f31f3610a03f46a982d2]
+[sha = SHA-512]
+
+# u2 == 1
+msg = 313233343030
+result = valid
+sig = 308188024200aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa8c5d782813fba87792a9955c2fd033745693c9892d8896d3a3e7a925f85bd76ad024200aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa8c5d782813fba87792a9955c2fd033745693c9892d8896d3a3e7a925f85bd76ad
+
+[key.curve = secp521r1]
+[key.keySize = 521]
+[key.type = ECPublicKey]
+[key.wx = 0809fba320fe96ded24611b72a2a5428fe46049ff080d6e0813ab7a35897018fe6418613abd860d1eb484959059a01af7d68cba69d1c52ea64ad0f28a18a41fc78a]
+[key.wy = 1108acc5577e9e8962e2a7cea0bb37df1d0ca4050fb6cfeba41a7f868d988dbbcebc962986748fa485183f6b60f453ec8606f8c33d43767dddbbef8c412b2c37939]
+[keyDer = 30819b301006072a8648ce3d020106052b81040023038186000400809fba320fe96ded24611b72a2a5428fe46049ff080d6e0813ab7a35897018fe6418613abd860d1eb484959059a01af7d68cba69d1c52ea64ad0f28a18a41fc78a01108acc5577e9e8962e2a7cea0bb37df1d0ca4050fb6cfeba41a7f868d988dbbcebc962986748fa485183f6b60f453ec8606f8c33d43767dddbbef8c412b2c37939]
+[sha = SHA-512]
+
+# u2 == n - 1
+msg = 313233343030
+result = valid
+sig = 308188024200aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa8c5d782813fba87792a9955c2fd033745693c9892d8896d3a3e7a925f85bd76ad0242015555555555555555555555555555555555555555555555555555555555555555518baf05027f750ef25532ab85fa066e8ad2793125b112da747cf524bf0b7aed5c
+
+[key.curve = secp521r1]
+[key.keySize = 521]
+[key.type = ECPublicKey]
+[key.wx = 145130dca77d9674dfceffa851b4a2672e490e8fba8277622b0020e2fe9101e76933b0c01d248071f854e9bc523733936dc0b9930cbe154b9a402f681ee3c6cef6b]
+[key.wy = 0d0c94b2ad28556643aa3d27523048d227a1de82f8a664707e75394d21da181bec82e1afb0e627539531affa849a2409bcac83fb786c351c88bac2fb2e4322e54a]
+[keyDer = 30819b301006072a8648ce3d020106052b8104002303818600040145130dca77d9674dfceffa851b4a2672e490e8fba8277622b0020e2fe9101e76933b0c01d248071f854e9bc523733936dc0b9930cbe154b9a402f681ee3c6cef6b000d0c94b2ad28556643aa3d27523048d227a1de82f8a664707e75394d21da181bec82e1afb0e627539531affa849a2409bcac83fb786c351c88bac2fb2e4322e54a]
+[sha = SHA-512]
+
+# edge case for u1
+msg = 313233343030
+result = valid
+sig = 308188024200fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc024201556bfd55a94e530bd972e52873ef39ac3ec34481aebdc46680dc66723ab66056275d82bff85ad29ac694530bb2f89c36ce600ad1b49761854afc69ab741ce0294a
+
+[key.curve = secp521r1]
+[key.keySize = 521]
+[key.type = ECPublicKey]
+[key.wx = 0ed3e09809fe5985818f90592fd06e71d2c493d9a781714c9157cbafa5ba196b987fd49ae24274c76251c70b9f7970f1f713ad274590a702f463c73a0704831ce5d]
+[key.wy = 0cac278297093bd9f9ac2d00bef3d67a01b43b28b9f829407264c738117438300c7704772976916ea102a776262ccf4222cc348c34aac683d8f00179a348323babd]
+[keyDer = 30819b301006072a8648ce3d020106052b81040023038186000400ed3e09809fe5985818f90592fd06e71d2c493d9a781714c9157cbafa5ba196b987fd49ae24274c76251c70b9f7970f1f713ad274590a702f463c73a0704831ce5d00cac278297093bd9f9ac2d00bef3d67a01b43b28b9f829407264c738117438300c7704772976916ea102a776262ccf4222cc348c34aac683d8f00179a348323babd]
+[sha = SHA-512]
+
+# edge case for u1
+msg = 313233343030
+result = valid
+sig = 308188024200fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc024200dcf9e7f441448a125b96d72b989d9f4dac7508c7e036f6080d4758e736f5e0636b0ff503f128a98d08e0ae189921065219d2cc3aa83e3c660ca0cb85e7c11a24d0
+
+[key.curve = secp521r1]
+[key.keySize = 521]
+[key.type = ECPublicKey]
+[key.wx = 0ac2c5a4c79309a5132d5d7494befb3905d33fda5f80eeaf63775183aae7af108a3d97f3a441532cf6fac47f6c898329d69182e1fa07ce45997ebec3781c9ad741]
+[key.wy = 173a5b6b80a8b73d30ac97e1a4aacb773c1ad692c5ea63f68e373842782bd677864ff656cf8d1e6ec1e58e9a83856ef92677555916749fb95e800ae2e011618ca3a]
+[keyDer = 30819b301006072a8648ce3d020106052b810400230381860004000ac2c5a4c79309a5132d5d7494befb3905d33fda5f80eeaf63775183aae7af108a3d97f3a441532cf6fac47f6c898329d69182e1fa07ce45997ebec3781c9ad7410173a5b6b80a8b73d30ac97e1a4aacb773c1ad692c5ea63f68e373842782bd677864ff656cf8d1e6ec1e58e9a83856ef92677555916749fb95e800ae2e011618ca3a]
+[sha = SHA-512]
+
+# edge case for u1
+msg = 313233343030
+result = valid
+sig = 308187024200fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc024166eb57733c19a7003cf8253279fce41907bc4f127153c4576dd4814f8b335a0b51560b4447f0382c69b3fe509522c891f0eec3999ad2526835f33ae22a642843af
+
+[key.curve = secp521r1]
+[key.keySize = 521]
+[key.type = ECPublicKey]
+[key.wx = 1eb2a353dec6b460fbda49c67f431190fff6f195639c226ef8fefcbf191d72529a12cc5485b282a52704c1fd84529a1aa0ad794f96493e299718d2618a1b83a526c]
+[key.wy = 1f704604d5b2b94a42bfc3ab93317d66a54de15258337433fc96a965d8e2d056fd1134b7989d7b3f709adc28227bdabc11fe2f359c6a6e5111ab43379ca25b66f2f]
+[keyDer = 30819b301006072a8648ce3d020106052b81040023038186000401eb2a353dec6b460fbda49c67f431190fff6f195639c226ef8fefcbf191d72529a12cc5485b282a52704c1fd84529a1aa0ad794f96493e299718d2618a1b83a526c01f704604d5b2b94a42bfc3ab93317d66a54de15258337433fc96a965d8e2d056fd1134b7989d7b3f709adc28227bdabc11fe2f359c6a6e5111ab43379ca25b66f2f]
+[sha = SHA-512]
+
+# edge case for u1
+msg = 313233343030
+result = valid
+sig = 308188024200fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0242017106d1131b3300d7ffbc07ff041506dc73a75086a43252fb43b6327af3c6b2cc79527ac09f0a3f0a8aa38285585b6afceac5ff6692842232d106d15d4df1b66aa8
+
+[key.curve = secp521r1]
+[key.keySize = 521]
+[key.type = ECPublicKey]
+[key.wx = 1e43dfecc7e6caad03d17b407322c878f701c5add6eb2afcd786ff3803622dfbb6baa01246e1ea059f7b78842919b2507daa9e3434efa7e8d3ae6c35499f82d0ac8]
+[key.wy = 18b0e4d6378222a07ccdb4214001f97b1a503d1aac3ab925ea64faa9c739ba04ee3480b147cb07f93edf40b6856a22f4159c3f5cd6c9e7165452907c8d02fab201e]
+[keyDer = 30819b301006072a8648ce3d020106052b81040023038186000401e43dfecc7e6caad03d17b407322c878f701c5add6eb2afcd786ff3803622dfbb6baa01246e1ea059f7b78842919b2507daa9e3434efa7e8d3ae6c35499f82d0ac8018b0e4d6378222a07ccdb4214001f97b1a503d1aac3ab925ea64faa9c739ba04ee3480b147cb07f93edf40b6856a22f4159c3f5cd6c9e7165452907c8d02fab201e]
+[sha = SHA-512]
+
+# edge case for u1
+msg = 313233343030
+result = valid
+sig = 308187024200fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc02416d1131b3300d7ffbc07ff041506dc73a75086a43252fb43b6327af3c6b2cc7d6ab94bf496f53ea229e7fe6b456088ea32f6e2b104f5112798bb59d46a0d468f838
+
+[key.curve = secp521r1]
+[key.keySize = 521]
+[key.type = ECPublicKey]
+[key.wx = 141a4d714628c192b8ace1a42854da06e0e1ddb82a07618e4efb05d7095cd1eb65425078160594715eaf59fcb41c9e573fe10298c75c9e9135c775ca73f63d13aac]
+[key.wy = 089524b475170d4391cc032a0543ea22dab60ea07538f3a37607f0d4ed516634fde545e2f0a6ba8d0d2fe6aded0a771b4b134a5a280e54799fa476ef0ec87d44e1c]
+[keyDer = 30819b301006072a8648ce3d020106052b8104002303818600040141a4d714628c192b8ace1a42854da06e0e1ddb82a07618e4efb05d7095cd1eb65425078160594715eaf59fcb41c9e573fe10298c75c9e9135c775ca73f63d13aac0089524b475170d4391cc032a0543ea22dab60ea07538f3a37607f0d4ed516634fde545e2f0a6ba8d0d2fe6aded0a771b4b134a5a280e54799fa476ef0ec87d44e1c]
+[sha = SHA-512]
+
+# edge case for u1
+msg = 313233343030
+result = valid
+sig = 308188024200fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc024200da226366601afff780ffe082a0db8e74ea10d4864a5f6876c64f5e78d6598fad57297e92dea7d4453cffcd68ac111d465edc56209ea224f3176b3a8d41a8d1f070
+
+[key.curve = secp521r1]
+[key.keySize = 521]
+[key.type = ECPublicKey]
+[key.wx = 147fbcc65d4818e029e0a3af13a1f7c90f0605a00cd0781200eb656a591d669a787620e6fc8cc594aa28a0b0f2939ec73472c494e09cecaf5f331dafd32d5ac31c3]
+[key.wy = 75432bdaeecaa0bec7feddc298c565723fb669ee76e38a4c5ff1701f1b38cda9dc9ac43bff18da2047e4dcd80c05a7bb7e7464829d608b68176b04c87f409f46d6]
+[keyDer = 30819b301006072a8648ce3d020106052b8104002303818600040147fbcc65d4818e029e0a3af13a1f7c90f0605a00cd0781200eb656a591d669a787620e6fc8cc594aa28a0b0f2939ec73472c494e09cecaf5f331dafd32d5ac31c30075432bdaeecaa0bec7feddc298c565723fb669ee76e38a4c5ff1701f1b38cda9dc9ac43bff18da2047e4dcd80c05a7bb7e7464829d608b68176b04c87f409f46d6]
+[sha = SHA-512]
+
+# edge case for u1
+msg = 313233343030
+result = valid
+sig = 308188024200fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0242011b3300d7ffbc07ff041506dc73a75086a43252fb43b6327af3c6b2cc7d6acca94cb85df5e6c1125394fcd34f6521ffdaddd98f88a99fedcedd9384288bb793cf2f
+
+[key.curve = secp521r1]
+[key.keySize = 521]
+[key.type = ECPublicKey]
+[key.wx = 0b5b1c3998589b25c96a700bbd450d04da1f273df8053767a3b03ed1a763ed089c0de99bcf54d49c1520d3a09b845296f0445b3bd5b87918d3752cf651e0ff3007b]
+[key.wy = 0e896380876b9419c56096914ff6eec01aee247eefef0741895f14ee280f360e11508c37826af82cd915b9002f046cb51008d9ead21124c591bd8265d1492b35ffb]
+[keyDer = 30819b301006072a8648ce3d020106052b81040023038186000400b5b1c3998589b25c96a700bbd450d04da1f273df8053767a3b03ed1a763ed089c0de99bcf54d49c1520d3a09b845296f0445b3bd5b87918d3752cf651e0ff3007b00e896380876b9419c56096914ff6eec01aee247eefef0741895f14ee280f360e11508c37826af82cd915b9002f046cb51008d9ead21124c591bd8265d1492b35ffb]
+[sha = SHA-512]
+
+# edge case for u1
+msg = 313233343030
+result = valid
+sig = 308188024200fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc02420161be37ed5f748e06a89d72c4b7051cae809d9567848b1d8d7ed019221efb06ae81e1264ce49c5d29ee5fe22ccf70899002643aca7b99f57756f2639b6d459ae410
+
+[key.curve = secp521r1]
+[key.keySize = 521]
+[key.type = ECPublicKey]
+[key.wx = 1aadb41fadc35cf6d11a7c7d01d049b74b37677f04e1bd3dc08450fabae28adcd2d135f966616d283fb18a5e69eabfe7ec41e1a0edb3682f1d39f2af64a94d602b9]
+[key.wy = 14ae81ebf5e3d2d0529479d4ae8eb05f4b42e519608466ad69e7662d6e9b236765f9be535c058f00f0866bbb4b172ef47a03cb97c58dde5750344bb293035f8e97e]
+[keyDer = 30819b301006072a8648ce3d020106052b81040023038186000401aadb41fadc35cf6d11a7c7d01d049b74b37677f04e1bd3dc08450fabae28adcd2d135f966616d283fb18a5e69eabfe7ec41e1a0edb3682f1d39f2af64a94d602b9014ae81ebf5e3d2d0529479d4ae8eb05f4b42e519608466ad69e7662d6e9b236765f9be535c058f00f0866bbb4b172ef47a03cb97c58dde5750344bb293035f8e97e]
+[sha = SHA-512]
+
+# edge case for u1
+msg = 313233343030
+result = valid
+sig = 308188024200fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc024201e9bbbd64270b9668f7623ef7cbead5483eb07b883cf39fb6884aab67dac7958b0e03144357b9433e69adc696c86c63a23d35724cbd749b7c34f8e34232d21ea420
+
+[key.curve = secp521r1]
+[key.keySize = 521]
+[key.type = ECPublicKey]
+[key.wx = 1b706fc3f4aae5b86da261a66fbce47eb3b3e1e91544a40a9989fccf74154bbecac042dbbbf411a39090058b62c46fccd1d5eaba0c4879a688ea5fd0a7b4f9a0b4f]
+[key.wy = 1eda01930c6b22745a97f2d59e182598dfdfbfdb463335293901de7fc9d49cf55ed7fcf5d767d4c22f89f171b4137c8415c3ed438089270c41f88eadef3018140e1]
+[keyDer = 30819b301006072a8648ce3d020106052b81040023038186000401b706fc3f4aae5b86da261a66fbce47eb3b3e1e91544a40a9989fccf74154bbecac042dbbbf411a39090058b62c46fccd1d5eaba0c4879a688ea5fd0a7b4f9a0b4f01eda01930c6b22745a97f2d59e182598dfdfbfdb463335293901de7fc9d49cf55ed7fcf5d767d4c22f89f171b4137c8415c3ed438089270c41f88eadef3018140e1]
+[sha = SHA-512]
+
+# edge case for u1
+msg = 313233343030
+result = valid
+sig = 308188024200fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc024200924449b6c96f3758e3b085c079714f11f28d039b11699f0e9b3e7c553c8fc6c8f5212fec5eac3068713b8ec72fc6e2a90872b94e161a89822887f4a9bd5c9efd74
+
+[key.curve = secp521r1]
+[key.keySize = 521]
+[key.type = ECPublicKey]
+[key.wx = 58a1fa96111bf30be76c3b8ba4435666677b6dd05031b5c4a840e1ea81f6025f70e1d395ef63cb59fa71e3674cb678f7250887f5d734e3ec377dbe3ae637d24f82]
+[key.wy = 7a4eaf02cc57e658b5b9fa08ee30e0ef5b3429bb5a10438b0e05bacaebc60317010a334d7f896028aef620f5d9c7cabc38306e032b1b91c2376c3fef3e455a10df]
+[keyDer = 30819b301006072a8648ce3d020106052b8104002303818600040058a1fa96111bf30be76c3b8ba4435666677b6dd05031b5c4a840e1ea81f6025f70e1d395ef63cb59fa71e3674cb678f7250887f5d734e3ec377dbe3ae637d24f82007a4eaf02cc57e658b5b9fa08ee30e0ef5b3429bb5a10438b0e05bacaebc60317010a334d7f896028aef620f5d9c7cabc38306e032b1b91c2376c3fef3e455a10df]
+[sha = SHA-512]
+
+# edge case for u1
+msg = 313233343030
+result = valid
+sig = 308188024200fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc024201554a01552b58d67a13468d6bc6086329e09e5dbf28a11dccbf91ccc6e2a4cfd4e6a2c5278791c6490835a27b6f7abb8a690bb060de3deb85093d3ae16482c84f64
+
+[key.curve = secp521r1]
+[key.keySize = 521]
+[key.type = ECPublicKey]
+[key.wx = 303ba5ef90b05110002fdf74d2b8d4c7ab189c64004859c69d7c4730fcacb5f4d9b761ae987d1f3b63bb3ecb78aeecf4a04ff60f5f367a96ac2da8da27a3687a3e]
+[key.wy = 6673d0d4ccd4c3ce1abc9980fd1885002c3e7b86078214caf7f0962fa51e116363032d7a1b93c92a4d62827549d5a33e4e6b9b6c2ab6ad9c2a15e410c5b1a846b2]
+[keyDer = 30819b301006072a8648ce3d020106052b81040023038186000400303ba5ef90b05110002fdf74d2b8d4c7ab189c64004859c69d7c4730fcacb5f4d9b761ae987d1f3b63bb3ecb78aeecf4a04ff60f5f367a96ac2da8da27a3687a3e006673d0d4ccd4c3ce1abc9980fd1885002c3e7b86078214caf7f0962fa51e116363032d7a1b93c92a4d62827549d5a33e4e6b9b6c2ab6ad9c2a15e410c5b1a846b2]
+[sha = SHA-512]
+
+# edge case for u1
+msg = 313233343030
+result = valid
+sig = 308188024200fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc024200aa9402aa56b1acf4268d1ad78c10c653c13cbb7e51423b997f23998dc5499fa9d2f403c78b645cfba4eb78f595fe6d6f01dbaaf803f23ac263bf060baa74583abf
+
+[key.curve = secp521r1]
+[key.keySize = 521]
+[key.type = ECPublicKey]
+[key.wx = 0a94eea843a5c49637041598e30c381f7173bf8cd127f3caf5c16cbc728aa4d99173fb38d6a1b1ec21e40336e8d802249272b0ccbf4f8c3636ef66290a81b58fa5b]
+[key.wy = 1116c23464fad61df8d2d5d1250a5a4c427e9c58e2cf1d059cdd88a7c34984fdd22a4cf18411e1b0224d444a5bd39d5fc97fc0b3648600f19d6ab80aa6a7c083a17]
+[keyDer = 30819b301006072a8648ce3d020106052b81040023038186000400a94eea843a5c49637041598e30c381f7173bf8cd127f3caf5c16cbc728aa4d99173fb38d6a1b1ec21e40336e8d802249272b0ccbf4f8c3636ef66290a81b58fa5b01116c23464fad61df8d2d5d1250a5a4c427e9c58e2cf1d059cdd88a7c34984fdd22a4cf18411e1b0224d444a5bd39d5fc97fc0b3648600f19d6ab80aa6a7c083a17]
+[sha = SHA-512]
+
+# edge case for u1
+msg = 313233343030
+result = valid
+sig = 308188024200fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc024201ffde03ff820a836e39d3a8435219297da1db193d79e359663eb56654a7ee6f7eb996c8ef12f62344ad211b71057928f96ae75b58e23026476cfc40ed0ef7208a23
+
+[key.curve = secp521r1]
+[key.keySize = 521]
+[key.type = ECPublicKey]
+[key.wx = 14f71d2ca5bd2051336854657f09a1fab14c7f2f7865d71bd3fa354bf27b69dc8738972140553b525658b6fd203cc05ca0822e0904bad21b632e0de74a2ad3f0e72]
+[key.wy = 4525f90519f9497425460b31cbb69ab3701a9ea68aaab72c6d65d364d0f0ed4d0524280f113bd69ef1ba9825202b10287a088c4bf30debecb720ac0739ec67434d]
+[keyDer = 30819b301006072a8648ce3d020106052b810400230381860004014f71d2ca5bd2051336854657f09a1fab14c7f2f7865d71bd3fa354bf27b69dc8738972140553b525658b6fd203cc05ca0822e0904bad21b632e0de74a2ad3f0e72004525f90519f9497425460b31cbb69ab3701a9ea68aaab72c6d65d364d0f0ed4d0524280f113bd69ef1ba9825202b10287a088c4bf30debecb720ac0739ec67434d]
+[sha = SHA-512]
+
+# edge case for u1
+msg = 313233343030
+result = valid
+sig = 308188024200fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0242013375abb99e0cd3801e7c12993cfe720c83de278938a9e22bb6ea40a7c599ad05a5d3c8e5e5d7b3e16a99e528ef0ce91be0953cb1a9adf757f257554ca47ab053dc
+
+[key.curve = secp521r1]
+[key.keySize = 521]
+[key.type = ECPublicKey]
+[key.wx = 1d2ecad921dd100a8dc1a7b824b0ac6c9b654ab179833c2881ce237f1b8497ade851302cf50ea5ea169c2a50c0c09cb6ea539a7290a0f3437044b7a2e9ca8d40500]
+[key.wy = 3fd5651535dcba1f331981c216a1c7d9842f65c5f38ca43dd71c41e19efcac384617656fd0afdd83c50c5e524e9b672b7aa8a66b289afa688e45ca6edb3477a8b0]
+[keyDer = 30819b301006072a8648ce3d020106052b81040023038186000401d2ecad921dd100a8dc1a7b824b0ac6c9b654ab179833c2881ce237f1b8497ade851302cf50ea5ea169c2a50c0c09cb6ea539a7290a0f3437044b7a2e9ca8d40500003fd5651535dcba1f331981c216a1c7d9842f65c5f38ca43dd71c41e19efcac384617656fd0afdd83c50c5e524e9b672b7aa8a66b289afa688e45ca6edb3477a8b0]
+[sha = SHA-512]
+
+# edge case for u2
+msg = 313233343030
+result = valid
+sig = 308187024200fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc02415555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555554
+
+[key.curve = secp521r1]
+[key.keySize = 521]
+[key.type = ECPublicKey]
+[key.wx = 165d67972a48fddc2f41c03f79ab5e0d42fd0992c013ead135c3394049645e26ad7c7be96510df59ba677dc94f1146e8e8e8fbe56debcb66920639581956b92b4d1]
+[key.wy = 08aeb66ee0be18abaa909a973c70b5749d688f8e2cd2e6e1613af93d0033492d26a6e82cfb80ac6925ac6bc79b984f73e3ebbff2f223a38676891c1ecd784a8a789]
+[keyDer = 30819b301006072a8648ce3d020106052b8104002303818600040165d67972a48fddc2f41c03f79ab5e0d42fd0992c013ead135c3394049645e26ad7c7be96510df59ba677dc94f1146e8e8e8fbe56debcb66920639581956b92b4d1008aeb66ee0be18abaa909a973c70b5749d688f8e2cd2e6e1613af93d0033492d26a6e82cfb80ac6925ac6bc79b984f73e3ebbff2f223a38676891c1ecd784a8a789]
+[sha = SHA-512]
+
+# edge case for u2
+msg = 313233343030
+result = valid
+sig = 308188024200fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0242009f57708fa97eba94c6d4782cdd4e33bb95c1353bde095232e3e2bab277bb5d2b48f55a53ffe928d034c29970a9e5f384a003907d3d9b82a86817cc61fb17f4c59e
+
+[key.curve = secp521r1]
+[key.keySize = 521]
+[key.type = ECPublicKey]
+[key.wx = 18cd11252f0a434f446d3af18518c6b84cb0b7bf33758b4d83b97c2a56e0037b54d57d2b0b842e9c17d70504e01896389c066db8f2bfec025259a51dff514668308]
+[key.wy = 1cca54365156c59e2c73c17664f09fcdcfd5b910f9ab48d0899b6a7064de8b80fc7a992e47ee7f23ec82fd80179a19f4cf89b4c02b7218f435298da5d322a982c1e]
+[keyDer = 30819b301006072a8648ce3d020106052b810400230381860004018cd11252f0a434f446d3af18518c6b84cb0b7bf33758b4d83b97c2a56e0037b54d57d2b0b842e9c17d70504e01896389c066db8f2bfec025259a51dff51466830801cca54365156c59e2c73c17664f09fcdcfd5b910f9ab48d0899b6a7064de8b80fc7a992e47ee7f23ec82fd80179a19f4cf89b4c02b7218f435298da5d322a982c1e]
+[sha = SHA-512]
+
+# edge case for u2
+msg = 313233343030
+result = valid
+sig = 308187024200fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc024168d98fa90736eff3e90f8fcfe50838b6fa0bf2cde77bc51e3f41019c8006f4e9cbaeadce7dbb44462da6425be9cfdaecb234c41749ce695be1b5ead2e6b1205f35
+
+[key.curve = secp521r1]
+[key.keySize = 521]
+[key.type = ECPublicKey]
+[key.wx = 1d6329a8afdea27cf1028a44d19c3c72927590d64628775f324514c81de301aa9be9c775c53a6349d1cbd5ecfc7bd39b373e613a10c1439441b141430fdadac168c]
+[key.wy = 71342d63dba901b93bdc444a1fe2ec6a15108bdf49eb1dfd218373884520d84bce03c5012f5837051cb8abf6a0be78dfdfeeb3a5872dff75b3f874faa6d2243bf]
+[keyDer = 30819b301006072a8648ce3d020106052b81040023038186000401d6329a8afdea27cf1028a44d19c3c72927590d64628775f324514c81de301aa9be9c775c53a6349d1cbd5ecfc7bd39b373e613a10c1439441b141430fdadac168c00071342d63dba901b93bdc444a1fe2ec6a15108bdf49eb1dfd218373884520d84bce03c5012f5837051cb8abf6a0be78dfdfeeb3a5872dff75b3f874faa6d2243bf]
+[sha = SHA-512]
+
+# edge case for u2
+msg = 313233343030
+result = valid
+sig = 308188024200fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc024200e97ae66bcd4cae36fffffffffffffffffffffffffffffffffffffffffffffffffd68bc9726f02dbf8598a98b3e5077eff6f2491eb678ed040fb338c084a9ea8a4c
+
+[key.curve = secp521r1]
+[key.keySize = 521]
+[key.type = ECPublicKey]
+[key.wx = 1c963b64cdc3ecb1c35cda5ced9419ac146b060adb04c638cf6b66658013cb25e915a6ad0055668342881ed27f438b50ae4bb86ae3c7c02b727a130c77bad698008]
+[key.wy = 481bfffaead856b4137fd4268ecd74a6c2d4bd6cd13998ce7f0e828b220135d8df23253e681dc90673e0537e7590769a2a441aaaaa3a9901c4fbe44fa9513951ef]
+[keyDer = 30819b301006072a8648ce3d020106052b81040023038186000401c963b64cdc3ecb1c35cda5ced9419ac146b060adb04c638cf6b66658013cb25e915a6ad0055668342881ed27f438b50ae4bb86ae3c7c02b727a130c77bad69800800481bfffaead856b4137fd4268ecd74a6c2d4bd6cd13998ce7f0e828b220135d8df23253e681dc90673e0537e7590769a2a441aaaaa3a9901c4fbe44fa9513951ef]
+[sha = SHA-512]
+
+# edge case for u2
+msg = 313233343030
+result = valid
+sig = 308188024200fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc024201ae66bcd4cae36ffffffffffffffffffffffffffffffffffffffffffffffffffffb3954212f8bea578d93e685e5dba329811b2542bb398233e2944bceb19263325d
+
+[key.curve = secp521r1]
+[key.keySize = 521]
+[key.type = ECPublicKey]
+[key.wx = 5dfbc867d53c57b2945502b8e56d96ca2d4d485aa33452200a2f4ba16042357976afeecf3e63b2fdcd5cdd76076c1a73e496caf9d6de3e8831d955d138e05884ae]
+[key.wy = 1e04aa0b5360a0d3badd0120fbb8cc42a38bf1c61755d00858e40e4b10da4ea2575830dc92e312c20af2b8b167d7a58d178661d48cd932fe47a4bc7145e620ae22c]
+[keyDer = 30819b301006072a8648ce3d020106052b810400230381860004005dfbc867d53c57b2945502b8e56d96ca2d4d485aa33452200a2f4ba16042357976afeecf3e63b2fdcd5cdd76076c1a73e496caf9d6de3e8831d955d138e05884ae01e04aa0b5360a0d3badd0120fbb8cc42a38bf1c61755d00858e40e4b10da4ea2575830dc92e312c20af2b8b167d7a58d178661d48cd932fe47a4bc7145e620ae22c]
+[sha = SHA-512]
+
+# edge case for u2
+msg = 313233343030
+result = valid
+sig = 308188024200fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0242015ccd79a995c6dffffffffffffffffffffffffffffffffffffffffffffffffffffc2121badb58a518afa8010a82c03cad31fa94bbbde96820166d27e644938e00b1
+
+[key.curve = secp521r1]
+[key.keySize = 521]
+[key.type = ECPublicKey]
+[key.wx = 78be6c43e366cf63ddc4235e8b969386e95012fbca5cebf1b0a6fe3c03c1257df7cf47b002eb6c4497f310bff6131b5ccb54fd0e8ee7fcf6b49d487e1b54508f68]
+[key.wy = 09b61a547104c8516e0dc35d3d17659ca098d023b0593908fe979c29e62373738a3c30094ba47105a49edbc6e1d37cce317b49d2701470eeb53d9b24dce9d809166]
+[keyDer = 30819b301006072a8648ce3d020106052b8104002303818600040078be6c43e366cf63ddc4235e8b969386e95012fbca5cebf1b0a6fe3c03c1257df7cf47b002eb6c4497f310bff6131b5ccb54fd0e8ee7fcf6b49d487e1b54508f68009b61a547104c8516e0dc35d3d17659ca098d023b0593908fe979c29e62373738a3c30094ba47105a49edbc6e1d37cce317b49d2701470eeb53d9b24dce9d809166]
+[sha = SHA-512]
+
+# edge case for u2
+msg = 313233343030
+result = valid
+sig = 308188024200fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc024201cd4cae36fffffffffffffffffffffffffffffffffffffffffffffffffffffffffae18dcc11dff7526233d923a0b202cb29e713f22de8bb6ab0a12821c5abbe3f23
+
+[key.curve = secp521r1]
+[key.keySize = 521]
+[key.type = ECPublicKey]
+[key.wx = 093f68961005f3040dc1a8ff1416c917bdcc77f1dfa85506c3bb62dac47f7be9529b4cbe57dd2c19e860bd2a0db71d47ef1eca8a20bfc3e0bc5e05c8303001c1960]
+[key.wy = 2b9a3d45f2f5120fee06445f0d34e6138e3ac5b16d2a22f0460cea258c368ca9e478eb7b8253e7c6f2f7250fdc7dcd7243761f8d56f2350ac51e47ee063f41da31]
+[keyDer = 30819b301006072a8648ce3d020106052b8104002303818600040093f68961005f3040dc1a8ff1416c917bdcc77f1dfa85506c3bb62dac47f7be9529b4cbe57dd2c19e860bd2a0db71d47ef1eca8a20bfc3e0bc5e05c8303001c1960002b9a3d45f2f5120fee06445f0d34e6138e3ac5b16d2a22f0460cea258c368ca9e478eb7b8253e7c6f2f7250fdc7dcd7243761f8d56f2350ac51e47ee063f41da31]
+[sha = SHA-512]
+
+# edge case for u2
+msg = 313233343030
+result = valid
+sig = 308187024200fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc024122e8ba2e8ba2e8ba2e8ba2e8ba2e8ba2e8ba2e8ba2e8ba2e8ba2e8ba2e8ba2e8b9c4c3f73cc816143fac3412b62de4c63db08f8c57e4c58c31f1b457ca5e57e20a
+
+[key.curve = secp521r1]
+[key.keySize = 521]
+[key.type = ECPublicKey]
+[key.wx = 2d2d7d40bf17c4e8b18757e451ddded95e6b1007cd144809d21af31353b03038372c4af204d4414b71060b48b3a8439c632809bd33c4736263044405a1ad766e36]
+[key.wy = 0bb0c5a8848f93fa3e85376b012bf064e303746529a673b852bb5a969c24c0156a8dd26242d0aad4bae43e23631b01fb9d050f9744b59f3b52b1c572217a1d70588]
+[keyDer = 30819b301006072a8648ce3d020106052b810400230381860004002d2d7d40bf17c4e8b18757e451ddded95e6b1007cd144809d21af31353b03038372c4af204d4414b71060b48b3a8439c632809bd33c4736263044405a1ad766e3600bb0c5a8848f93fa3e85376b012bf064e303746529a673b852bb5a969c24c0156a8dd26242d0aad4bae43e23631b01fb9d050f9744b59f3b52b1c572217a1d70588]
+[sha = SHA-512]
+
+# edge case for u2
+msg = 313233343030
+result = valid
+sig = 308188024200fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0242010590b21642c8590b21642c8590b21642c8590b21642c8590b21642c8590b2164298eb57e5aff9343597a542d3132f9e734fdc305125e0ec139c5f780ee8e8cb9c2
+
+[key.curve = secp521r1]
+[key.keySize = 521]
+[key.type = ECPublicKey]
+[key.wx = 18ac11dfe62d1f2a8202732c79b423d29f43bec4db6080a220796a10f2685f92c71c7f72d9da0a8acb22680cca018eba2e8ba3bfde1db9a4ef3b97da16474364e96]
+[key.wy = 5aad3b286707bd3ad07a060cabca49c53de4f56c05a0a8de40fd969d7d4f995f7c6701fe5c5321f85318b98be66251fa490088fd727da2454e00b3b94dc6e1241b]
+[keyDer = 30819b301006072a8648ce3d020106052b810400230381860004018ac11dfe62d1f2a8202732c79b423d29f43bec4db6080a220796a10f2685f92c71c7f72d9da0a8acb22680cca018eba2e8ba3bfde1db9a4ef3b97da16474364e96005aad3b286707bd3ad07a060cabca49c53de4f56c05a0a8de40fd969d7d4f995f7c6701fe5c5321f85318b98be66251fa490088fd727da2454e00b3b94dc6e1241b]
+[sha = SHA-512]
+
+# edge case for u2
+msg = 313233343030
+result = valid
+sig = 308188024200fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc024201a4924924924924924924924924924924924924924924924924924924924924924445e10670ed0437c9db4125ac4175fbd70e9bd1799a85f44ca0a8e61a3354e808
+
+[key.curve = secp521r1]
+[key.keySize = 521]
+[key.type = ECPublicKey]
+[key.wx = 51b2c3e0494564ed48ed3479b596ea4078240550a3c28da33d71d259e8e623e37ab43f396c49363f31c8de8a4644d37e94ed80e0dd4f92c3df2106e2795c2798b8]
+[key.wy = 0a530d5e961f0696bbeb962aca8e71f65956ae04cdc22a4ac65146943e99a4a2fdb477df75aa069c8dd37a5daaea3848079a6a7bc03e0faa3d65d42f8053db2078b]
+[keyDer = 30819b301006072a8648ce3d020106052b8104002303818600040051b2c3e0494564ed48ed3479b596ea4078240550a3c28da33d71d259e8e623e37ab43f396c49363f31c8de8a4644d37e94ed80e0dd4f92c3df2106e2795c2798b800a530d5e961f0696bbeb962aca8e71f65956ae04cdc22a4ac65146943e99a4a2fdb477df75aa069c8dd37a5daaea3848079a6a7bc03e0faa3d65d42f8053db2078b]
+[sha = SHA-512]
+
+# edge case for u2
+msg = 313233343030
+result = valid
+sig = 308188024200fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc024201d5555555555555555555555555555555555555555555555555555555555555554fa6dbdcd91484ebc0d521569e4c5efb25910b1f0ddef19d0410c50c73e68db95f
+
+[key.curve = secp521r1]
+[key.keySize = 521]
+[key.type = ECPublicKey]
+[key.wx = 1ba31a6f9c2d227da57de00759e2e844d607bc9bd92bcdf282006884dc347c9284f0dc0623af1e9db22117364a7a80a5b067efa19b204dac8faf2230d80b704addc]
+[key.wy = 0d88b761cd3a4b0947bfc17e204b4d751f76880a82c9b7c6fd93ded55883c995002d8b8bfff1e021189c08d829d16b088f4fb39ad9456eafbc77c20353bc0f3c038]
+[keyDer = 30819b301006072a8648ce3d020106052b81040023038186000401ba31a6f9c2d227da57de00759e2e844d607bc9bd92bcdf282006884dc347c9284f0dc0623af1e9db22117364a7a80a5b067efa19b204dac8faf2230d80b704addc00d88b761cd3a4b0947bfc17e204b4d751f76880a82c9b7c6fd93ded55883c995002d8b8bfff1e021189c08d829d16b088f4fb39ad9456eafbc77c20353bc0f3c038]
+[sha = SHA-512]
+
+# edge case for u2
+msg = 313233343030
+result = valid
+sig = 308188024200fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc024201aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa4fc31322e69da41162a76abf3a1b4507ae66074633446f259661a61c93be30eb5
+
+[key.curve = secp521r1]
+[key.keySize = 521]
+[key.type = ECPublicKey]
+[key.wx = 137bbb48ef281133849ed723f5662a19fff9cc7389a0170d311bd34f4dbdc656246db695ea0712d8aceff9d1d0ef7921ec2e3f8b533e4ca122f9f7f446073889334]
+[key.wy = 163e4500d998095f60fa3fed4149d2d9b5b018e03eb5344efe8ffcc1c7d276e7401a4df639c4ab108820062495471be7b29398aadbae440a9bdcd55cf0bb5d96f79]
+[keyDer = 30819b301006072a8648ce3d020106052b8104002303818600040137bbb48ef281133849ed723f5662a19fff9cc7389a0170d311bd34f4dbdc656246db695ea0712d8aceff9d1d0ef7921ec2e3f8b533e4ca122f9f7f4460738893340163e4500d998095f60fa3fed4149d2d9b5b018e03eb5344efe8ffcc1c7d276e7401a4df639c4ab108820062495471be7b29398aadbae440a9bdcd55cf0bb5d96f79]
+[sha = SHA-512]
+
+# edge case for u2
+msg = 313233343030
+result = valid
+sig = 308188024200fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0242017ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e9138640b
+
+[key.curve = secp521r1]
+[key.keySize = 521]
+[key.type = ECPublicKey]
+[key.wx = 726dda8b7b6ed25f97f1fc6c3ccf554d60fc71e4fab2a578286d32612e7f3e669faed0b97619aef2d5aff9c8ffd987feddc0d6c38b7eec028191400874803f498b]
+[key.wy = 0c0b8870c612e06c13c57ed6f7ef3d53b5e5fa2db62707b034b5ec13fb47018e31da7ecc991d575943468d701e118eca33122cf6d394b8a6ec0f45bc09701603a26]
+[keyDer = 30819b301006072a8648ce3d020106052b81040023038186000400726dda8b7b6ed25f97f1fc6c3ccf554d60fc71e4fab2a578286d32612e7f3e669faed0b97619aef2d5aff9c8ffd987feddc0d6c38b7eec028191400874803f498b00c0b8870c612e06c13c57ed6f7ef3d53b5e5fa2db62707b034b5ec13fb47018e31da7ecc991d575943468d701e118eca33122cf6d394b8a6ec0f45bc09701603a26]
+[sha = SHA-512]
+
+# edge case for u2
+msg = 313233343030
+result = valid
+sig = 308188024200fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc024201346cc7d4839b77f9f487c7e7f2841c5b7d05f966f3bde28f1fa080ce40037a74e3001a2b00bd39ee4c93072e9963724941383cf0812c02d1c838ad4502a12c619f
+
+[key.curve = secp521r1]
+[key.keySize = 521]
+[key.type = ECPublicKey]
+[key.wx = 16fce9f375bbd2968adaaf3575595129ef3e721c3b7c83d5a4a79f4b5dfbbdb1f66da7243e5120c5dbd7be1ca073e04b4cc58ca8ce2f34ff6a3d02a929bf2fc2797]
+[key.wy = 083f130792d6c45c8f2a67471e51246e2b8781465b8291cbda66d22719cd536bf801e0076030919d5701732ce7678bf472846ed0777937ed77caad74d05664614a2]
+[keyDer = 30819b301006072a8648ce3d020106052b810400230381860004016fce9f375bbd2968adaaf3575595129ef3e721c3b7c83d5a4a79f4b5dfbbdb1f66da7243e5120c5dbd7be1ca073e04b4cc58ca8ce2f34ff6a3d02a929bf2fc27970083f130792d6c45c8f2a67471e51246e2b8781465b8291cbda66d22719cd536bf801e0076030919d5701732ce7678bf472846ed0777937ed77caad74d05664614a2]
+[sha = SHA-512]
+
+# point duplication during verification
+msg = 313233343030
+result = valid
+sig = 30818802420090c8d0d718cb9d8d81094e6d068fb13c16b4df8c77bac676dddfe3e68855bed06b9ba8d0f8a80edce03a9fac7da561e24b1cd22d459239a146695a671f81f73aaf024201150b0fe9f0dff27fa180cc9442c3bfc9e395232898607b110a51bcb1086cb9726e251a07c9557808df32460715950a3dc446ae4229b9ed59fe241b389aee3a6963
+# Some implementations of ECDSA do not handle duplication and points at infinity
+# correctly. This is a test vector that has been specially crafted to check for
+# such an omission.
+
+[key.curve = secp521r1]
+[key.keySize = 521]
+[key.type = ECPublicKey]
+[key.wx = 16fce9f375bbd2968adaaf3575595129ef3e721c3b7c83d5a4a79f4b5dfbbdb1f66da7243e5120c5dbd7be1ca073e04b4cc58ca8ce2f34ff6a3d02a929bf2fc2797]
+[key.wy = 17c0ecf86d293ba370d598b8e1aedb91d4787eb9a47d6e3425992dd8e632ac9407fe1ff89fcf6e62a8fe8cd31898740b8d7b912f8886c8128835528b2fa99b9eb5d]
+[keyDer = 30819b301006072a8648ce3d020106052b810400230381860004016fce9f375bbd2968adaaf3575595129ef3e721c3b7c83d5a4a79f4b5dfbbdb1f66da7243e5120c5dbd7be1ca073e04b4cc58ca8ce2f34ff6a3d02a929bf2fc2797017c0ecf86d293ba370d598b8e1aedb91d4787eb9a47d6e3425992dd8e632ac9407fe1ff89fcf6e62a8fe8cd31898740b8d7b912f8886c8128835528b2fa99b9eb5d]
+[sha = SHA-512]
+
+# duplication bug
+msg = 313233343030
+result = invalid
+sig = 30818802420090c8d0d718cb9d8d81094e6d068fb13c16b4df8c77bac676dddfe3e68855bed06b9ba8d0f8a80edce03a9fac7da561e24b1cd22d459239a146695a671f81f73aaf024201150b0fe9f0dff27fa180cc9442c3bfc9e395232898607b110a51bcb1086cb9726e251a07c9557808df32460715950a3dc446ae4229b9ed59fe241b389aee3a6963
+# Some implementations of ECDSA do not handle duplication and points at infinity
+# correctly. This is a test vector that has been specially crafted to check for
+# such an omission.
+
+[key.curve = secp521r1]
+[key.keySize = 521]
+[key.type = ECPublicKey]
+[key.wx = 110fb89aff135edb801a1cb5bc49525b81dc74da45090d228122871814f489fdcb02ebee46b703e6b4e6af56c5024422b31fd4252c44d0bfd29d945de782d98543f]
+[key.wy = 1ec425b4c4928e12b619227f1da6d0a9675070d9c5b49ca523050acb718e62643b0e5801543b76dc11f8d694ba09436d8391b477ad2c143ec50c2384c4f688512dc]
+[keyDer = 30819b301006072a8648ce3d020106052b8104002303818600040110fb89aff135edb801a1cb5bc49525b81dc74da45090d228122871814f489fdcb02ebee46b703e6b4e6af56c5024422b31fd4252c44d0bfd29d945de782d98543f01ec425b4c4928e12b619227f1da6d0a9675070d9c5b49ca523050acb718e62643b0e5801543b76dc11f8d694ba09436d8391b477ad2c143ec50c2384c4f688512dc]
+[sha = SHA-512]
+
+# point with x-coordinate 0
+msg = 313233343030
+result = invalid
+sig = 3047020101024200aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa8c5d782813fba87792a9955c2fd033745693c9892d8896d3a3e7a925f85bd76ad
+
+[key.curve = secp521r1]
+[key.keySize = 521]
+[key.type = ECPublicKey]
+[key.wx = 1c693a3fccbc9f625284239c2725f2a5c90b29b7ce3d07730f7de6031c9e74446d217888ae023aae23df6a4aa153f58c79597d57f42ce5c1354e5dc43a5eb311e13]
+[key.wy = 15f99658443b2e39c3edcbcda70707fc5a4d39545eabe354816d09284a6265e47ebf0a47355828e818a767f8452a6d18451e0e3817a896ff404cb1611bfc4c4b4a3]
+[keyDer = 30819b301006072a8648ce3d020106052b81040023038186000401c693a3fccbc9f625284239c2725f2a5c90b29b7ce3d07730f7de6031c9e74446d217888ae023aae23df6a4aa153f58c79597d57f42ce5c1354e5dc43a5eb311e13015f99658443b2e39c3edcbcda70707fc5a4d39545eabe354816d09284a6265e47ebf0a47355828e818a767f8452a6d18451e0e3817a896ff404cb1611bfc4c4b4a3]
+[sha = SHA-512]
+
+# point with x-coordinate 0
+msg = 313233343030
+result = invalid
+sig = 3081870242020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000024166666666666666666666666666666666666666666666666666666666666666666543814e4d8ca31e157ff599db649b87900bf128581b85a7efbf1657d2e9d81401
+
+[key.curve = secp521r1]
+[key.keySize = 521]
+[key.type = ECPublicKey]
+[key.wx = 17d7bf723678df574ce4366741e1d3787f834af9997b41c8260a074cb1f325d2bae9f8565dc6b51b6cb02dceeb5a1b774ee8dd7057c99e2d94c3c71299a9ce0f1b0]
+[key.wy = 162c65632fff88bdbb17ce2525ccac8df37c501ab0e6626e273fb6cf99000424344c0ac539c9fd6c4f3d28876b257c010d347a45bb010cc058443843a758328d491]
+[keyDer = 30819b301006072a8648ce3d020106052b810400230381860004017d7bf723678df574ce4366741e1d3787f834af9997b41c8260a074cb1f325d2bae9f8565dc6b51b6cb02dceeb5a1b774ee8dd7057c99e2d94c3c71299a9ce0f1b00162c65632fff88bdbb17ce2525ccac8df37c501ab0e6626e273fb6cf99000424344c0ac539c9fd6c4f3d28876b257c010d347a45bb010cc058443843a758328d491]
+[sha = SHA-512]
+
+# comparison with point at infinity 
+msg = 313233343030
+result = invalid
+sig = 308187024200aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa8c5d782813fba87792a9955c2fd033745693c9892d8896d3a3e7a925f85bd76ad024166666666666666666666666666666666666666666666666666666666666666666543814e4d8ca31e157ff599db649b87900bf128581b85a7efbf1657d2e9d81401
+
+[key.curve = secp521r1]
+[key.keySize = 521]
+[key.type = ECPublicKey]
+[key.wx = 1e06db423a902e239b97340ab052534ead37e79412c675bf0eb823999e6b731040bff2b0e4fa64edf3962a328921ea5ae4e8f4079eab439e12f92335dfc4863c07f]
+[key.wy = 7ee9f0ecb409cb133c0cd08b85e840b076f3d615e1ef1393b5222338b227d768003da5f3ba1f72f6654ca54ac11c2ba91a6cb5883d6d1a82304ad2b79de09215f3]
+[keyDer = 30819b301006072a8648ce3d020106052b81040023038186000401e06db423a902e239b97340ab052534ead37e79412c675bf0eb823999e6b731040bff2b0e4fa64edf3962a328921ea5ae4e8f4079eab439e12f92335dfc4863c07f007ee9f0ecb409cb133c0cd08b85e840b076f3d615e1ef1393b5222338b227d768003da5f3ba1f72f6654ca54ac11c2ba91a6cb5883d6d1a82304ad2b79de09215f3]
+[sha = SHA-512]
+
+# extreme value for k
+msg = 313233343030
+result = valid
+sig = 3081870241433c219024277e7e682fcb288148c282747403279b1ccc06352c6e5505d769be97b3b204da6ef55507aa104a3a35c5af41cf2fa364d60fd967f43e3933ba6d783d024200aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa8c5d782813fba87792a9955c2fd033745693c9892d8896d3a3e7a925f85bd76ad
+
+[key.curve = secp521r1]
+[key.keySize = 521]
+[key.type = ECPublicKey]
+[key.wx = 4c3ec8d7d23ce74be8b9c7c27be869c23bafc6874ebc44f47e107422ab1e75ed09bebd7cb1ec4626e442bcf512a25c5ddde26eb08ba37506461830cf9241cbe9c]
+[key.wy = 50a1bc08f4ba8da1d641ac3891823ab519facd4159768b1c0738f0e23450f374e4d6de55cceed95722be635c5dc0023a1498862f87bfe61d77e20e592cc20bb2ca]
+[keyDer = 30819b301006072a8648ce3d020106052b8104002303818600040004c3ec8d7d23ce74be8b9c7c27be869c23bafc6874ebc44f47e107422ab1e75ed09bebd7cb1ec4626e442bcf512a25c5ddde26eb08ba37506461830cf9241cbe9c0050a1bc08f4ba8da1d641ac3891823ab519facd4159768b1c0738f0e23450f374e4d6de55cceed95722be635c5dc0023a1498862f87bfe61d77e20e592cc20bb2ca]
+[sha = SHA-512]
+
+# extreme value for k
+msg = 313233343030
+result = valid
+sig = 308188024200c6858e06b70404e9cd9e3ecb662395b4429c648139053fb521f828af606b4d3dbaa14b5e77efe75928fe1dc127a2ffa8de3348b3c1856a429bf97e7e31c2e5bd66024200aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa8c5d782813fba87792a9955c2fd033745693c9892d8896d3a3e7a925f85bd76ad
+
+[key.curve = secp521r1]
+[key.keySize = 521]
+[key.type = ECPublicKey]
+[key.wx = 0c6858e06b70404e9cd9e3ecb662395b4429c648139053fb521f828af606b4d3dbaa14b5e77efe75928fe1dc127a2ffa8de3348b3c1856a429bf97e7e31c2e5bd66]
+[key.wy = 11839296a789a3bc0045c8a5fb42c7d1bd998f54449579b446817afbd17273e662c97ee72995ef42640c550b9013fad0761353c7086a272c24088be94769fd16650]
+[keyDer = 30819b301006072a8648ce3d020106052b81040023038186000400c6858e06b70404e9cd9e3ecb662395b4429c648139053fb521f828af606b4d3dbaa14b5e77efe75928fe1dc127a2ffa8de3348b3c1856a429bf97e7e31c2e5bd66011839296a789a3bc0045c8a5fb42c7d1bd998f54449579b446817afbd17273e662c97ee72995ef42640c550b9013fad0761353c7086a272c24088be94769fd16650]
+[sha = SHA-512]
+
+# testing point duplication
+msg = 313233343030
+result = invalid
+sig = 308185024043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc0241492492492492492492492492492492492492492492492492492492492492492491795c5c808906cc587ff89278234a8566e3f565f5ca840a3d887dac7214bee9b8
+
+# testing point duplication
+msg = 313233343030
+result = invalid
+sig = 308187024201ffbc07ff041506dc73a75086a43252fb43b6327af3c6b2cc7d6acca94fdcdefd78dc0b56a22d16f2eec26ae0c1fb484d059300e80bd6b0472b3d1222ff5d08b03d0241492492492492492492492492492492492492492492492492492492492492492491795c5c808906cc587ff89278234a8566e3f565f5ca840a3d887dac7214bee9b8
+
+[key.curve = secp521r1]
+[key.keySize = 521]
+[key.type = ECPublicKey]
+[key.wx = 0c6858e06b70404e9cd9e3ecb662395b4429c648139053fb521f828af606b4d3dbaa14b5e77efe75928fe1dc127a2ffa8de3348b3c1856a429bf97e7e31c2e5bd66]
+[key.wy = 0e7c6d6958765c43ffba375a04bd382e426670abbb6a864bb97e85042e8d8c199d368118d66a10bd9bf3aaf46fec052f89ecac38f795d8d3dbf77416b89602e99af]
+[keyDer = 30819b301006072a8648ce3d020106052b81040023038186000400c6858e06b70404e9cd9e3ecb662395b4429c648139053fb521f828af606b4d3dbaa14b5e77efe75928fe1dc127a2ffa8de3348b3c1856a429bf97e7e31c2e5bd6600e7c6d6958765c43ffba375a04bd382e426670abbb6a864bb97e85042e8d8c199d368118d66a10bd9bf3aaf46fec052f89ecac38f795d8d3dbf77416b89602e99af]
+[sha = SHA-512]
+
+# testing point duplication
+msg = 313233343030
+result = invalid
+sig = 308185024043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc0241492492492492492492492492492492492492492492492492492492492492492491795c5c808906cc587ff89278234a8566e3f565f5ca840a3d887dac7214bee9b8
+
+# testing point duplication
+msg = 313233343030
+result = invalid
+sig = 308187024201ffbc07ff041506dc73a75086a43252fb43b6327af3c6b2cc7d6acca94fdcdefd78dc0b56a22d16f2eec26ae0c1fb484d059300e80bd6b0472b3d1222ff5d08b03d0241492492492492492492492492492492492492492492492492492492492492492491795c5c808906cc587ff89278234a8566e3f565f5ca840a3d887dac7214bee9b8
+
+[key.curve = secp521r1]
+[key.keySize = 521]
+[key.type = ECPublicKey]
+[key.wx = 12a908bfc5b70e17bdfae74294994808bf2a42dab59af8b0523a026d640a2a3d6d344520b62177e2cfa339ca42fb0883ec425904fbda2833a3b5b0a9a00811365d8]
+[key.wy = 12333d532f8f8eb1a623c378a3694651192bbda833e3b8d7b8f90b2bfc9b045f8a55e1b6a5fe1512c400c4bc9c86fd7c699d642f5cee9bb827c8b0abc0da01cef1e]
+[keyDer = 30819b301006072a8648ce3d020106052b810400230381860004012a908bfc5b70e17bdfae74294994808bf2a42dab59af8b0523a026d640a2a3d6d344520b62177e2cfa339ca42fb0883ec425904fbda2833a3b5b0a9a00811365d8012333d532f8f8eb1a623c378a3694651192bbda833e3b8d7b8f90b2bfc9b045f8a55e1b6a5fe1512c400c4bc9c86fd7c699d642f5cee9bb827c8b0abc0da01cef1e]
+[sha = SHA-512]
+
+# pseudorandom signature
+msg = 
+result = valid
+sig = 308188024201625d6115092a8e2ee21b9f8a425aa73814dec8b2335e86150ab4229f5a3421d2e6256d632c7a4365a1ee01dd2a936921bbb4551a512d1d4b5a56c314e4a02534c5024201b792d23f2649862595451055777bda1b02dc6cc8fef23231e44b921b16155cd42257441d75a790371e91819f0a9b1fd0ebd02c90b5b774527746ed9bfe743dbe2f
+
+# pseudorandom signature
+msg = 
+result = valid
+sig = 308188024200f3d90294fbca4a4666ecbd5053c16731b742b50a0ae13722f41afe777c106283197376b127ded991e2ad52d84247165da34e91bc231655f959d988c3c7b9a67c080242014ce0570d16ba8dcb31e392cafacb4c0f0798263bf04bd4776d6135fa22cc0d3820b9c8a9a14f8d2913aed876254496209c3830f2bf6131d4240dc326ff5f7b7d71
+
+# pseudorandom signature
+msg = 
+result = valid
+sig = 30818702415cfa3b6e6952dd5886275ab7023e7bd3d06a07d84a5137960b3f636ddefabaf6b9db9d7e9785c51bb66206fc1f6859e86a5609599db33b6d2f240cc8aa1bfe490f0242014a57f403fd1f79f2898d62a61dc66135cc1a00f75954d3ee296ff897f8e98d340b1632468060f829e247a498c753096db19cd4b19bfd777d947ca9f7a50738410b
+
+# pseudorandom signature
+msg = 
+result = valid
+sig = 308188024200f5467782293b3daa6b61d24aef3d841e47565cce6f0a7700b31cc70998544ce654add1502efddcb4c67ae0d9e8732e5315d59c37ff7171e68a8f761cd3ea3e61fe024200c79c315958f8013d20a86d10725a8913141d73d1282b163a02f36c9d280ee4d865901d7232871caccfc320c81d43f1e8cdaa7e646bbf9aa04f0eeb639d0ee0bdc6
+
+# pseudorandom signature
+msg = 
+result = valid
+sig = 3081880242015feb9fa8803a5d0296c263127d8ee9ed72a94d1ec38a84f8ce2283876388a6fdaee7e232f14da5fa447d8ff72fae4b3872db787befed48b6413c2a27de4c89dae902420126b94cf89238a0837188ceb04a47c2d9800397d1122ea831de47fe11ef146903a35030d2ce08310f2842ac5c9772597083fa6e8c0fb810e58260d6e20bdd566ef2
+
+# pseudorandom signature
+msg = 
+result = valid
+sig = 30818702417358687f319dab3c22b906cd58dd3556cf982c7c25ef30fefa4abae3f2b9079dc82d5807f32ec8976ac8dc69c1b1b2cbf7103675481f35072726c1d4afd158dcb8024200f6c899c6da4fd6f0b267a96ca927b79e34d250e8af76cc8b0bd71b850bbd23631af36c7269aeb4d837ee7017772cce2ef7567c558f657802df56aec17e576b1155
+
+# pseudorandom signature
+msg = 
+result = valid
+sig = 308188024200bcd2cfaf0ddf3c2414a2ca1af9114afe2d0b89af80ba797c93a05fc9efc69daa33a0812c464eb29be9d7bc5ec5aea698b018102a0e460f580059e5cd0d6e493f2b0242012c5a138af2d3e0e016f6c7ea6dda84ee4132e788949f73a31539c5e117247ccce9f676eb91462787eb71469c22e831811896513e6d35e9645e84f967839ca490e6
+
+# pseudorandom signature
+msg = 
+result = valid
+sig = 30818702414dcb6fd277c0fe1919e1c6f85d78b3ff198035005fe1d497f7c8f4803d584fb4c88db946bf7af32f7b54e8db80a694b81be78d4329b5d8e3da5fd22546ad5a1b9d024200f14c765e92da98273ddd53b50e907b7d313914a6bd23c8484d95a3f6f33971d06c4c340fe2cd567c150a16bfe0873c77993e5ad61855ac4705740e7befb24d2b27
+
+# pseudorandom signature
+msg = 
+result = valid
+sig = 308188024201569a9498513ae97350a86110c1d1960e89e83c26dfec840f6104318b3a84109a60024062a85daf62412c878710d3aefe47f594b68f525ef090497712e0f5caa34e024200e09fbf93ac11ab2b8e3dd0f731218e4ea08b077e4ebc717562f2746d25573dad3532702fbccfbd1bac23fa552d853594590ded4d0977a2efb140e9519d83a7b4a7
+
+# pseudorandom signature
+msg = 
+result = valid
+sig = 308187024200e0380e08d8a302c9829d02f65436c380c10f0dabfcc6336d4831b1dce7c96c3faff388120e8f1b4319daebe9f8642ce765c39dfb5bae243dec70149b754051f5c302411c4944a7e5ec140e91f01c313fa44de41e196a9576a4c201e1fa1dd58a8a7c021d4f20d25d0f7e172e4231f18ac12ff940f2955cd852b7e6b3b3b45720863cbb62
+
+# pseudorandom signature
+msg = 4d7367
+result = valid
+sig = 30818602415adc833cbc1d6141ced457bab2b01b0814054d7a28fa8bb2925d1e7525b7cf7d5c938a17abfb33426dcc05ce8d44db02f53a75ea04017dca51e1fbb14ce3311b1402415f69b2a6de129147a8437b79c72315d35173d88c2d6119085c90dae8ec05c55e067e7dfa4f681035e3dccab099291c0ecf4428332a9cb0736d16e79111ac76d766
+
+# pseudorandom signature
+msg = 4d7367
+result = valid
+sig = 3081880242010217c32045f589b5479feaaf471c68e5a27b6567c19724bec8c580fb50c52f95cd4e8296ac6334844e17dfe21167c7028204d53bd24ae05e79587149d7921ed087024200fb908a87377d788fd65c91a0a935e61a3d8d735b29e2ce2083ffbbf0f0b5dd60bc53877c3155c1a089160ceb6197e39ccd0cd4edaa6449830c4e29f9aae835a9c0
+
+# pseudorandom signature
+msg = 4d7367
+result = valid
+sig = 308188024201ce64622f59112dd0e4397e6902a1ba5c258729b577980b54a745e76ce29d83ba48ede7fb63f374535017c3c73a8940022fd7b6a2e701171890ff54db363879caff024201b84c02f06de11b8d6eee94d37c7d7a352e938452ae76639dfd77c00f0d3f14432edcc0bfae410224838b4ac07f0adec294d86ac06bc04066b269ac1b8c0bf5b67a
+
+# pseudorandom signature
+msg = 4d7367
+result = valid
+sig = 308188024201cfc67612e129ae1f5e60da08b9f4f7ab970e0d1c66be7290cc30d501edc04d7c47781a50e8da32c17f391005231aa2a5401f7456ec13af5a90b972eb1fa133d3ae024200d837a34c9f002ac4d833192d84748471d9bfacf9cf760005f2e4860851309ed9bc7e01b4cb48143c40bad42e9e5fd755b4511b0461bcca84354512dc54b432ff84
+
+# pseudorandom signature
+msg = 4d7367
+result = valid
+sig = 308188024200fc0f11de211a3c868949e897a5c9efa3f2de6a716075ba31eaf4ba6776db234a652a88488bac3d492ba1205e15ff694e71a0073211477bac7f07101c8b6fb70f8502420100891497bd19b5f1ae508ab5114d2a3fd3b3fde2216b38dfd540775d2fb3d1dcb13b2a0880144f4f562eef76c3af133002c4326561b3190e76fc39267d2b4cd164
+
+# pseudorandom signature
+msg = 4d7367
+result = valid
+sig = 308188024200d3842281c596639bf18a3b32457cba814a4d86ed414d6884169ec8b1f3b7442f328df1d7deeb3db491ecfa4a84b5f334fb077923c4df768489698c6cde8691a13a024201f720d385ec6283f6c7378ab19874dace5a9c3f729e4e87e9e369d2e6ca27824eb6e86bb4bc7e3c5578627763c80b73bea3e0d0e2751afa29fd448a4a326c853b36
+
+# pseudorandom signature
+msg = 4d7367
+result = valid
+sig = 308187024165d858f83de40ae1cd9d303e96ac2917ee5c389d5053be0ff05deac9ec902a70c4685305561f3aafcae225b37ef4ba062da3fa70ee2c23549b43d1f824efbcda980242010e77eb4af330ecaf545c3890e369468071f4ea9a104e1e47ed0d1455fbd492688d8e03bfad80a883136cd2fb3910f44a33cac86f515509b0c59a56af27677c6012
+
+# pseudorandom signature
+msg = 4d7367
+result = valid
+sig = 308186024175dc6b7aa29fb66b5b77c5cd4b99aaa1aa7dfeba720a9f85f191cb5682851ee12c226b4b98175d058ada3a9887e7a9d3d82b1553aac4553a3beff5d8f465125b11024176561b3c31d7a8a2770f8258058948144c0dec91c23fdff47f3ebeb36e1869fc094738b6f80e90399db1dcfaf25771606c743edf559f77a4ffebbfd697da367bc6
+
+# pseudorandom signature
+msg = 4d7367
+result = valid
+sig = 30818702412d9c3f9a79e234a3f3b9e04ee08bce70a65668880ed90f5a2b4e839475daff5226f420dae3417a553215904d5632936c591e945289a5284f61294cc764ac0a954002420177f9c6ea95857ca73c51268c6ad7d7bfe4cfe0e270b3d221ed950e69fcc39e29882ac894122f6dda70d908fa0bf2ac7f73b9755c86cf92e0218fd5c78fc947addb
+
+# pseudorandom signature
+msg = 4d7367
+result = valid
+sig = 308186024126db1b8d3e0d7523b055ea6e31f8b050095f4187a3ef3db62b7157ad9bc0e8934cb1a65508632930d64b89031d1c8786b879ea46cc85d4a029096089148f2454ed024132c8a0f3f44eacfd0451aab9e4c6163cadc97e323722d1e2c9cc2403aae990dc3b227600c37808ffe7e15c8e015a18b2a23aed38b1b3aed179819ac9160911d650
+
+# pseudorandom signature
+msg = 313233343030
+result = valid
+sig = 3081880242014141e4d94a58c1e747cbd9ee6670a41eac3c26fb4db3248e45d583179076e6b19a8e2003657a108f91f9a103157edff9b37df2b436a77dc112927d907ac9ba258702420108afa91b34bd904c680471e943af336fb90c5fb2b91401a58c9b1f467bf81af8049965dd8b45f12e152f4f7fd3780e3492f31ed2680d4777fbe655fe779ad897ab
+
+# pseudorandom signature
+msg = 313233343030
+result = valid
+sig = 308187024178192ba6c31398e095b1a5ba49e34f0a6df60263e8324a9d728e292c8dbe477ad9326f3e915f4006795dbeddc92b01fae052143c961b24e624eb70e0b0e6874653024201b470d58c6ec28c2fb155b2047073bc8bec3c2d9e7f50038964dd4b5b721807a679f7252fe72ca977e2bc4d8831fef14a2bf51c7919dfa7a33acdf9a9fc1ca2dbe6
+
+# pseudorandom signature
+msg = 313233343030
+result = valid
+sig = 308187024160bedcd13c22d2353e613cca0f81215c34e51bf0a83faff1da5c8b4c182785358757b35a681e4eaf021af4f43d54ec49d8bfcd8dc5015b42a7a91f263fcb8db661024201050354daf39d5261bd27f36b8c1c38f48707ece9ea9311d13489dcfc5357eda2e57000c10cf0cda7b12f313842fb884a14f902ee9bca5b4da4fbbae0f969691005
+
+# pseudorandom signature
+msg = 313233343030
+result = valid
+sig = 3081880242008b51c02f4a5c80c9988646900a6516e7893cd8274013e276e8b0773af1e275030bab64551e2725bf89e06dcde6ae79a126dd01ca850b4896c71eac8b1aee9db0d1024201ce5824d2f5cfd09c3ee239366207391db3f049f67c0885e919b3ce13c52215437b77fc5c5d36465319862cb5fa75e0f54dd63d3754dcca422c99432286be327d43
+
+# pseudorandom signature
+msg = 313233343030
+result = valid
+sig = 308186024136a263c96cf448db82ec4ed8bda627b6e4250011c00da3cda6a8d68f9982f8c4cdfa87bbcad35da4918bb1dd6e9b666bb0ef93493e90266a97ae3ef17e6bf05ea90241691dad07a5de565cf4fbb6457aabc1527f317b3577fe712f85a8722ba13639b552f530367f3d0f6c099dd490284b4b22e0f0867d6fe4b0b50cd137b9875c666486
+
+# pseudorandom signature
+msg = 313233343030
+result = valid
+sig = 3081880242016737805388c1f33aa5ba70a93d5d3bb8e2cb1c6afffa9c71423663570a64e5f19a658ddb5e5351d2c724574843c6096c7bd0f5ff016304e2bb7c3c8643c0969a6b024201cc16da8f7858e4716eb7420b1f5935178cd47ad61139e0f6b4f1f98959f70ab25454f84079798931391fccdcf4bad14234db9fac4a2b811ce937691e880476ac62
+
+# pseudorandom signature
+msg = 313233343030
+result = valid
+sig = 3081880242011cff9efd4637941a840054b27db8747ea2b1a44ea29b9f28e5878acaaa06a280082c9afc33e8eff8f029f1d30be2260cc2b287d5acfecbe49ac362a6b9e883e01a0242015af84a78474acb77a1afdafcc3667bcee6638ad97b5ba39ae781b0d32f7f8d3c03e2d524cb2e4afaddf212c28122f268567aae3859cf019ea0112f0d667b376f5b
+
+# pseudorandom signature
+msg = 313233343030
+result = valid
+sig = 308187024164915760336c2e2c29fa207e7fc883dc36ae3b18cded722794e916671f009dd4a205c584172f81aab519bbac4cc12e6c2986b5cd4ca84a03c535bbd0c335bd1fb90242011699a6ca58af781f2bb04533c5a1b1e5cce42c58c7b05243f036cf53ac2a56b5b7bf3255dbd0f92a8dba528a5d6a1c6e021815fb4bda11ef27c0e98583b021ab09
+
+# pseudorandom signature
+msg = 313233343030
+result = valid
+sig = 308188024200805994ccc821372a695824596995e53973d9423dc685f9caa5b0db9ad53445c9312ea55c5337e15e5f98de83d67ae31e31891674e30c50c64f707ba6f28124126902420182e6f40987e37fc182e095ec7a783879910bae48b4c34fb9d5e82af9548d87ce1525ff8996cc66e7094f804bbc0ee76bbb74c94db324cb0b08d73fa31f33e29781
+
+# pseudorandom signature
+msg = 313233343030
+result = valid
+sig = 308188024200b28b75b96eac5a7147ed3eb6db677906776bc58942860f5228c492aef5f5067fcad4df9a84446c8783cdb19d7004b6aa262500c066888a757bbb53675e34ce45ea02420135d86f04d3f8a9b14c214324b6d4eb8f3121d43a8a3641de6f0625a07945ce1b3dd4f42bad6bfb34fda0cbb7ddfdfd229040fa609afec6f7fa3a24f33d239250cb
+
+# pseudorandom signature
+msg = 0000000000000000000000000000000000000000
+result = valid
+sig = 308187024108135d3f1ae9e26fba825643ed8a29d63d7843720e93566aa09db2bdf5aaa69afbcc0c51e5295c298f305ba7b870f0a85bb5699cdf40764aab59418f77c6ffb4520242011d345256887fb351f5700961a7d47572e0d669056cb1d5619345c0c987f3331c2fe2c6df848a5c610422defd6212b64346161aa871ae55b1fe4add5f68836eb181
+
+# pseudorandom signature
+msg = 0000000000000000000000000000000000000000
+result = valid
+sig = 308188024201813f1dcac3d1da48a1a3b2542df932a465c2af1e4f6edbceee83b24c36e08981061e190863eb4ea8876899d0e5e4d4ac14e7fa2ea509ff946418e1108b8d2e64ed02420180bfc16e1747b75d51df791f06220d5473fc3c76ed0453003b13f16159c3808eec089fe40b945f8773eb72ea05bcf0ef33b6d4d5dc47ae4fae6d93b080053fc1af
+
+# pseudorandom signature
+msg = 0000000000000000000000000000000000000000
+result = valid
+sig = 30818802420108c9a063ab73bfa5e117d58dc5cc331440fc99307c8b9b9e881a7ef8edf9061e996341863b751ef4b9ad91cd8699be5dd4dc9a2593908f9b04428b0fd1da561493024200b925a24de37fccd50bbc662029e3d143bc9dc5700d7cb5f98fb7859eb7439b67edd016e66be4f8d3c0f7ec7b57bc0a42f48e4a388786b22642c036d31ab9f2bab5
+
+# pseudorandom signature
+msg = 0000000000000000000000000000000000000000
+result = valid
+sig = 3081870242011b8a3f283aeec301682cabc0b19e816afb3b707e0a833e49bfe0da29aa2bce07b7e85241bc1c04bdeff0baac7585facfd6b583cb6a423c40363beaac451255d4cf02412e0e4d93c7efec6e93e5389003c99b2fb1565d6791c81747eb0bb3a754f89af7d26148a0a77f2b79e650fa77f033f8b37cf39984bd7030d11fc75d805120e77f33
+
+# pseudorandom signature
+msg = 0000000000000000000000000000000000000000
+result = valid
+sig = 308187024160c1d217a2485fce433723e1120271925a10dbb5b4ceb196f734c64587f618d47b4eb85996d0eacf642cfbd1536b346648b61f8188f255d1689a13718349627d76024200a91a0dea067d0f97b44cecdf21a2b1a67364a376fcc1afeded777a3170eb99a100f26f8bdd8ab65cb72a2c95eb5c992f5ee83630e1f2d8ae33fa60a10c9d1c32b2
+
+# pseudorandom signature
+msg = 0000000000000000000000000000000000000000
+result = valid
+sig = 30818802420090ced19cb14277f90d5bca4825bbeb384f459ad2c375841a5ce4eef5b00e1eb273567e671a48357a7a6d60e389391c5dc54f4e1f8a1b0d4a91aa44d252eb5bb0ef024200f7f5077c3b0485bf5aa1849cb5310886c0599eeda6b33f6d926c2987b373fc9e3d1e16837e8b55a46eb6479e45fafc9c8f94468db385476f472ef0436d1b1527e4
+
+# pseudorandom signature
+msg = 0000000000000000000000000000000000000000
+result = valid
+sig = 308187024131b4a11c2da6971ab4b65995b4eef6ab1cc4f1a8d4438a570aac441c303937e503b349ec5e109adb457cee916bdf051092a6ba6c89e75bc12fbabe527cacfa873702420199c79c8c5abe9430ae4774ac9c20b38a435f5d2bbc0143eebb6b47a15bbfcd3068faeb3f3c694a40406e39eed2e27acce93ccfacc74063fcd1179dab96844bb694
+
+# pseudorandom signature
+msg = 0000000000000000000000000000000000000000
+result = valid
+sig = 308188024200d8f352204f4c15f5fdd64dbd7870a65ccc4c9a78616fbd976ca16ff2a35aea8aa2f6db0bade2c4daefefc4e7a347efebb91fdfeb01ef808ec2b044d5e9ecc7084802420120a84665d678e8c01dabc04309bc6f314e6c847f34a6134824087df68ec307009f033cb0a336b50549bf6df4fc037a3a6d633f97e382454506b984d8d725df0660
+
+# pseudorandom signature
+msg = 0000000000000000000000000000000000000000
+result = valid
+sig = 308187024200ccd1c00546ee2082dfe9438c9348f84f987a56a941296b537509fcfb4bd1e644872eb8fdfce36ef262a2c42d69eb8931ea21be8027ec2fc56a155127e607de096b024134947d4231cff66d0cbf5a568251e06d02eec4120876e48c72a3d840983180938f109df434d26060ff693ede581ff73be04ca961718730a24ed7d24c3863209a42
+
+# pseudorandom signature
+msg = 0000000000000000000000000000000000000000
+result = valid
+sig = 3081880242008a13921becfa123084e86edb1cfcad8b5a04a2e20301a11c8f2f6b6b768da5f30c24b550f9b76848b6156c9277b61fd29832d7e0b955b871710a6ad16180e440b5024201db9867ad19b825494584a64ae049252d506116ca98324825d9d9d37f6a0927f874b9aff3990b332cca760464e93d3e6ed2fa7bfe51a2131cdfcf3ad45c7afa9d3e
+
+[key.curve = secp521r1]
+[key.keySize = 521]
+[key.type = ECPublicKey]
+[key.wx = 304b3d071ed1ef302391b566af8c9d1cb7afe9aabc141ac39ab39676c63e48c1b2c6451eb460e452bd573e1fb5f15b8e5f9c03f634d8db6897285064b3ce9bd98a]
+[key.wy = 09b98bfd33398c2cf8606fc0ae468b6d617ccb3e704af3b8506642a775d5b4da9d00209364a9f0a4ad77cbac604a015c97e6b5a18844a589a4f1c7d9625]
+[keyDer = 30819b301006072a8648ce3d020106052b81040023038186000400304b3d071ed1ef302391b566af8c9d1cb7afe9aabc141ac39ab39676c63e48c1b2c6451eb460e452bd573e1fb5f15b8e5f9c03f634d8db6897285064b3ce9bd98a00000000009b98bfd33398c2cf8606fc0ae468b6d617ccb3e704af3b8506642a775d5b4da9d00209364a9f0a4ad77cbac604a015c97e6b5a18844a589a4f1c7d9625]
+[sha = SHA-512]
+
+# y-coordinate of the public key is small
+msg = 4d657373616765
+result = valid
+sig = 3081870242011c9684af6dc52728410473c63053b01c358d67e81f8a1324ad711c60481a4a86dd3e75de20ca55ce7a9a39b1f82fd5da4fadf26a5bb8edd467af8825efe4746218024134c058aba6488d6943e11e0d1348429449ea17ac5edf8bcaf654106b98b2ddf346c537b8a9a3f9b3174b77637d220ef5318dbbc33d0aac0fe2ddeda17b23cb2de6
+
+# y-coordinate of the public key is small
+msg = 4d657373616765
+result = valid
+sig = 30818702417c47a668625648cd8a31ac92174cf3d61041f7ad292588def6ed143b1ff9a288fd20cf36f58d4bfe4b2cd4a381d4da50c8eda5674f020449ae1d3dd77e44ed485e024201058e86b327d284e35bab49fc7c335417573f310afa9e1a53566e0fae516e099007965030f6f46b077116353f26cb466d1cf3f35300d744d2d8f883c8a31b43c20d
+
+# y-coordinate of the public key is small
+msg = 4d657373616765
+result = valid
+sig = 308188024201e4e9f3a7b800de63407b8703ac545226541c97a673566711f70e2b9ccb21a145ad4637825b023d1ea9f18e60897413711611a85c1179bff9c107368f1c1b61c24c024201de948ee577c3d4e4122a52ecccac59abb6fa937dfb3e4b988cb243efe98740309452ba013112b225b3b1b1384d5f68796845199a2602a8d4505a331b07d101188e
+
+[key.curve = secp521r1]
+[key.keySize = 521]
+[key.type = ECPublicKey]
+[key.wx = 304b3d071ed1ef302391b566af8c9d1cb7afe9aabc141ac39ab39676c63e48c1b2c6451eb460e452bd573e1fb5f15b8e5f9c03f634d8db6897285064b3ce9bd98a]
+[key.wy = 1ffffffff6467402ccc673d3079f903f51b974929e8334c18fb50c47af99bd588a2a4b2562ffdf6c9b560f5b528834539fb5fea368194a5e77bb5a765b0e38269da]
+[keyDer = 30819b301006072a8648ce3d020106052b81040023038186000400304b3d071ed1ef302391b566af8c9d1cb7afe9aabc141ac39ab39676c63e48c1b2c6451eb460e452bd573e1fb5f15b8e5f9c03f634d8db6897285064b3ce9bd98a01ffffffff6467402ccc673d3079f903f51b974929e8334c18fb50c47af99bd588a2a4b2562ffdf6c9b560f5b528834539fb5fea368194a5e77bb5a765b0e38269da]
+[sha = SHA-512]
+
+# y-coordinate of the public key is large
+msg = 4d657373616765
+result = valid
+sig = 308187024200b6cf64861a2b16e33976095dbf45a592c7c24228c4a1dd727f303d5eeb87e5388ad05c328f824c40abd3e6ce003fef5cd59dee0069ad6348ea6e57f90f6bdc0a820241228181c180366e5451dfef3593ce664804cb42d5a8d5046b816b3daf6602fafd9ac2dc24b8c93a10024480882558b6ad3d9e905923dcd0fd2a11964754a9b46b8f
+
+# y-coordinate of the public key is large
+msg = 4d657373616765
+result = valid
+sig = 30818802420093c8f766827d6dc15c810fa30433153a5e742859205ee8389fbf695c8840dc917440870acc5b160087ffd0cd9a6081029c60a7c26d5e8aa9a0570f4efdeb13dea20242012ec3bbf75a0ad3df40310266648a36db820217ed7fa94e9c8313e03293ef4f6a40e736fb8f208ad8fb883ca509d48046910523645459c27829d54431463b2548c7
+
+# y-coordinate of the public key is large
+msg = 4d657373616765
+result = valid
+sig = 30818802420152388c6da66164b706b41dd4dd48176d6eaf6525f876ef0ff2d147f6966ebfadf1767fa66d04203d3ec9c937a1f0c945aed953e34be444c219fd3b94d3277aa652024201658c1e5b2e563a49d11c883d05c491d628f0a92c3e3dc8db9a4c8d5f0dc846ac22af8b3c5fb5bbe2cfa98614dcffd87de1cee2c5912a5899505a0c5bcaa513e2c6
+
+[key.curve = secp521r1]
+[key.keySize = 521]
+[key.type = ECPublicKey]
+[key.wx = 2fba6a061201ea6b1ed4265163568735ebab78600cdf6a71101dc63beaf546d97a214fc6396793b014eb1aa7a728f53deb2ff9999a3808ddfed15e9629b]
+[key.wy = 1993852dadc39299a5a45b6bd7c8dc8ec67e7adbb359fa8fa5d44977e15e2e5a9acf0c33645f3f2c68c526e07732fb35043719cfafc16063c8e58850a958436a4e5]
+[keyDer = 30819b301006072a8648ce3d020106052b8104002303818600040000000002fba6a061201ea6b1ed4265163568735ebab78600cdf6a71101dc63beaf546d97a214fc6396793b014eb1aa7a728f53deb2ff9999a3808ddfed15e9629b01993852dadc39299a5a45b6bd7c8dc8ec67e7adbb359fa8fa5d44977e15e2e5a9acf0c33645f3f2c68c526e07732fb35043719cfafc16063c8e58850a958436a4e5]
+[sha = SHA-512]
+
+# x-coordinate of the public key is small
+msg = 4d657373616765
+result = valid
+sig = 3081880242010e89470f981d2c7c5c96587121a67323bb96ff2427739d0d885ea277293efa3b25c0bda04d81466198a3cbfc441f1b1b98f6bcdc2589d9d91a17a7899f70d0461e0242017351b0da8c8d0e4aa0974669d190fa2f90aa50227160594dfb55755002365441de17ea42902128a6f81e554177ed509c0cec31fd5053fae03f62ff76579ba92bda
+
+# x-coordinate of the public key is small
+msg = 4d657373616765
+result = valid
+sig = 3081880242011094ac23ca46a3e2b4ac3baae6504f1bfb3ddf2db9ab40eda32d8e0a05727998f8552a033bb05241e826a86a1d03014eae3aa5fe1a45caac1db3e8138b9cf5906802420147edb15a5080ee2f929f78b6ac86604aae51b674fa46eaae7fdfd90bf64d6189341155f4eba937eae74c9e480eb4fb7e6aafd4285e7fc503ee6ec20f0b1415be06
+
+# x-coordinate of the public key is small
+msg = 4d657373616765
+result = valid
+sig = 308188024201d876ae174da31e128babff9f1d15507660bdc7958750844dc4f4291f75a882a22f177f704be6067bf7ce8f06b8626d971e6ef5dcb666fa975c1e11126e04fccce2024201abb12630a68b669e6ad2d8d62654d75dfbc6b54a8e3a9c915be663e080ddcc348e57a10e2b1dd9f03e1b897796ad889b075e5919dc5bf37a112d92c693456e6457
+
+[key.curve = secp521r1]
+[key.keySize = 521]
+[key.type = ECPublicKey]
+[key.wx = 1fffffffe1d5d52b31ca52f8947a35593edf164cd324f833b90935846c64db1454df9f028dc8bc36bb04cb7f0cceceba01a3844097f7c35eeaa81428db0cca63331]
+[key.wy = 1b7c70277d0bf78a3c7b62c937f0cb2cad2565f5514f6205ceb1a193d4fdb45ba6e6cec07827bae0b16b8316c3539a15114d0de6d2de407fd7117551a70826eada6]
+[keyDer = 30819b301006072a8648ce3d020106052b81040023038186000401fffffffe1d5d52b31ca52f8947a35593edf164cd324f833b90935846c64db1454df9f028dc8bc36bb04cb7f0cceceba01a3844097f7c35eeaa81428db0cca6333101b7c70277d0bf78a3c7b62c937f0cb2cad2565f5514f6205ceb1a193d4fdb45ba6e6cec07827bae0b16b8316c3539a15114d0de6d2de407fd7117551a70826eada6]
+[sha = SHA-512]
+
+# x-coordinate of the public key is large
+msg = 4d657373616765
+result = valid
+sig = 30818602414ed692af1ed1b4bd5cea3aa8ddc6f3f15d8a6ee0016fa0e8eb958580e7421832ecc0e387c34aafac6380bac419ea45c42ae6426af503847f22c49c2f456338c1a702417aceadde02ace1668bc1a3360d34e125afde230f536c154d91e6c876bee1d34ae06edcbbca0c7cd17646840913164740b12e2e224fe3ef3dec6fd84a81b581c188
+
+# x-coordinate of the public key is large
+msg = 4d657373616765
+result = valid
+sig = 308188024200e01094048fcf7a1e2ec66faedffc40f48c9c93514325bde6b4958d80f0413efde7eec1dc6de65f96009c069397e51da2eb1729efa287afd5552b25a9e427a6d836024201489e7e124f66942e642de992e60b3a86fcce576767719390c3a312fcdeaa560a7fbb0cabb35e05a6d6f3499160fd2dba12d29b613b16dec7494c950d65fdf11fa3
+
+# x-coordinate of the public key is large
+msg = 4d657373616765
+result = valid
+sig = 308188024201d296292213380de133dc66eceb8bd857a5c468afe855c05da9db937373b51f9020ca11353415da76bb6af997a486d2370e31adcc0a4531952a3b59428678ee59430242015979a3c609c2c2099ae1b290da3d613b248e3a10de7ad770dffc82fb33e74fc3207533f97285cf4557a6407e9a775e59efeaee4264b2634933a6baf8c406f0c4a9
+
+[key.curve = secp521r1]
+[key.keySize = 521]
+[key.type = ECPublicKey]
+[key.wx = 0c7c8817bf2f0652a4a4b5140c773e261080a0a111395856e8a3350f5eb5612bd63b367b965e92e9538ea3b7908aef1ade4b68e17f9f9148495c167d1c4dd491349]
+[key.wy = 08bf0be2979abb8111fd0d768adcad774113a822c1bb60887053b5cf8c9563e76705a391ece154b5dfb114b20e351df4014bec19fa87720845801cf06b7fffffff]
+[keyDer = 30819b301006072a8648ce3d020106052b81040023038186000400c7c8817bf2f0652a4a4b5140c773e261080a0a111395856e8a3350f5eb5612bd63b367b965e92e9538ea3b7908aef1ade4b68e17f9f9148495c167d1c4dd4913490008bf0be2979abb8111fd0d768adcad774113a822c1bb60887053b5cf8c9563e76705a391ece154b5dfb114b20e351df4014bec19fa87720845801cf06b7fffffff]
+[sha = SHA-512]
+
+# y-coordinate of the public key has many trailing 1's
+msg = 4d657373616765
+result = valid
+sig = 308188024201ef8f785c51a25ae2cd93487b5c848d4af133217a91f51359c966e7538e68743578122df5830002f96f6fadb5bc44480e3b3b2c804e4c51cf95d059d5646c5cef21024201ba2276cc003e87bea37c3724e58a0ab885f56d09b8b5718f674f9c70f3b5ecfb4ad1f3417b420ec40810e08826efa7d8ad6ca7c6a7840348097f92b2de8d6e080b
+
+# y-coordinate of the public key has many trailing 1's
+msg = 4d657373616765
+result = valid
+sig = 30818802420155978adc4b570d897511f5ecfb65a31947e6e989da17dea716625bb3fa7b92b853623eb0cd9ce2a5e2b4d8c1c2a90ec04fe79d012576ec728a45c5ce47c6d500c0024200f79fa8b94ee282a3d1815892cbf15d7ebdf62cb042c76bb3c710c23e32b75992cc249d84072198e4ed63d72435a07d2ed76f278d7399f61a5b5c997f45692fed22
+
+# y-coordinate of the public key has many trailing 1's
+msg = 4d657373616765
+result = valid
+sig = 308188024201a2af29c58184ca861e7cd931f39cea064b199eee563f241cd5ecf6ebb2ade728f1be23cf007ebe8ef0c42d99f9f5190f6815446afc3043a820d7daf27e86b83b8a024201a2acd1822eb539383defff8769aad8bacd50cd24ca7aa6670671418110177808c3f4fbe6041b9cb898359ee61e04824adedd62b39fe5791907a20586333bd3c76d
+
diff --git a/third_party/wycheproof/rsa_signature_test.txt b/third_party/wycheproof/rsa_signature_test.txt
new file mode 100644
index 0000000..4ace30b
--- /dev/null
+++ b/third_party/wycheproof/rsa_signature_test.txt
@@ -0,0 +1,2606 @@
+# Imported from Wycheproof's rsa_signature_test.json.
+# This file is generated by convert_wycheproof.go. Do not edit by hand.
+#
+# Algorithm: RSASig
+# Generator version: 0.4
+
+[e = 10001]
+[keyAsn = 30818902818100ab9014dc47d44b6d260fc1fef9ab022042fd9566e9d7b60c54100cb6e1d4edc98590467d0502c17fce69d00ac5efb40b2cb167d8a44ab93d73c4d0f109fb5a26c2f8823236ff517cf84412e173679cfae42e043b6fec81f9d984b562517e6febe1f72295dbc3fdfc19d3240aa75515563f31dad83563f3a315acf9a0b351a23f0203010001]
+[keyDer = 30819f300d06092a864886f70d010101050003818d0030818902818100ab9014dc47d44b6d260fc1fef9ab022042fd9566e9d7b60c54100cb6e1d4edc98590467d0502c17fce69d00ac5efb40b2cb167d8a44ab93d73c4d0f109fb5a26c2f8823236ff517cf84412e173679cfae42e043b6fec81f9d984b562517e6febe1f72295dbc3fdfc19d3240aa75515563f31dad83563f3a315acf9a0b351a23f0203010001]
+[keysize = 1024]
+[n = 0ab9014dc47d44b6d260fc1fef9ab022042fd9566e9d7b60c54100cb6e1d4edc98590467d0502c17fce69d00ac5efb40b2cb167d8a44ab93d73c4d0f109fb5a26c2f8823236ff517cf84412e173679cfae42e043b6fec81f9d984b562517e6febe1f72295dbc3fdfc19d3240aa75515563f31dad83563f3a315acf9a0b351a23f]
+[sha = SHA-256]
+
+# Legacy:missing NULL
+msg = 54657374
+padding = 302f300b06096086480165030402010420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25
+result = acceptable
+sig = 253e1d19bbe91064f2364c1e7db3ba8eb6dc5b19202e440eab6fbdf28c8c6ec05b812983713c338c72b6e99b8edf506a89ff9fc8e5c2c52362097a56dc228060eca01e1ff318c6c81617691438703411c1f953b21cd74331f87c9b8b189fdffdfe8550bd2bd1d47be915f8604a0f472199dd705e19b1b815f99b68d60bc257c7
+# Some legacy implementation of RSA PKCS#1 signatures did omit the parameter
+# field instead of using an ASN NULL. Some libraries still accept these legacy
+# signatures. This test vector contains such a legacy signature
+
+# valid
+msg = 54657374
+padding = 3031300d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25
+result = valid
+sig = 68ea71ee1911687eb54b3d19cedcfd44719d0b24accccc59bdafd84e4eba48ef0be7f115e7073f9f273286a7dcee3b94cdbe208e30ae496987479d3aa12ab0e12685ab592d7693a494e6ad27d526ed3ab5912c7f81e09983931794c2165c22fd859e0f9af1a93a4dfe144098c562731e6059d236b52cb865996c87a9baf7f103
+
+# long form encoding of length
+msg = 54657374
+padding = 308131300d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25
+result = invalid
+sig = 52f46d508e31f030b17c537888585f919037562e15f1924543601a41f9b701ee416ad73d6576b4eaaa64e685289dc478751dfe2d7e588252bfe2d43f4b3a31c6c6c39a9df884a2fc2e45f09c2150a830974b1c9d26090830b37bf06f1d57be1da34ebb016e9db7ce2c34e94872c89567ff6f2ab35a1a9fb6632e100c7d7af834
+
+# long form encoding of length
+msg = 54657374
+padding = 303230810d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25
+result = invalid
+sig = 3f34017b3172aaeec72d208308e9b83150699f86634b948847eab56f0169fef51b5636a96866f4f0f4c649400489e047803a91f2b2f32ab715065e20770c4e2788946b85aca5c90efdd6a9458dd9b6f797f96a3de88d2e4896afe147d8c0389943828100061903a30eaff1dadd98d3e49dba56cdcfa5f215d9c615f974f4a0bc
+
+# long form encoding of length
+msg = 54657374
+padding = 3032300e06810960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25
+result = invalid
+sig = 1478337676aa47ca72ea7557facff06f6c777f56063f4487d345e43dc56a6bc5f8a891085d53a32c9d1c3cf7f469e7f56847b0b1b9b5b784526078271f21d0550afc40f81e2b8e8dec851d87511cace965edceb83cb96c8d6616e1ee75bb22c54412fc942a6f71c9fc609a31a69d34b774a97c1ba4f85cca28d9993db8543f75
+
+# long form encoding of length
+msg = 54657374
+padding = 3032300e06096086480165030402010581000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25
+result = invalid
+sig = 77ba423e600bdd761ed10e7c00698a87fe1322f5f42b2902a0be7a24b1cf44f613fa55edeb2ded0475f8e1a13e5368f9a2bfc4f2f926ef289a2207bf3689fc1c8ec3e5463064a7f51bbc993966cc4016319b7c95f282372f1ff848d7fca753a81d905b3341b0fbf60ba186e750f3171cfc84288eff8742bda432bd6c8dc04f9f
+
+# long form encoding of length
+msg = 54657374
+padding = 3032300d06096086480165030402010500048120532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25
+result = invalid
+sig = 9460ee79bb990bc3fe28cfca92363e6ff6900e3b61b3a402f06024a72b7a65d62094b4419e93900995eb121327f72b26b139bab3e5e2bd0c82e0cf6357f3b16f1c1dd4407a9a820f20e3baaa2259614d9ee3e015e1c1778befa13aff1e545ea1758cba4713631d63180a91b52df394294441642964a024f45b2251c90e002ec0
+
+# length contains leading 0
+msg = 54657374
+padding = 30820031300d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25
+result = invalid
+sig = 96ac043d3cada45aed0dbdc4662dcf7855553a5effa1077048b51c7e9bfff7c2bb3486ea42894d4b4afb26a3b3bd32cb68d5c4d8ca2622f50d8c56fdc25baf83b9909ecb096419ddc13578dcc8121007f7204ee82c517ae03de70fa23ef2390602029a0cbc8a96c5b781d857dbf12802aa561f5f41ea35aa0babb91b9f891762
+
+# length contains leading 0
+msg = 54657374
+padding = 30333082000d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25
+result = invalid
+sig = 2a70643572a7cda975d9e2c0827837e60eaa78c297b1ff75b84f654a91fe33294ccbeda52676ece50fcc03018151e66c24940bd0574ab85a6599231d587f4a6e0ae841cb6696e7dcfd182cb75001304e36887bc4fe3b373828f8b0e62ac2300a626c9e6a2cd05bb7910e74da2978dae1948f855b3b455cd30367160e21581cab
+
+# length contains leading 0
+msg = 54657374
+padding = 3033300f0682000960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25
+result = invalid
+sig = 27778e39b45dee1e7003f1d315d3466fc111791187ddc056784c158df92097e123021e11918b6df8d905304db732e83d904bc914271b03def4ee129c3fc8adcc4f81b690e09e70e46c8b920093f304e64ecb7358740e976d28538a9eecf09ec1e1cd47df9107968207b21538cabe076bcc07c3862c46a793fcf638c70a972885
+
+# length contains leading 0
+msg = 54657374
+padding = 3033300f0609608648016503040201058200000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25
+result = invalid
+sig = 3a879e9f883b158908014f3617cae3315d47afdadd30840494f68d91c04dfe81bd16a40c7d21238cd1816928d989a232a3492325ab0f95d4426e3fb7d58c9908191dc557d8779dabb282287b7860c30e0796283428e0276447235809882ee990deb0f4312c01e7ddf0690406eeacb660acc6957bb670904cfd8d04df5e3ebda2
+
+# length contains leading 0
+msg = 54657374
+padding = 3033300d0609608648016503040201050004820020532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25
+result = invalid
+sig = 2b82155f363a3b283ae455f59e41c29dec2fbd8c7438b0e347aec5b38c7c895cb7d326870e4fbdb935fcbb561f223bd926dbe8b95ef5eaab27920dbe30c641e99f526a9bc356af54198b459b59383135a82cd5b6edab7da0b1a51d939b2f9951e1432d637c4f04a3546ed9c890143ae364602b94eabdaa2a45e4bdf0b5bdfa71
+
+# wrong length
+msg = 54657374
+padding = 3032300d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25
+result = invalid
+sig = 1dda56dc953aeee7fd76ae7166d92ab9e3d1d9759e76f8f1d7634a73cbf69e39d8249153d7c2d83c9664db13552f0c78df34b8a67e7b6c10bcc61b5ead7ba62ce0ec7ba8ac78d146f7e4cadee6f6250e0bc3100660e7afbe3afa17fa288d97549b4c8cacc00ac5c942673485739f89c9e5e63ad2be97a8f2313f5c5b095e7542
+
+# wrong length
+msg = 54657374
+padding = 3030300d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25
+result = invalid
+sig = 692c143b82196a391a3546607336e6f3bc047412645cf0def0d62d1b42234c14da138bb7f451b45073bbda2aba23412e83bc40d4e7de3e0684f2cad7d059f2d6831aa3d2ece4964ca75cd41dce23c5ba495c15345b36947b4b5a051fe1b84e148b5ae21f112d2245b1acbaeef9dc4a0c408829b9d2b1b5ab1d3a40af0a27b99e
+
+# wrong length
+msg = 54657374
+padding = 3031300e060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25
+result = invalid
+sig = 66c31a45b2287425a20f65c3eba9cc58c370882f5fc62921935491fbd516df9baf9b28304a21d9008b61a92779ecfb3b0c03f6d74354f5159956e3fc1d35bd7376289378f05d7a71e05ab32794f2566a54635e8dc64740acbe10a293ceddbebe8499b520f406023a134eb9927ebb788b92488f036d109ec0a40ac52372e847b3
+
+# wrong length
+msg = 54657374
+padding = 3031300c060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25
+result = invalid
+sig = 7b85536bdcda4ad3fc40129f2ff9dc85d9ec049913784064e7358686640446278a2006d93fb33429407597e5d8c783e3f7aee8a7791d69139f3c802a6547f01bf987415eec2447b0e8c4f3aee7ae2085d141fa34ca6634bc109dede93285d5c40cfcd98bd47ceb9cc1890dfff53b7ebb8038533580c7a67fe14c0c422e20cd64
+
+# wrong length
+msg = 54657374
+padding = 3031300d060a60864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25
+result = invalid
+sig = 5d77fba3cbb1905d83aa532fcc3227a95d7931bf0c2ab51f8118824de9dc029bd2470adf48b41c694ec7359d00a1336990c30ee368dd40bd681ba74794415d3997e7a756659397bf6abd44ca91c12a8580a3f5d1cdbc7f3be0c23c72334ce9b1419e6540dab73f5ff8ab57d0bbbe92b688bd3495f9344822b622042c2491bc41
+
+# wrong length
+msg = 54657374
+padding = 3031300d060860864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25
+result = invalid
+sig = 7b5476fb78f389d1131764e7a13322f86008924c8c098f6d74f2df4dcc5a504cd786b3eaae33295cd1e87a2bbd1a06cb385674d465110a9a990d52de9a67f1c13ecaaa86383d489423c084fae9ecd2e9b109f4f04b8c013e3409128f3a079c068c1ad27bc2a20e76ad149325b7b0f0bd804a4e33949a98aac49076260702b0b0
+
+# wrong length
+msg = 54657374
+padding = 3031300d060960864801650304020105010420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25
+result = invalid
+sig = 6034e1253e4860a29096e392076794cfcea166a30b340cc09f77baa5952c06d148bd89b750c3112930ef210a50a7d3f6569da89912b5e50e824116e73a15536958f75779506d07e67ec9c0cd8de4b51dfbb0fe56926feed18ffbd83b0cdd50d56326c54adf97e629378ae5f0f02fcda3da1aa98cb1d1990946edec711a85a0d8
+
+# wrong length
+msg = 54657374
+padding = 3031300d060960864801650304020105000421532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25
+result = invalid
+sig = a44cd265e1ecea83fc74e9eef746ef173277cc96f69a1798590ddee7ce5b5c34a82ad58a5c042db19005e04eec4159900ea764c0d008c52b94577d1c438661fb767902d9d1bbd6a90bdc4df685ec5951eac81d8b4dd36bceef7b6f919e85b6c994c7cf22a804f15cebe63b77f47b3bc2c2aaa68c6362c27a574b849efafe72e9
+
+# wrong length
+msg = 54657374
+padding = 3031300d06096086480165030402010500041f532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25
+result = invalid
+sig = a160aa43f4873cada34bea5ccd2be9dce07940ee1c08eaad524a5019993bc753ce92cccada706b483f106ff20b327b35e7c83955ad3bbff3f26ced3489877d1b5bf285d61afcb30219c02a440da61030e301aadb901a525345d1a651a21c31a62ac9fb71738c3e215a8941ca9a3c4910679c5e774530c28788f6eddd7a31c024
+
+# uint32 overflow in length
+msg = 54657374
+padding = 30850100000031300d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25
+result = invalid
+sig = 1369c78f816a9baf027e255de0c258125be90f35b8daafee87f2ffef2d465e0694af4401cc5cdc7ca78b08d5688ceefbddc02abc5495d47c6829d696f8370ea427e7e0225eaf22cda720bbb5881edd16b19bbf2ca86654c65b4ad481c13fb38af00d77922f46b311f936c51f4610f6bdb514b366aa05f029c1e63e3cfcf9763d
+
+# uint32 overflow in length
+msg = 54657374
+padding = 30363085010000000d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25
+result = invalid
+sig = 41d4c1ea43cb207af8bfc1552e31da7ca5744b68c4e00c3bf55f4edd4c81e91c01f44fa05290dbaa1fdcdcc775f6032a049b4965345c16aac6994b06cda9e0387dbff96cdb115e014f69bb057faca2f618c70a31edd0beaef7acdcc0fb7c83b2f07a8b9de48aa04b7c973920af5b8dc20aac343251ddf4c2277985c3db1dac2f
+
+# uint32 overflow in length
+msg = 54657374
+padding = 303630120685010000000960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25
+result = invalid
+sig = 76bae6c330b9ab33aa9f2abe8559c51fb95f953a75e48053ab99078069214b509dd1b5080ac6819e32912619372d71a9ff1a67449dd699e5bc6ec0e18d1893dfb5bd571d933926d05b0d9fd7036ba4556e209369d1c57ec49cd9075e583c257c6fd4899c2a8bbb157547812cc692f264bf54712c71ee090b974d99b4d1629696
+
+# uint32 overflow in length
+msg = 54657374
+padding = 303630120609608648016503040201058501000000000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25
+result = invalid
+sig = 3480a5c22f092f259b5bc4fdb9a33c044c24a645b57d61920effde1dc0bbfe53738023f16025841f9323b40f72c11091941bbdfaf7c2fbf77ad6626dbd6a3b7abb3ee916d96a922b11c86ce80ee67dec619bb98e9246d35a33b11b3a4e2a3a130e8b57ed4bcdd4b4e73aec3f9e3d50d3db5e29cffeb186846c72d09468d018ed
+
+# uint32 overflow in length
+msg = 54657374
+padding = 3036300d0609608648016503040201050004850100000020532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25
+result = invalid
+sig = 5b3d3a198d4b36c6d9641db181fff59407a25bf1571f85e47bad1eaf138079872b93b9eb51aae09b48d6f4ef56badd96a6584277d8f3c6e4a4e11275f72021b50a1665ddaaa56a2a7caa7da6b4d502c5214e17042811154d411dd2197c250264bb69ba43adf668d4f7b81d932afa55e378214bb19ddeb431f702a91dd11e23bb
+
+# uint64 overflow in length
+msg = 54657374
+padding = 3089010000000000000031300d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25
+result = invalid
+sig = 1cc5577d04e34550e7f3d136064547efa30b9413e2c423b5a320eaaaf11cbebb91e13bbe3874e4650e057a8e38c8a366c473f35e0de82b22f846721a09e3f279ebdf54c8df395a9041333f09cb7bed5291bc1842857c4ce6ad5a1c2c476c1efddd5fe42824c25e0581aa7bb8f621d3b53566637c6266bb1bd0a5b7fb79c72616
+
+# uint64 overflow in length
+msg = 54657374
+padding = 303a308901000000000000000d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25
+result = invalid
+sig = 6e56d1746105344b34fb8299d173f4a5032cbce3556ca9d1eee35f8b31818efc121a1a9599c24fef8531243016dd6288d67b4bf9fdbf2c90fba5b1661be03531b5e15385ea465d1376010f0af761e8fb1afff7823dcef8dc100d97c192e9a7d03c82321d83fd8ecf67207c65cf182e1104ec5669536070cf1e3fe73c5e27edeb
+
+# uint64 overflow in length
+msg = 54657374
+padding = 303a3016068901000000000000000960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25
+result = invalid
+sig = 37a413f9202591b8860cd9d68515ab522ae800e9a71793b479f1fb74ab8c9b07e72fe82dabe1189d028b813610e5e57c055af2d32837551fdb0cd93d7669a3c02a14c460f4c92136a4d11cfb7dcc76401bb5b699fbc64d302736d68c3591ecd59220107cd63f55c83edd38c4568e6f7749c0d9baebfb7c8ae1bf2179101745a9
+
+# uint64 overflow in length
+msg = 54657374
+padding = 303a3016060960864801650304020105890100000000000000000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25
+result = invalid
+sig = 9fa8aac224bb50697103d457e7fc870853b23670ee5b8c7395d68ed82b30db18ae34a569abdcdf19238ffca8f5e435327dbe605bdc1a6dd3eaa3c2beb33f00642984a2034bf3b3e8de3ec7009e35069d5b27253c4aadcb4f163148e157252e3b9334abb6cf0299161c12908529f52de9416ec6218af7a6963fcc987c5024ea71
+
+# uint64 overflow in length
+msg = 54657374
+padding = 303a300d060960864801650304020105000489010000000000000020532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25
+result = invalid
+sig = 0f50bc6b1b94aeb6805dee51c92860693de47c4925ab90b57a46e0485a9afeed45083eade73bee684cd07048e632d1dd24aa2efc42c1f85e4fd7b7058dbeafb53a3d5b1cb1e7dded3352c3c92ded891839263a501afaa78fedfd04546c43d16f7a52b800abc9ab1ef827ae0eb19d9b52def2435f1477a48dff61800b4db830e4
+
+# length = 2**31 - 1
+msg = 54657374
+padding = 30847fffffff300d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25
+result = invalid
+sig = 9dcc651cc0a1b4d406112c0d1ebd7a9fb5a2c9d9f9cffbeab2d2821e5ed01efa9d191665794649bd1f588b729e8fba1eaa37a5a736a5863973c338a92b2665d6ead13b72a19d2da778febb94b150e8d750340a3b856fca8b3b6e3cbfecb9c397c23f46912ba546ab0f64ed88404ce317f8fb2278b68950e9712d6b11f5cdfcaa
+
+# length = 2**31 - 1
+msg = 54657374
+padding = 303530847fffffff060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25
+result = invalid
+sig = 0397d14205c2f52423ef69c874294dc2b37d5be5d5647f7e83f1dd6783cb41cce52e6de1dc8c9e93ca1ef887d4c0ea79cd8b26391d638bbd8080bce830bf1bd7fb1de31346f28d609874fafd4a34fb7bee900441f55589ec3c5e190106d8816cadfcfb445834739cafaaa3903ed93cedc41a76aa0ce18fb49a3a73b7b5928735
+
+# length = 2**31 - 1
+msg = 54657374
+padding = 3035301106847fffffff60864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25
+result = invalid
+sig = 2c3ffd881c1c0ce2e4c98282d6011179a89b1e84b17072bcbbb64164e5e05410d0414a1fdbbc04564f3d80f3891f28c3f02e92bf97b4339b5bd4699614e236d4223cef0688c44b297eb9c0e22246b4cb28983b102a446dc76671206c3b77af6897f2f445512abda37bc9c37257dd4f1c6f0e6ec40929eb6b0058682b9d2f6c66
+
+# length = 2**31 - 1
+msg = 54657374
+padding = 30353011060960864801650304020105847fffffff0420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25
+result = invalid
+sig = 668bd06eafe953fca6a17b0da0f9006ceadb09ad904786b7530148df7eedc146d20a5472c39677d65e59934c00227fb662b3474596e6072f56d2c00c3d31e66f0da85f4670e75c3f2c910c0fec8c98bc31fb2eceff80350b78aec0d316e9bbb331544d8a3d0b1649291396c717e350bebba3d3c3a0b1d55f010879b8c7b7d4f9
+
+# length = 2**31 - 1
+msg = 54657374
+padding = 3035300d0609608648016503040201050004847fffffff532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25
+result = invalid
+sig = 87482257ae1d18d0357428b756ae35a48549536a3439ca3c148eee64f4c096d896219097d55c14a25eb1490779f6b1471aed238cc0d6aaf265c12ac086d04de9b79a37518056dfacc12cb4916c17505fc7e2e6c1e0db720a286ea65bde4d3da1d2dcb8d0276e8ce73f3f923209149955285c602572cfd24c82e8d96d45f569e6
+
+# length = 2**32 - 1
+msg = 54657374
+padding = 3084ffffffff300d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25
+result = invalid
+sig = 03aadd447f36952dfe73ae89e5c656b7d37ec92535e547cca62a7747f3831f2f613c7dc094f3d5c4c6b9e02b21ed4626930ef3948b42ed41f4cf468d2474acadf1c75599c5619e4872e6d3dfd93abe92234165135ed265e0c0f64fddf23e50c1f9fdcede8778a8ca008ab00f8afa887da3f4699df9f1140953232f36d035b03f
+
+# length = 2**32 - 1
+msg = 54657374
+padding = 30353084ffffffff060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25
+result = invalid
+sig = 31afd9a0d827755352b16de04de42e98a8c72f08919ed475530a00c762b8a03bde22634dd856a7eede4b4947d780cb3efe55775e16d7f46f209dbcb5569b2d9469cc271aa850f74960f7c741928055925349821e32e1e0fe5a040010a39a4b6a343f7f35c204106b3617e528a99dcaea8a93766adcfe7be31cdb98f7f7f14669
+
+# length = 2**32 - 1
+msg = 54657374
+padding = 303530110684ffffffff60864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25
+result = invalid
+sig = 16ac0aa2d727ef5fbf0305259ee6fa40827c92419f819673fd64cc2dc2dbfe7ce1cfcf06e26d45f59cb3d9afd30d7a6265863fe856e0a0b1b9508b1e7a2dfb0f87f5ebfc444bbdae504abde7daa33bffb991551940df682c8e2c45edef0563b34d4f11e1955e83c2145ee321165517d1532abd64dc613a280fc30670bba1f898
+
+# length = 2**32 - 1
+msg = 54657374
+padding = 3035301106096086480165030402010584ffffffff0420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25
+result = invalid
+sig = 0fe0c75dae62462e66e7277b03c9113727419f7d4db7b2a567c0c189fb6328e1f73d5d44e2196b436f4c2f0f12950d419774c8a51c55f9b2217f904c4f03d5f5754174719dfb85f62795ef75e6d54e703bf231fd8472250f529f85294f29f6c5653ef585079c3b3d8f931da80a46c8afeef37696fb0e7986d413bb1996b8ad57
+
+# length = 2**32 - 1
+msg = 54657374
+padding = 3035300d060960864801650304020105000484ffffffff532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25
+result = invalid
+sig = 9ef993e6ccf015b0b0de75b51213a1c3efcaf66bf83655287484ef28d984806226a7af1704fa6a7fc02984b44449f83ae24761021e49ba6117505c1e609406b002215de27d696643c3354fb48e6c64e7300944edaeb96e4872275f75532f5aab94358d4954522fc7903439e99223d8124e79a3f519050b6b576b77d5abe7c3e3
+
+# length = 2**40 - 1
+msg = 54657374
+padding = 3085ffffffffff300d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25
+result = invalid
+sig = 0fbc20d18ef2dce383ef9640232e44fc287cd97bdb1a18614a77a6d72da5db05df264fff4964b3395445a5b75f4098be8c923ec613efa49e87877c08ce52e9e8b491eaab77ed2336179f1e447bc53e0d9fb9cbd2f2c5e180acdc946df4cdb0a878f27dc010adb1d080330e0bed852181bf97dc4372049ac6ab5802c0d650ffa9
+
+# length = 2**40 - 1
+msg = 54657374
+padding = 30363085ffffffffff060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25
+result = invalid
+sig = 3df42c382b86647a466ffc743dc4713259bd7dfdc909939738e59e3d1eb11d104537762c50eb55d4677a005f7f925ffc7ef0751ffe0c4320a6cf0733e738a404b2672f3dd11fa97bf9d84b786a47c63bbc962d52873765a6de3a57590c2cec68118af81d7dac4f7ce6c101811f2fa364a34fe704d674be5a28531d6e8c4fe120
+
+# length = 2**40 - 1
+msg = 54657374
+padding = 303630120685ffffffffff60864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25
+result = invalid
+sig = a66d9848a3db7e49d8053c4a3869415c0bb58fd265276c99a66ed1df84e162cfe8f0820229d2ac2f99d9753eed39af46649409cf559ca6edc8c47e550b7a4cf24fac756389e365ad73ddfa67e72d042ec494644c5f277f60864dc90d6cbfdf556396c795192077f51f173477b934871e2a960f7ac3e6e8c8039956a5061bccf2
+
+# length = 2**40 - 1
+msg = 54657374
+padding = 3036301206096086480165030402010585ffffffffff0420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25
+result = invalid
+sig = 7561668d5b2f8fd3190be8244d4d0550043dc0a7e80dfac83eb6f6ddbf448d424082fafc332e473d434b37ce7605352594ce632f4d5de30951581af907fff6c01814022c31a31b3d130673a56b4ef7763bad595053af0174df395b802722f5046e408c978e2b5a9a63f8ea80e932f76513928253f432c8bdc7ee51872d315b7a
+
+# length = 2**40 - 1
+msg = 54657374
+padding = 3036300d060960864801650304020105000485ffffffffff532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25
+result = invalid
+sig = 5a836168587968425c4e103bae20603e0ae6f714ccdc603a865bb3541b65eee9dd0d9ee21cc66c7a83403fce2413b97f1c1239947e94614f6f2eb731387c8b9d956242bd9fb0545eb2c874ca1a167222034649894b41fd0fa935cf52e583a5e9a4b503cf9f2b238c025bf2e22ed78e7a64bcac1d38302cc2361c71b854e79123
+
+# length = 2**64 - 1
+msg = 54657374
+padding = 3088ffffffffffffffff300d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25
+result = invalid
+sig = 97c602416f2131d34f2a57acecf26365a30c12f77e5beac095533848ce227302092c6f44b47f011d6eb0a91f8024d1935d8bb274c42b57875115a94281fd3cb198f9334758d3200c1c721f6babef332c02a89968a7089f7783993bdd54f809f8372437798d2364040c1faabfb00faabf28cd6ae4ffea29ae2c08a6a7e6074700
+
+# length = 2**64 - 1
+msg = 54657374
+padding = 30393088ffffffffffffffff060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25
+result = invalid
+sig = 2a970dc291a1dc935cca6985dda703bcc1ece2e40817ce8fa79b6e8fe84e113686e6e65570d46bf22147bcbc389cb5f86f92dc185f556d15e7614cef119fcd7305a31fd2f8710812f35f9f0bd8a1a6e5be3163de644370c67181b7575635dfb9f717f78631d62db714b2a19cea7079ff13c8926ae0c601e4befb6541b02a7e20
+
+# length = 2**64 - 1
+msg = 54657374
+padding = 303930150688ffffffffffffffff60864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25
+result = invalid
+sig = 6e16d110235cd11e32b114ca9dac0cd6a1b041a6d2c61941d49bb458241281f62a4e2b1bf3cebc3e67e8c062ec67a51a599a553b09732e23e1d09fb2b20be7fd311a7122414d535651718a1421d4239276c227b96506729a09e3ff2779dd1c79de4d402623039b826e2bb4d26d1b56775fce14ed0203a9ebd8f042d981705a77
+
+# length = 2**64 - 1
+msg = 54657374
+padding = 3039301506096086480165030402010588ffffffffffffffff0420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25
+result = invalid
+sig = 0716d252488e08f10a25cec94714e6105bd4e13ff019431190864cb0f4378d315f4bd0fdf186e1f2d45a6e97eb04fb2013273e178ce4f82a0b67bf9d021b1d8ab73d753adf2073ee1ad6190b2163139db63778a3670b7cce23f45efb601bd59644a431cbe534ecdf4c4c58ed02ed03863ee32d296b5736c010305fec655b1a44
+
+# length = 2**64 - 1
+msg = 54657374
+padding = 3039300d060960864801650304020105000488ffffffffffffffff532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25
+result = invalid
+sig = 03e52a2ed638bfb9184a0ee3698502af3a19bb959a984957de5101e6f7a62cccc2ec2a6293fa9d76fabf3ce7e4bf35c65a5f864bc003686a1e05b57c5af6ad588e05a5225479422d7b78c5bedddaec7f4b8c1e9ab7478c1ee253847324e025434b76a01b82a40123ab31ec9862c6016885dc6cbfe97801503369fd3688bdaaf8
+
+# incorrect length
+msg = 54657374
+padding = 30ff300d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25
+result = invalid
+sig = 9c4217830da16424a6c80a62e1e1cc0c589e3324267b4498e89af96998f83524b67c703e46860ca55631f1e659096366b60557dbbc8aa8a3a7ff6a887f1afcc55d336458ae25b015061adc391b8a449a7546e48d7e1d783e5684730333b0e2a32c13d36e342e31a9c1c447c0585545e08ce4f6340529413aaba6872280bbd7a7
+
+# incorrect length
+msg = 54657374
+padding = 303130ff060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25
+result = invalid
+sig = 5aa35d19b312de94d0123619500c15ec79fd838f6f18e75e79a11e50d0eca9406ecb38de68e11cf107f80ce2d62573bd1e4062fe78f30cf4bdfe9bb571488887d9dfaa2d6031f3b7efdd0dd78f04d980abfe641f490faee10e86dcc9b729bda0b127b448d33b1e1b76373794c284d1aecb5b813a2defdae3723eafaaf3606eac
+
+# incorrect length
+msg = 54657374
+padding = 3031300d06ff60864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25
+result = invalid
+sig = 971daa114a33b412a3aa1c3a93d5e1cb9810210019fe4e6dd0c70361a99f1a0676563bca2a05915df2ef2e38cab387ea16405d371d1a382ac286f1f97d4fdcf84464413986d54d6e2c7aeb8d5afffdc6de31684ecc7df721957d331bfa588a5f2a65c52f29ba5e4585bc69539e1945f1c4306f8d664d9cedde6684254ac704e0
+
+# incorrect length
+msg = 54657374
+padding = 3031300d060960864801650304020105ff0420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25
+result = invalid
+sig = 1f5bf49483eb6f33a5575ec2a8d49388523ee41223210f05e1f9f73bcb5a8973dfaa0093247460885f034e4ed7cd888c63f9f0f74dba7065f00cbfe5d9cc0dc7aebd7893acc3f32d5cc03763b59a0a846554ef58569f153301dd6080d428c8330718e733b92e76367f4eb75213de1495bdb1a5743deb55a77919adb45bb6bc4a
+
+# incorrect length
+msg = 54657374
+padding = 3031300d0609608648016503040201050004ff532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25
+result = invalid
+sig = 7bffc77cda9ff6bfbbd5a92fa6d4cf5a9f48a083c37a9437e5d82c0ad9f625aac8917c8df8bb4db5ef879431bacf360399c6607711082d6bfc5264f40631f2a742a3494c039146c3f41c7b53aa754afd35410a0a26c6957dfec86797268861036bacb5dc8fa6ca2893b26a3e4b186d4ae774a3822aa1e99ba4bf6bc3d53b2c99
+
+# indefinite length without termination
+msg = 54657374
+padding = 3080300d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25
+result = invalid
+sig = 3e461f3131735907cec3208f19a7ecfaa8f3bedf587d1c586773899f3fed55cf669ba736c9478b93ff058fc063e62433bb0da4d6da8254a00a6b1e1527dba86d89ca412cb952a988009d8874163683e729c7544b9c83e07b77467b4329e04bdee552ab0513f92dcc7376ed59718b645b50bd50661c783d559eaceb12f7bf5d10
+
+# indefinite length without termination
+msg = 54657374
+padding = 30313080060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25
+result = invalid
+sig = 81312384fb68fc608aa019df2a251d5a77dbff379c99d2804bc5ea766f051a80dcab2f63ec0b60d2b26391b35a83a5b75c7449fb0b32bd28d78f1138dde33b223d141e293bf007c5d028b34cd6055a4ed7aa31881c8514a2a091690405f8a708da65b34730233168dc08cd81733d2717db133f5d54ada593184bd008e5a7f016
+
+# indefinite length without termination
+msg = 54657374
+padding = 3031300d068060864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25
+result = invalid
+sig = 1d1150ce975992c50b3cbe98f2373621929c7a90f8dc5a9434a06159fb614acdfbd09851b297505db51aea8132a8f082fe72ea23099aea18494d2a73aaa6b9b6b04ca6d20a88c5dcea917f92c5df7943254fa9c3b1e7eca05a2ae2f796726d9296c880cf0872b8c32082a3a42b9cd099d286b586b0efce95908c8ffd27835572
+
+# indefinite length without termination
+msg = 54657374
+padding = 3031300d060960864801650304020105800420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25
+result = invalid
+sig = 7c64ae50883b449f68f941c9892dc1e1f446bc3a779ce9906bf5f6751dd110162ee03a99d1b556ff380f176263846e76aea5e7078927ec6c076a79c64450f6ce8e7a9faab4040a31c145564107120cb524451e4fec4b1ae3702d0b063c660031b61fb6c2d0cb46d17c5f4605124057d5ce3a0ded2019a14718de1374e0e87124
+
+# indefinite length without termination
+msg = 54657374
+padding = 3031300d060960864801650304020105000480532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25
+result = invalid
+sig = 65e61f63db5ef3a5de4a11aa39e3f4a6d3d952336c19f0fd60255b376d459d318fe4234a3a6c883090617306f98659577f7670054fc4f2d4c82bf7fde24bd1a231c71644d487d65beead86828e48a3e081fa6d4666b86b899ea57c99a67c0ae75947f2a4e5dbce3025421b3213224e29a55faf0cab8d9411b629baabf7c9ba6a
+
+# removing sequence
+msg = 54657374
+padding = 
+result = invalid
+sig = 5df1c4a701c6fc1f2daf6f4538f29c3452667424c05edcbdaba4a1678c8b5bc0e89656a0e48aef46642e0bb597813688904e9d74cbd377a3d9d2c965bd3ed06f136f10367ea3eecf89a97508389448a31ae0e79ed3725d0c4e99a516daa4116479bc53da5d7c2f26c7ec6310d4cb4174bb781405630a9b1c147b0e1da3a7faf9
+
+# removing sequence
+msg = 54657374
+padding = 30220420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25
+result = invalid
+sig = 3e43837b92ebe4df08586fced3dce46aeb2fdb6ec2bd0c58e823f6e6363b9b676786929d13ede60a8d8d0daaf71f0de8880ed0fdac8706eb2f324394145818b641d1049cc7552bc6273d86e901099c78297381faec5c518fb6de429700f3bbfef76cdecbb60088b9f2a77d75b8ff86f06cf23850e3183a267c0ea34f4f839015
+
+# appending 0's to sequence
+msg = 54657374
+padding = 3033300d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e250000
+result = invalid
+sig = 26d20fecdcf0b7d6a0472754aecbe115c39d580ce9d78b67d1a6395aa6ce6689bf6d0d96545341fbf04956a48c47f7d30bda017acb1d8e24ce596aacd3e05b1afa571d19f5316142557f765e4c5d080bc5336b79e2c02d8833d076ac9d7794ffbe85c66d0db97e1f5bd2ecb46afb15c19a8fe083fa593420e996a483c2a3a766
+
+# appending 0's to sequence
+msg = 54657374
+padding = 3033300f0609608648016503040201050000000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25
+result = invalid
+sig = 1163082ba8d48352df7eab96a0067539faff24374a630aa4393461a0aac716606625d706699dfc22cf3aff89fcc278f83a0adac87aa0bf192dd86a97031515de1933a23849478ebed20e4203abfb47345bc18f38da5d45e829997b10107c536999b2ce10b2781e1db03e10cc2bdbc2e0ff4c3db5d271ce83c1e7e267e7c1e107
+
+# prepending 0's to sequence
+msg = 54657374
+padding = 30330000300d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25
+result = invalid
+sig = 0ded592bef1fa809841e0d7365e66af12f4239be0928656e7c49a043b9f2b18b9bd2dfe93a810c6e6c8ae6cb8a5c9d6e9d39a96a10b3bbdb92a7b8f575c2db4841c1b628160f956f54e0c58d3b6fd4d640b0a06d39476daba7be04b63a75f38bbf7517d9751d2b12d2dc00e44de7263275dce6b0c0af65d3c04878d6fc1be2ac
+
+# prepending 0's to sequence
+msg = 54657374
+padding = 3033300f0000060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25
+result = invalid
+sig = 95a42e5d9bd9ad5a8579444e8167bdecec16116a7900117b298c82d5560f1d16e9fbe963764727fef9111f2465e66177b576bdb8c70a58e3df6ff69edd2d6827c97d626b09c24cc49f223cd5d2db2916c54fd8f2ac7301723449b1823f2ff48c56849f7d608312d4bb7a97f90ba218f99cb773fba0a34909618f5d25854d7687
+
+# appending unused 0's
+msg = 54657374
+padding = 3031300d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e250000
+result = invalid
+sig = 2344c598a8905b350f20de5cf0cee60253729a54be45b0b19acc109ac15862efab2e7c96e92bc990ed6959a40d725c24c25c8d223a46f490905c1448d8dbf7c9c427bc2e896bdce6d2c1daabdc93ce177f9525ac69d899bded12443338834a16d885456057461740c5140cb9a89a017851f9e99e38c1727fe5ccad9a7a8709d6
+
+# appending unused 0's
+msg = 54657374
+padding = 3033300d0609608648016503040201050000000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25
+result = invalid
+sig = a08cbe4009080f73cef03116ea949d1dbacce7025f7f61040fb4e052754d5b2d74c2dd06c0dfe1d09b97aa5739c809bec6d8cb27e852e9fef353bfa32964b99495a6dc63d6ce77460ac280c74c0cabdef794f74930f7f8827af1c6690d22ec2df3af497837bbe900a890e3feeaca2c0d16b0017155390ff0396a35ecb62b5992
+
+# appending unused 0's
+msg = 54657374
+padding = 3033300f0609608648016503040201000005000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25
+result = invalid
+sig = 500df36bd7d0b56642e2d5dab6e4ec0b148e7b8673cfab40e45c5dad5efc469b3321ce027a3a7ff5689366a18a32267d161a1266491b055f11557c35bd0d4f43df11b8a26f7b13c54be423b87b30b1dca956151c3ec3df03b30918a413179b0e064bf434736b323408e3f1330743c8bdbbb9d466dc1e21710c12e2e3b638b172
+
+# appending null value
+msg = 54657374
+padding = 3033300d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e250500
+result = invalid
+sig = 11a382fe570e0cfeb515955b70ec89a9353cda0c5a5d3cfa3e16e41340eccaa18ba21ad87c4a54a7131c4a7cf9afed68b1c1645568bab9b0fe7dfe0437abbe1fb6cf06bb690f46aa2eca034093ded661c38954341f3f35abe484015150307ecafd06d4309836771dfe29bfe56350d68725e0cd02b1479c6f99eeba2d59f40626
+
+# appending null value
+msg = 54657374
+padding = 3033300f0609608648016503040201050005000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25
+result = invalid
+sig = 110f3f188df46da58cdd46b5d460ba3d2f8d00d907289634d52a3ce693eb232cd6db738c48c8aa22d923d4f81d55925b3d4ff29ad9869f97a244d37b860cbd4646c6318c041729a7aaf473b61a93cccd62fe223d1be00364f03d722f43c7beff98c3fde573e7e6a0ce7d4a2a4bcf279765e29769bd4f884ce41fb808ac3d541a
+
+# appending null value
+msg = 54657374
+padding = 3033300f060b608648016503040201050005000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25
+result = invalid
+sig = 470416ee76f0bbdbd2812b533813e4463b799f4036e6955f3e174f6287e3c73d57c32875607e2eaf06d612cc85170ba5df31286edb645ae9ceb9e62064050f3e7f6b36fe8fdae7a3bd89b6acc523c923b9d3f3e5f57d80c9100b39dde75caf46adcae56668149ce0b80762bc459ac598241dd79c6b4fe0220ad53e3c591243fe
+
+# appending null value
+msg = 54657374
+padding = 3033300f0609608648016503040201050205000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25
+result = invalid
+sig = 100714ee0d38c541c2632e96885a7ce0afcb22f0cbd84c556f19d1b44bce75a8fdf141e975dda1812b4465050d4615a51c3b9816606c7ac88d6b684df938e7a8852835dcf5bf0ee45f2e413290691832095af77eef0e7a86f72167dbb03758e68561f7f06afc6e902ba19fad57e00cb43c0fb2a5ead689a146c79c9e6188bd85
+
+# appending null value
+msg = 54657374
+padding = 3033300d060960864801650304020105000422532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e250500
+result = invalid
+sig = 44eaf5ded57ac5c25c17eb31c2e071400b46b9022641347b2edb0b14efbd4eac5f71e4bfbe791e164c003667387e57ae22c6b00e69971d7245e381f6459e5f88d9dc0fdb385b777fe99e5e4d79aec057e41a1e457fe2b91a5f4a8878d2eaa1c3ad8393d281eca07ebd287364a19045029fa7ed0e62a21e5e42a88a52ea4abc8b
+
+# including garbage
+msg = 54657374
+padding = 30364981773031300d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25
+result = invalid
+sig = 3b8b17b4c7b66b2fa3be8eb404e32b6fc0b9e56bbe678bddc8f7ef7c042c12ae5290b9c4201b35d10e409f3b7eb7760f5dee7fef09c30ea858b78bc9637dab245b8f83ee83c75a7aa3d5234b0b6dcdec385f8cd305dfef92aa83cc0ecde8f20f08af78b600c1f802695c243502397dd161b6151a72ac20596a7d7efd8e321298
+
+# including garbage
+msg = 54657374
+padding = 303525003031300d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25
+result = invalid
+sig = 762d30b302cd76b021e237f28017e48488ff3bb30ff9e92db5b1e76eec2ee91c9af03e1c5038afc22591b1cd8cfae648a33ab77901f9f3736e50eea83f7c7a4546dc55c0265fb17dfdd30250fa3881e34e51b4f2e54554ad098eee952ec888e911a0ea5df42c0560bcb4bdd718c88d834b534917e555c38fd1ec3593b2f25b39
+
+# including garbage
+msg = 54657374
+padding = 30333031300d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e250004deadbeef
+result = invalid
+sig = 8cbf9d425abef67ff0a7fb648e70b82b1556ac80e46dcff37145b9041bee2bbbfa56817e04994c9cf1123c6df2aeeb1637595eb1e20adef51d657943fd67826ac5d5dfba106ae9cd243f12746917a446ce955034b46ceb0f4d542b7bcd06ad3e6e10899d5338e6d8caf3d4de3cbf45d45a58d946a64d0bc13e97a4ab4e6b6016
+
+# including garbage
+msg = 54657374
+padding = 30363012498177300d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25
+result = invalid
+sig = 2f4944e5191dde165950a381eee6cce3fd40214e6a9851919f5441b4efb7ae5724db46e92a747937c3c8f9329facb7a71ad5f380e44dad0436cd05fc312bf3cbf05c4873ab2125d605848cf97ef976f7ba8ab6949bdac5152bf1a66945caeddbd89346965a33a8fe0a0ba63b59beb05a44b6d84e1fd93506edcc48da12d488a6
+
+# including garbage
+msg = 54657374
+padding = 303530112500300d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25
+result = invalid
+sig = 975d07b7295268a8662aedbd2b65b5eb10bb496077f41b90d12d34ebc7e492f0c7f3a41d4164a279f06ea616f91968628be4ceecd4a554477bc76cc6b2e6bda4042dc253327c4b8fc40e9242cbc8b835114a7379a3081bae4b2803a99deb4a540f8c149ca5db3a61c7bc9f61cd7e55521660a06603849896c791a18d1c7360e1
+
+# including garbage
+msg = 54657374
+padding = 3039300f300d060960864801650304020105000004deadbeef0420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25
+result = invalid
+sig = 37352cd11eb5ff7380bfb7c0d3e8d9979ae7cb489a71c31a077d59496547b0c95a760387ed50eefde0b762222f05a6033740f6e010693edf3ef8ab5f9c57f4eb1f6ccd83287dcc2e90857defe5ba4109bf79ad84ab069c85a25758d22536c6882919245fa2d7e7921b3635d984deeb6555cabdfc46a42c75875d55924c8bac62
+
+# including garbage
+msg = 54657374
+padding = 30363012260e498177060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25
+result = invalid
+sig = 05df1fa9290a68415b86468a57394c052f00abdd6c65eb4fbbd834cc117cee4bba99764906fdc46e78bd9d554d15cf0284a64dd0c19877115c425a1ba70c1a4339a54ba7fd60ec809b9b789dc06997c2f25e890d8bdb1bc945c0daa8c61feab5bca471bd520126b6db3d6077f55428e0e7374da961dc5cba5397604303eec6d5
+
+# including garbage
+msg = 54657374
+padding = 30353011260d2500060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25
+result = invalid
+sig = 1fb1960934683292a4c92cf3d582cd5fe68888a5b0f6c2e64538289da7f96a9efcc36bdbf1fdc0cc0b3b36c6af608309de58c6151112f3a78599ade4a718b359547a4cac9a020e5e7e7117d1bfeb3ec21bfe9732825e624b27ddf8a946eb858b30461706f769a54b0478e0753388951d98129383590186b80836608f7e06c72f
+
+# including garbage
+msg = 54657374
+padding = 30393015260b06096086480165030402010004deadbeef05000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25
+result = invalid
+sig = 7e4f953b288c20fd5bec56a00745db9be03590efcb637e2ce2119a0a1846e9f38c0ebc5f2498ebde6217d81c9939b6d6a6f35ba54ee50d6313d3f2579751e7ae8d31ef4b0e99ca2e96c80459a7e5ff51f6f31e9c965be19097de13017c90037aa482d197c986f50bf2d5e1acb3f3024605e46d963410a4a623c898d0d773a78e
+
+# including garbage
+msg = 54657374
+padding = 303630120609608648016503040201250549817705000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25
+result = invalid
+sig = 53b8fdeb2d8aee9796a56afe4934221610ad028ae6f9478c90d4e865f3f78b3d27b383f87086d50fc4d96c5004d8a22a0c5d32afad45fd68fcc3e9115bdfddab605c81f31d0a8ccffcfd5fdbfa0f0a4386649198b11c10f33ec5bd73c713a6af706e617a3a1e967f6ac025e7f283e49bb9ea1fe3a4f27d9f6caaf1bf4981ba06
+
+# including garbage
+msg = 54657374
+padding = 3035301106096086480165030402012504250005000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25
+result = invalid
+sig = 90a5d10e2e19f7e016d5126a3d3eb91432611ebfd411b07a4be15aa48c39df33f3a2855f1e150ad34c7f83973bd73eca6575dcbac4086aa0a38db3d6e6ee2e9f419768493fb4829f1f6d67f80359f82d95483d6057de17fd388ae46687c429dea4d9f7a286c95fb1b9df0f1ba40a4263307789952b1bd07cdcb3b5cef10d9d2e
+
+# including garbage
+msg = 54657374
+padding = 303930150609608648016503040201250205000004deadbeef0420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25
+result = invalid
+sig = a88d38e8c765b7e439f42294e71c1689a318ed5414efdf474196989829d4989fce8910798f4d7873fb43d3a501fa15c8019813104e4699597246db66f96c838e45aa3596a1d26cbe9f6ee91c077422953b402f7e11f8768a2f132295bff79a0d10ab843cbcf2c921113992336638f4052446f52815328ba4946510a6b701d448
+
+# including garbage
+msg = 54657374
+padding = 3036300d0609608648016503040201050024254981770420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25
+result = invalid
+sig = a34e59121976568352ea031232f6da386623a1c6866e36d6c6c07168de977faf6e008f14fe22a27d42664925f756f4b57f5258ceaa8197c3c172068dabf3c6cd46b3cf0262931bea731249781f28361c25cba9b64f678c0b2692056469624d0204bf2bf9c4e87407372838926e6b34e68cfb31e2870bfb5b0fdfa2ec1e177149
+
+# including garbage
+msg = 54657374
+padding = 3035300d06096086480165030402010500242425000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25
+result = invalid
+sig = 7f642b5702c331dd76b7ff66578a2c0547d91c556b7b9751443d911729fb5ce8426515ba068e2839cfdc956eb813c25d65a2d5213b59302c0ed5e6fb95c49002edb1605f8f622912fdc309d92e6e3f188ba19e991fab0a7018ae4f6e70927d91cffec51b2dcc8113908faa1173ec9ed72350aa93a8cadef8bfa7305bae22bdf9
+
+# including garbage
+msg = 54657374
+padding = 3039300d0609608648016503040201050024220420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e250004deadbeef
+result = invalid
+sig = 0abb75f2fac084da0b99bc823c021c4872e23302a6a25e400b6f25d60f7c903899a69dc548676106b44f37c1e6d2604eb995a16880a2a8e2cc9e0ccb2b984ae482036f69a6ad31a2b5836e73e0d30c3e10f8b93c7587d7c0f2371183edc3b8cd0fd7bc325b1cf75e1079f8d6df53fe495722cc1ce707cca49bc6f4ed2ca6c4f9
+
+# including undefined tags
+msg = 54657374
+padding = 3039aa00bb00cd003031300d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25
+result = invalid
+sig = 9f2234b108a45abaed850e19d2f9576f59bb83dbc6165da61c4798638f9c98587c7eb92a8c901dc4430e4a47dc05681ae811ffcad6f7a604c43551cd0f5d123549435d622f7efec578301efd49dc6b139abbc3c7d6a26858f6d18f09b863a145d6483c9efc6c322fec1341b6362dc1d752c714efcdfb09097a0ce6df7dbe88a9
+
+# including undefined tags
+msg = 54657374
+padding = 3037aa02aabb3031300d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25
+result = invalid
+sig = 24ba137a293599ab7e50a0a4f8c7a5cd02dda6a4568c93f84d00ff47296564563c9051b334db2fd2c081b23d322d4870a61b2435d651d7efb4e1b0920e759f7fd81a937bbc85ff43dbe2b702dec3acf4db68d5fd7b8a2f6d32cc49a7300dd659623b391927a2442d69c6c3c29e59eb80b1d0a95bec6d18a6223cf4357eb7cc96
+
+# including undefined tags
+msg = 54657374
+padding = 30393015aa00bb00cd00300d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25
+result = invalid
+sig = 04023dd35fa479f8156794d02935f8669c023c774b95c5a0e02837e32ccaf7a4ba5195835a15de6a21796eb96bdaed868f9e8b7f0a5a21c1a3058f53aadb62d6ee74cd70b2c38f17e42a1f7ffd88955731b4e15368211ad53f617aacbb54a7e7078740ba6daaca81c1b321b748ea1d13f7aece490226636ecac41bdc275175d6
+
+# including undefined tags
+msg = 54657374
+padding = 30373013aa02aabb300d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25
+result = invalid
+sig = 253bed76e4b8465ebfffd1b7214ce586294d3bea290517ca2bfc417ba9d8e72d286570c348dc6084fd379c2bf4dae424189964639533e17c409ae18e445210ed4dc98de4ad7336554740d1532d5010a1bd7ebbc33ba48a3365d50669e4f4522d0e5ff7a3bdb1c42c42dee647a8a3ce16633eb33bbc0a869e12cf99f9481dcf85
+
+# including undefined tags
+msg = 54657374
+padding = 303930152611aa00bb00cd00060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25
+result = invalid
+sig = 0775598491297eb9004eed66234ded82e047ea2f06837425e6bd27f33b1373667f3ff4961d60f85edede88ec2bba2680151da3763f0df9785b31771da7e643862ff9ba944ab54bb1356ee113e420002a873f1eb381660f3eb84b1d6b25ccb8b82ad12ad0a449c4de205144873329e80ae8a84d1d3c1660b3303cbef28b48a553
+
+# including undefined tags
+msg = 54657374
+padding = 30373013260faa02aabb060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25
+result = invalid
+sig = a73df043d06ae53a37773016a4e21d3f1093c50e079b189c4bd7db3e2e9875b14e5374cb8e7394a9f1b45c7e4e9dd516198bf5055b30ea4d205f39fddaab3da0cec63524bdae2ae166a3874c59057d93855d6e6314fc5da8111ff58666a73c00a105311859f27d2fb92f507531b9d681e219861e4f0b2b979c185af2690eb4f7
+
+# including undefined tags
+msg = 54657374
+padding = 3039301506096086480165030402012508aa00bb00cd0005000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25
+result = invalid
+sig = 17e5a889b8139593e192f7af684c918f2751f157214863f88984ff3d8c9e381d1bee5ee788fc82869f4c3d8483e3c17c873a850a7a5c85e4518cbd8531b331a308a0368a868bb7995ce0f8a7ac5ba53b88c31c958dfabb36ed461472505b598418185b864f381342c29dc80e55ca7c2095e7788e7e8d385d61de605f74e431b9
+
+# including undefined tags
+msg = 54657374
+padding = 3037301306096086480165030402012506aa02aabb05000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25
+result = invalid
+sig = a659f7c44e4589e9f6658b0b57e82e65d5ee9fbe2376894f558a7ca4b6e3c5032f953d1dccfb9b76bbc53dd5d1a52cfc092c6ca279b37c0a43c99ec0553d7ef4d9bf9361a1c4a3fb7496aa58c0af518312e18819fffdafd1a230a38440a6fbb0e69babaa977b8b5fe08ed7c6d59c0391ccd80b42a0c0102264b0ed6af8524e9e
+
+# including undefined tags
+msg = 54657374
+padding = 3039300d060960864801650304020105002428aa00bb00cd000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25
+result = invalid
+sig = 83fd4599a47bc0852ee1a12b2d97fceae6d8442fd089df1d21ecc252a410982410bbd2cc6bbca219502c2934ac593a09beefdeb54b0692b3e5724b79b0f5c53541b62b0c4bf80a658af71d5964fc6a1fd7823370d00e24dcead4bdc86bcd883fe3f48dc7f8468ce99b7580306007021b68b48ace274e3c09a1b5e21fc7542ef0
+
+# including undefined tags
+msg = 54657374
+padding = 3037300d060960864801650304020105002426aa02aabb0420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25
+result = invalid
+sig = 4bab6fc6948143f8ec7c8ad86a0c5cda5bd8151c24ca7916857778729c882581603363fde0ae2a28b6f8f2c8ce8d5f6b6e731bf8ef735bd31318069544295b54b04ff2abd1e11900373931164586d7c830bae704f7314eebf1d32b3a171274ed456e335d2a0b998ac441053ef096a037bfa6e5cdf3835c45ede383f0ee8feeec
+
+# using composition with indefinite length
+msg = 54657374
+padding = 30803031300d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e250000
+result = invalid
+sig = 2d9940c172e83a1ce38ce52741e694c7b62c77a63c0523ef68ffde402b0cdf7102afa7005a731d399757b69d313c2970a61f785c12fe79aad5398a956a2c004faec802691b00246cb759b0db432739febfef9abece7bd95e6ad980eb9d8b53886f739035b71fecd5e5ef0f0c0990a9f8fc0aa5d18089471dbd53488c23630415
+
+# using composition with indefinite length
+msg = 54657374
+padding = 30353080300d0609608648016503040201050000000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25
+result = invalid
+sig = 69fd1dfca1b436593840f946e6113a79018c6cbc4e2b4562b12d06c03c7cfc1e724841ec59aeb0371c67a76a089a3f83f837255719bd648bc0888339c54223c25a238e717d1a90691fcf9690a3fef132f034cc03926ba8ae21dbb68467669cd19837907ca58237b6619be08a92ccf8e5756e3caec34a3c2a4622d7154a72256f
+
+# using composition with indefinite length
+msg = 54657374
+padding = 3035301126800609608648016503040201000005000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25
+result = invalid
+sig = 58c64866f9c1b6cd94c33fd708375ee8462f89efb1c72322174a1c5ed9117885bfa4a02ef0acc16d6a078800b84e9fbdb7f8f4f232091326811e71639fc1321b31c15c9fccb68f77c79b2e39b817478539636966c0adb23407401a4c68e6cf5589104a5557650ac389e4fb2a64191014c4e8f9af48f8a28f555d5cc32d7a87aa
+
+# using composition with indefinite length
+msg = 54657374
+padding = 3035301106096086480165030402012580050000000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25
+result = invalid
+sig = 0ba4e7900332ef20ad600bd4b8c0bab55c1030138c6131c1cf14a45fa98e10ea297ff6c2b8de3d92bcab6f1d303f4f8168848b2fee58ca40fb1f1c7eeb808c212b413f6f302d2e3904c2be2fa77fac21d04352a0abb07aae028e54d9e08ce37a6c210ae47095890d668cc1c296c9db1b5ddec30b722790260dc26c85e35f6692
+
+# using composition with indefinite length
+msg = 54657374
+padding = 3035300d0609608648016503040201050024800420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e250000
+result = invalid
+sig = 6f7b739d7e604a1123a232be4d0909a890eb3ad115f822b91592563a55fa59711f7ad17d1370abd4a6af6dac7ba08b6ae111291b0c8fd0626bc068022a8eff5ea5b797cc7fd35a81130a9394f051d2bb6bdf6190c11b964dbe2e4021a71ee8b405d0baf91ad5897d9ce22c8c1dd0e7dfee0e6abd979f5a1cd9443116c212b806
+
+# using composition with wrong tag
+msg = 54657374
+padding = 30803131300d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e250000
+result = invalid
+sig = 53e00d738939553ca6f742ccc3671c88fd2319dc438d046f06011e088b57df8703813a53fa9c68a8b2de333445fb739726ac2b6ce3b2800e3082f48b823a06d0b2a83fc4c0b2e6a40fc2d86b73030e974f101dc6fd6a24abcc6cb347eeed08a4c8086d1fc5fd68b0b36fce0c79e5187c38c8a4cd35973b1755643aa28496fbd4
+
+# using composition with wrong tag
+msg = 54657374
+padding = 30353080310d0609608648016503040201050000000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25
+result = invalid
+sig = 9382e341df276efda17aaa4410801a3ba0e4ccd5f0b61cde2416c7a8345cab1bb1fcc4a4a1d7c4a03a9d9ef68c83f2b3e08fc5893324159cd3dbae159bab67b109e55db550b540aa6142531528281732f63235785e145ea0defac4e67e825b30fbe9ff19687436d600ca412053e2430a1d1b637d4db255f1616713f3a2ad135b
+
+# using composition with wrong tag
+msg = 54657374
+padding = 3035301126800709608648016503040201000005000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25
+result = invalid
+sig = 01ed4d8d4a342729f18182bc4f7645ca0a5216b57d4d26b874832983d19741673aa7c0e01705ada27ab779b9b84f431e83c621a2dd7ae5f501ec369273d297144b76477f4408bca5ef6a59053c1ffde80bc228f99dcaaffb4c520c507b3a941399042f0c535015d86b2b5a95696b71ed61ff2bb585442b85fa2477268b71f77e
+
+# using composition with wrong tag
+msg = 54657374
+padding = 3035301106096086480165030402012580040000000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25
+result = invalid
+sig = 21782ca777e07848b600c37bb0a881707e580fe822d5dbb78f4809251a5cd74cb6f3636194cec8bab9040339da6531c730060ff5ac39ac9ad56a2371fe21e02ce08da18778d2256276c47ef0261d9c453360fbc4a2cc1dc7a8965ac2ccc17b460b0fe359ae4fa53f75efc68e96762cff5d98be46fbeacce2edf1d1bf5e158653
+
+# using composition with wrong tag
+msg = 54657374
+padding = 3035300d0609608648016503040201050024800520532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e250000
+result = invalid
+sig = 1eb6de862a77d435e62635b620be37fc8be499500c19b4d87b3f993b9710f55476d3f3ac27d5ab2c1ec36dded088bc50ba5c0540934fdbb5ed3309babd766726ae833aec211a526caa82bf08f1704b66128f24c912c8c3719170090fe1a2738b0da32f91d35546a9a499618428d368b326203aeafce635668d3d5fde15762d84
+
+# Replacing sequence with NULL
+msg = 54657374
+padding = 0500
+result = invalid
+sig = 1803d41a0c822fda4ac7757702f93d48c6f6c2dc853e706fbc95f3fd4abcd376d0682907da9eff695ae52001d34bd241030899ffc8e2b9316a63500675be891eb560fab23fbc855ccf13a76785b6618f4a99406e367cf76ad9da4d59dc8378eeb1144ec3738aaee1c81c3e6862526b9f00829f1ff849eb7191b709fad6e944e9
+
+# Replacing sequence with NULL
+msg = 54657374
+padding = 302405000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25
+result = invalid
+sig = 3e33872aaf9b4484c80bdab42c7f14f2d0efc8c54bc2a0353cd2227638b9e1ce4ed63b9e89e2848f35f6de307d66eae9fab775f3a8883cfba5c8b71d86a213b284043027433cdae708b0714523ff2f5074f1ff89cb0635ee4f34eed7aef7d798c2e19be4594438325f5af4e9a7f575230681c925da54c74ebcd438e3c1e0fcd4
+
+# changing tag value
+msg = 54657374
+padding = 2e31300d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25
+result = invalid
+sig = 5770bbbb883f93f7c29bdab32e496f2e9063110fe648705fd0b1dc927052fc9ace9b36d898d19cd4f862b777b7c790d767b8313f735ff567c34cfb31f29644540645beea182cabdf789ff9ac3f68cc20444af0b9d4ec0bc8992945063fdb733cccef7590a10bdf491bc21c38f25ff65a581b40343e30529c3dbb71f62189ba3f
+
+# changing tag value
+msg = 54657374
+padding = 2f31300d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25
+result = invalid
+sig = 15bfb4fc46316e5445357e1e8aad401573dbd72f4ed10210fb0e6343c88d61e5e1ec52e940a123f29bae98210793ba6d9e09329a00a85565b573957d14ec6ef37999ceefa994c870f010bf4a63cb04af09c87f7810e3289014f50a5c051a3fe5294ed186c1bc8e1de9b663863619e3972d9bc0460438b56f63aec3315c10f904
+
+# changing tag value
+msg = 54657374
+padding = 3131300d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25
+result = invalid
+sig = 65619cb9c793501f05673b24e7d9385c8b9f02fdbe3bb2e688c266068fcf2508a141797db8dc2ddd6b3ab649654a5d806d05f8508026c4f17bcb0a923b117965419171b86098589128563699fd8123f966f746518067d62c8d9ebbbfdc969671b198335cf51fa4b2919c03e66f1042346893c34829c774ed8dd9f31abc7ae2cd
+
+# changing tag value
+msg = 54657374
+padding = 3231300d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25
+result = invalid
+sig = 359dfbf40d3c2383f58bef1d518abe9852ca80d797393e4e1a9380ef08aa851d585213e8897c6f701ab680b0f63ccf5ea4216331918ca9a984fb6ba549f4bd066ec1fc4f1ed053fa5658b01df674a21322ba7e21fba6cbb3a8eb5565fb7bc269f99c65981efa650dde613ccd6d3927cdae45922d94dcf7ca5188bf5acf84035f
+
+# changing tag value
+msg = 54657374
+padding = ff31300d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25
+result = invalid
+sig = 24a61067121e9b4363b816b7c5750584c23f3c3200ca929fdedbe95d7504c56ea7dffd762074e44e96e22147943f2b704003967270b2be1bd1baadc3861c4cae91bd41530c67220349db4481d324d9927d52fe85618ddab2598996c5813f3299e1afb020b24003fa94f94a0c6c02b3183295e0de79eda021dccc5539cd7874ce
+
+# changing tag value
+msg = 54657374
+padding = 30312e0d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25
+result = invalid
+sig = 11b8d1dc2fa2afbc32f048d7454ba032b432a2ecd438506aa72c697a5c118e9e231a0c6b6340b5564402b7e837c59dd36f726fd626621b8f543964198484087eded70e7bb1dd63df2cea33198b9d02dd28e3b8bd006ba991a8b3bf06ac928bef45cba2362f2e11a5fbfb0310e84e8b7ba1e17c315adc1f34519134c36689619d
+
+# changing tag value
+msg = 54657374
+padding = 30312f0d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25
+result = invalid
+sig = 6299afeee512d61202fbcf1f37a2bf6003d6d37e71dbbcfe14f8c3079c552d75fddb55ffbbf13b548a60c722c5ff816c09c6e5f14ba4b3c4d1ab31c9b66bb0666b5e5dc9e36eb70bf403251e2526955f6025c8bac3502f887ad1e5afae6f252209d09a1e1697431f571a95313e6058e55bbb555c75d34e608db2ad50819cd865
+
+# changing tag value
+msg = 54657374
+padding = 3031310d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25
+result = invalid
+sig = 6e23ce9405034595a7f7a77f66431d18fb770bbf009f6980f1516df788d3631f9d8de65313d6b23007d62f86cce97df492bcf4727db160a862eeb8900b43333553e1c33b1768eedfbbda7aacc8dc9863e7a4347b3d37e00619468d7a0b5a7385c42bf0edb3dc24588ec261c739a181c42beef46ffdb4317afd7e87cb6250a246
+
+# changing tag value
+msg = 54657374
+padding = 3031320d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25
+result = invalid
+sig = 8748f029d5294dc917cf4fb347e0046f903c088fd976ca97b1322738549df7c56cd67349d66596338fe418b29de9e8af8872fcdbb55e1a6f74e9965fe7a365b846b667d0ae50df23083be73cceb59db545a3e1a560f6ce0e9eaee57b5f95b8487a3987c00f364d0f148ead6d7e6a37b05456b913b7a79c0547b80da2a2893881
+
+# changing tag value
+msg = 54657374
+padding = 3031ff0d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25
+result = invalid
+sig = 2bfc087003f3b98f0c8c5273de34f5e4d5047e909cd80e222072f6a7926ced5ae169131342640f2be11bde2f7565c3c63d0335614dd278915514de8421f4521f0138109a5c9778f86647b8a42815b6b861f173f5a6df893873f99c5e62bc3c086150e3b7d7abb943ecbe5806068abc433e9052d9bdfa19a58d19da463dbf3b23
+
+# changing tag value
+msg = 54657374
+padding = 3031300d040960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25
+result = invalid
+sig = 0fe03eea6c50ab664bebc7d64346762aa29b08b61f2877973cd543c9533c9d0451db8d836eb46e8d64283306efd7ef6387cdc3c794f7474f2e7d51b9df078095adc85fb810cae52434c9cee5048fbff72610778397fd83204f44bb87f7637373d111dd16e18287bd9ffe816683bc3663f586082fe0811ff6a06c0264b67f7716
+
+# changing tag value
+msg = 54657374
+padding = 3031300d050960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25
+result = invalid
+sig = 9eb8ca45243e6cfaba1209dd8bf9568ca23075a170363db359cece419b732f62796210ee7522ed71490ca66b452f9eab5bc1e2f00b81861909f003d3b0f2e03513b3db51ebcf19e6fc679d686a559f216c761352ddcd84d05b62c96bbfad63209d97205866296c66c01cf273b9657c64a3f8088d3be7be7cf93e176a76921230
+
+# changing tag value
+msg = 54657374
+padding = 3031300d070960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25
+result = invalid
+sig = 313d3aab5559becd0d917c83b5a0e34a7bbc3482018dc624564370202f3a71f687f056d3032b11f32278bc650d9a25d4b73be42e44b68298554d4c9399fbb4fc919f63f1649496775912f99c6b57eca8dbbec359f0a3dee046f3d54c31eac523eff73bead2a9a4f20bcf74e8d48776801d429a11bee061588d291efe0fd6e746
+
+# changing tag value
+msg = 54657374
+padding = 3031300d080960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25
+result = invalid
+sig = 748b9e64195314003ca31f726bb3d3294abd8eb376365acc5b1cd36934bbe1a9bae99ceb7c1a40c910bca6007ced7961ecc9ac74c7a6424cc87b6b9610320ab9c5b527d986c6e8ed21e677bbe2ee7752e2dbcfceecc2dd6da3f6c6b9c81435e9e060dcd67ba834729761dfc9570b79bb1b8ead7bc1325c2233e445eeed12dcad
+
+# changing tag value
+msg = 54657374
+padding = 3031300dff0960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25
+result = invalid
+sig = 7379bc96dd40d37a7f8e58f87c10fb94f250a964a55b2abead479b368e60e442e6eb864952308eb45eef1d318b6a5ffce634fcb886dbfa062060b9809cf89a09a26fd334ca22a1917fd219900ec0c68164c308cb9cbca3fb2b89ed8637c5540f7a5886ab1e52c503e20edd6316e41c746e53917e107ef5308590800ad378ac97
+
+# changing tag value
+msg = 54657374
+padding = 3031300d060960864801650304020103000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25
+result = invalid
+sig = 4a2478918565be6b46fe61e5f66cd1befb7a3026b5a1502e9a42636b0b924a02e85d7ffdfd8671b1d6d3e604e3ac6a5302db4e0ae0975d0661efa018d6ba0c632a6381368dcb75926542c74823a8c6d8732619764d5a61062fb3b17ae243bd691c97c8f9821af9526abcb522ec8e9dca32de1989e576e336af9dddc3e766541b
+
+# changing tag value
+msg = 54657374
+padding = 3031300d060960864801650304020104000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25
+result = invalid
+sig = 0f6972e592edfcc3d7df9366f8f20682f95003970d9fc5932715bbfbea6a7a3bcb311f270e7228f0ba6e94c44699c95ee4c55daf55e59ea65d136b61f0eb64487e72a4649802e25dcf463b79cdafd854b35ffc2e100b08d3e24bb131fa46440d49e4f6ec9f8bff61ee652755b9207a5661fbad44fcc511db385712da10908dff
+
+# changing tag value
+msg = 54657374
+padding = 3031300d060960864801650304020106000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25
+result = invalid
+sig = 61a002789a9eb5a71a1bfba260059cd75da7405336563b0910a75b9d56a89bed595f0f493973bfb3ec62b1a218abf9a3b1fc7bd18fbb04204b232f4c632f641364f0c65a6ca73b75225547714e60a854797195e46edc05a746e8d84f64b2151aae5880c2f33a8e7a68bd7e334325f68a87b65f553513d1f9e77904f6ab1cb2d3
+
+# changing tag value
+msg = 54657374
+padding = 3031300d060960864801650304020107000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25
+result = invalid
+sig = 5ec392c91cc165ae59013337e7f7d5f2f9b3a6d45b6f6beee6dbf93e7b9607900f4672555a57de6e9e1aee1fc9b7adfc0dc00e122e84b0233c0d615dd0d79764fdc9d1b0e541f2de0083ab479f313a07f55f51390d1c2274858b219b1ec0601b82a2f7648ae95ec17099067a173e3e83959b6c06f149af0e4610761aab5be1a5
+
+# changing tag value
+msg = 54657374
+padding = 3031300d0609608648016503040201ff000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25
+result = invalid
+sig = 6173aef07a7057c3e97f6b7d4d7266918876f9fad86000b4c8ec7f83ee491563115b0cb5d580df8c97feb0d95866eabb79147926f5395c5189554749f4a2c75c0d96325971635be029062e1f27536c5041bb42f42e1fa10e21bb8e9a2e2502f2a7299dfe3bd8720ecb8a57238056ab0eb546de8dc0e56b317c73ab1e19772596
+
+# changing tag value
+msg = 54657374
+padding = 3031300d060960864801650304020105000220532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25
+result = invalid
+sig = 3b80c72f3b7ada8b38b30527bca41180b4a89b066f44a17b9df5963dca46517d9160326afee7a34b650b9e7746e764958ce6a0a6268481a8df40e0a95a81ab0f0bd20c050becfc0c4b03ebda19749a4a1dd3ce925fafd9a4006a835eedf221a6ceab6aac6bc74f743fe171ef8c01935f8901e1ec9ff6e33ae8311851fa14a65e
+
+# changing tag value
+msg = 54657374
+padding = 3031300d060960864801650304020105000320532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25
+result = invalid
+sig = 8c4cb8e7fc5c5cde3f1d9bc79ec679ad6ebce8c63c7488b137e8b77641ada2c4de35f87b97a17f2a7b96e58dda634e725efbd9a60b45477eea53bac9ba6305e209ee153505517f598f5e9e1ae79395dc87a1a86da144eaed76ed86454cce2278d20ff4ec88b8383702032637dabf00a613be8edc95601007108eccd910d6eff3
+
+# changing tag value
+msg = 54657374
+padding = 3031300d060960864801650304020105000520532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25
+result = invalid
+sig = 8fba298e33e6d9f1a107036deceaaa094e5d4cb8d9dfad3ba46cbebd672a7c407c00ec44b0030cf8b4bd296b3daffc4fd220ac1b1b0c0827484f965cc3dbadd6cb313544db3260fff9311ea335cb3e004764860ef2cbd9d7affa06352424133db4ead84225a89a1a998b2a56e17e55c5b74c80597d3714cfc030c398b52dd933
+
+# changing tag value
+msg = 54657374
+padding = 3031300d060960864801650304020105000620532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25
+result = invalid
+sig = 4b0eaf3ae1c7a3322dcfabee0569aaafba51e0f34fa6afc325bacc853ccd2daa3dca56c918325bf553af02ddd19fb597c368dd18892d52d9e935dc51d38347ebae2a7f90c78504355f6899ab4452d5f51d2025381d81042a08582dc50bc1078246ee69652043bb747969a7450659e333193990f34a8ce3f036221193e700489c
+
+# changing tag value
+msg = 54657374
+padding = 3031300d06096086480165030402010500ff20532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25
+result = invalid
+sig = 1fe7b390bcbd5bc1904e676111653e14e581e7817b45294bb790e4e62f3010aaaa77e246b29729f2b7da65a2f437b8d9c4fe3b26baad367a19fd7b1758d04c2f788c45e5309a833522b46d7255dd5ef70ed006ef966aa7c648bd0b893b8e1566961c16e9554fb729ec81819f1b3da890d413a153f487c030c7581da9531bf134
+
+# dropping value of sequence
+msg = 54657374
+padding = 3000
+result = invalid
+sig = 317379f37cb7f21fd03259a27db3575d491a248df82e67b39d4956a1c619094fcde001544f0fa70c64dc0d0440fb21d2860a20a911cbb397792bf3eafa5cc050e78b1e7bb29d041cfa0287bdf54a90a7a8bff5c870e898fe34bb522477daf8e003bc22891b789ff215869cceb92610c4b03210d19506058d941e6fce7a3cd786
+
+# dropping value of sequence
+msg = 54657374
+padding = 302430000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25
+result = invalid
+sig = 2de802ddacb7e47e27875943d5098419bca3b170bf74f1c4b4a8ac420d4469d9aea97592fbeaaa1dcb5fd20bb97afc5f7abae17a9bb85c5490db97010c5217c88f9f52b5e209cf5fba5f0594f4e4450114dd0348ece336870a1333f7660caf959056ba13b77d35239eea164ddbc8808f8e7e1beb070f551b6e95f90d5bdbd925
+
+# using composition
+msg = 54657374
+padding = 303530013030300d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25
+result = invalid
+sig = 09342a8fb8402b5e50fbf8c5d1cae415ce02c0a803adfed88188982129e8480918dc21616bb5f8381e8dfe13f63234090c32e542a005df70df5e8e00dd2a478d10fff1b61efbdcf0e410236f7c031c9a5f7cd0db9098f8a32a6a49f408e72c4a29b7d27e8041ba605bf089bbdb9777e19b31ecca0d49b90d54701721af79cf3a
+
+# using composition
+msg = 54657374
+padding = 30353011300106300c0960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25
+result = invalid
+sig = 3ef90c414a64601c538c286f2c35f32445039799b8c266eed605027578edda796a409d905a751bf5c1cdea97840437fa82733d8f27efbbc05da732887078a8f547bbfb54607a54f893df7dde0c35c45f9c2402bed0405c72e98175e5b9d6f90224e07d12e8c1bbad2fc8b1a14c42dd5fb7e554db5edae89d335705c672cd7b55
+
+# using composition
+msg = 54657374
+padding = 30353011260d0601600608864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25
+result = invalid
+sig = 3ad3e4ec3636b5eb8aac2161c04d228491ca0d9da2abd69d8904054373940b39b5c025c011c9b9508a25ec25b24a0837cdd6a27cb5c8ba3683d90ba5912ede9a21f2f7e851dc49dfebea8807576be703a6a87ca44c370db76812b9929a54fb8e2259453ccaf47da1b8ddc5b7322c20197604b9e028ec00bd7eb48012274d5b81
+
+# using composition
+msg = 54657374
+padding = 3035300d060960864801650304020105002424040153041f2eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25
+result = invalid
+sig = 778d93be708d56defbb6dedcfec2a917a3772b2810e26143db1f9d0f26c4fbb8de8db5818aa32ebb2cdcd7960e593ace2c3c3eb682c930cbffcfa6b34438ee2a786a9707d5d10902f7f4d8fc677106275fcb6cb08f56f341e0f52af590e0bdfa2f2bf95693265e87f5046bcf3e6de34810e8eaa479f3afa2b0a98b175007c209
+
+# truncate sequence
+msg = 54657374
+padding = 3030300d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e
+result = invalid
+sig = a3e0e0cb9f7cdf8a2b95139f7c475f274bb63252385f62e66f82158f429e74d83df9ab1040717d34b6a5e009b6ac95960826ee83bb298ecf900425ff03a8f156053b57eac6086d61dd3a8085b84c83bebbe3270164e3147ddee8966a026796401fa48da70f5d949386eccad26b0016543f3f90c8ac2874100dce13f03845509c
+
+# truncate sequence
+msg = 54657374
+padding = 30300d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25
+result = invalid
+sig = 84345c9d3de7b5da2156d3669a731c4baf6726c4c231bc8bcaef950d7ac37ca8d86e9c9558404f313de3fdf09024d25491b0a933cc3958033210b1c4f90070ddd083005873762566ff2cd7f6915b4cb430f5e7e1bca8c2ec32b4ddee48aba667f9d614a27c3bb40c6cb7f0cd77d3d17257f197974d1871cc09c9583cc6af8e15
+
+# truncate sequence
+msg = 54657374
+padding = 3030300c0609608648016503040201050420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25
+result = invalid
+sig = 227aaebca262d2189c479ab46d8715a34100bc1975c2d3991a4ade27376f068756cc9d89e903713bc28394d202d81b32126d7eb09154261841227cba6ea0a60d0ed9302f816fb4dd241dcd2d746d5c1b068c42c0b2bd567ef799cbfd0a83e8a30c4fa2f7296dceca38c36ab597ba992f658ef7955d32d38847870afbca35d836
+
+# truncate sequence
+msg = 54657374
+padding = 3030300c0960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25
+result = invalid
+sig = a4316d438c7091b3bd5ec09aeea9095cb5046d8f08642b087c34985c34377bdafe74285d00862fba20572ce7a06dfe62b4fc08704d1cfb161cd88478e7e1c5451e0bdcce0fdd83c0e37fba5168ae03fcf4ccf60fa12c9b0acb39fe99b06933b9e0774f41151e0564ef805144c0cb76101672c287912197155d91bf036e84d1ce
+
+# indefinite length
+msg = 54657374
+padding = 3080300d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e250000
+result = invalid
+sig = 447904593d2796cb9851fc38f6494697af3eff1997568a320a0e6a50d62b484d7254c99cad3897f7383da73ee48ee824f7f6819c7dfce18021e7cb43b48cd77532c6af28e9adbe8005c576415c379bb7bd164a49010f0b243f60064f1986d1923146be8e8a4eceb9263445f32e49e5cef3e500467f3cfa9102b51b2772df803a
+
+# indefinite length
+msg = 54657374
+padding = 303330800609608648016503040201050000000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25
+result = invalid
+sig = 01ce4a92bfbefd1de73607085c875704ff40751537bbce8ae2df9b10db01443154f415a936b38f937f7514763e20de0c55a1b441c5b10a09c7e09a7070cbc88becfaa8d39ab1cb93f4e2d1dfbc973715b04bf5d21f2cbab061ce36c81642fea43d0b11317961886d8783c628947b8f14be0864674e84c4af5f9dbb1f95b327a1
+
+# indefinite length with truncated delimiter
+msg = 54657374
+padding = 3080300d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e2500
+result = invalid
+sig = 0781175cedf15de5b498cca16fbe6bcee460775eb1c98013719c80f30716abf0d205d40bfcae1fbe188e0ccd1bef673ecdfdb83da619ab2e4d04bcd60e31d1028d7c7cac64d403e0b79b75fc09a43ad0a54cd7e7bfab90cc5b5d0e91924dc6dcaf28478e7b1f54c3ead799d0361174a013b7e4e1eeba7dd20ad0536949beeef8
+
+# indefinite length with truncated delimiter
+msg = 54657374
+padding = 3032308006096086480165030402010500000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25
+result = invalid
+sig = 5fa498524bd8190088734b8622061f55ee6ace39dd9a2e9ffac021e1612b42e294af4bf27c9ede0a6eee38e60fe0ebb8dbc49b2be7148b09711f9762ed4be7e02d4288e62fa7f203ae8143d3f17b288cb22386f43e6a5d84f9c1f5437add50c67846569cfb4fadaeb35e02b6910e47893890b880624349b13545a6c35d2d72d0
+
+# indefinite length with additional element
+msg = 54657374
+padding = 3080300d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e2505000000
+result = invalid
+sig = 1a095bdaa1398cd4973120d58e430f5c9a12e4a0467d3abe5d44909e9427c42a082286745b4919a955115b7e1a74389130b2ba3606772d9720fbd1b6834f46a2c582ead78ff6a3d69a6298096d83f9b1ab56aab6a5882db313d84509c0314d6278ddce652dd816915baaa274308e93e52b906c83852247a75fc3dd6e5205de8d
+
+# indefinite length with additional element
+msg = 54657374
+padding = 3035308006096086480165030402010500050000000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25
+result = invalid
+sig = 1967e2397ccf4ca1cd1be11a27d7a60a0a324edccd069e4278570c4c45f052b434ae4e3365565a010f26249ef439dc060cee00d3e8247a3eaaa150a1834dd622fceea6224c0ab58526388cd1d62d9e151194dcbcc3212f36fd9ccb766ef59c4f0a3489fbb60d103a27edc48748af0b6d2295d9382c6bd50d5ca089ccfff27a43
+
+# indefinite length with truncated element
+msg = 54657374
+padding = 3080300d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25060811220000
+result = invalid
+sig = 3516e125c8f18f77d801f216d334f6bc24fae8de5750c0f6f712ef405041f66a49d57907aca7bef67138bb34dd5e57db5d3de6e98d4fcc4024b18df92c51b926b60cab06ef39b4e5e18eaeabff04f68e9920dc1165bc1d128b1b1ebe6628debf9c34b936016c221ac98ccf97ddc31e3e92103f7bbff0045ae0418e7580745001
+
+# indefinite length with truncated element
+msg = 54657374
+padding = 30373080060960864801650304020105000608112200000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25
+result = invalid
+sig = 9f60d52203b96a459ace5c0022d2dc4f5ce3cf772efb615d421ba51a2dfb0e86d01e5def5da80944c315f8b0bada43d27afec520dac6ba6cc419008d60d1a334f2c17234efbcceab67087d9199781e46b79b1dc5353f120ec2c5484e64aa058636a61e6f4efab4b436e714c7a017c405b4f0d0caf9459eb19ca897f2db9c2e4a
+
+# indefinite length with garbage
+msg = 54657374
+padding = 3080300d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e250000fe02beef
+result = invalid
+sig = 3efc2c6198d04b0cc86d8bdae3f3ca04f0614078a3fb195fae3b2ee36fd5b1dc3f2e0fcc57f51ec9329b99479348cc3650d7a391b6821e7203fa8298d4c944d9f0a25dd3586327580e1ce3c7a4101d52e502a0de2b0a50dd1371e214eff4a9c44563d1e3e69bbcb7ed2a58e894fbe2f3a5375e5032d29d10d518d6aafcf13ef7
+
+# indefinite length with garbage
+msg = 54657374
+padding = 30373080060960864801650304020105000000fe02beef0420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25
+result = invalid
+sig = 4d8ade9eab5e5dc7bb18630ab57757edb41569ca9e9785f2b1edd281c017c05ebbe0857c4369374ccc79d8a24725563822723f0882fb83713549cdf7f5e0738b20ab3aa28868f98984046b9c4c5e75bb58d9ff194d8b9bc4383765d7b2ddad332cd5809346ef18169d22a7b2d1b4f6f8637215899e344b063d609ea484825253
+
+# indefinite length with nonempty EOC
+msg = 54657374
+padding = 3080300d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e250002beef
+result = invalid
+sig = 89459f8da03d8744b6f7a6ce6723332aba211af3742058450ab2af7905d757e7b5901500b2458df59a68b68b818ee0e7bdcab6270f39ad577027258ca5bfb2d0602da91b5cadbc32181c86fdf96fa3169cf960051dd0d6302562d74ea82f462b90b7035102bc08ce51d35d404fc9d3841c3cb5d4c99f02816b8842bd93297f67
+
+# indefinite length with nonempty EOC
+msg = 54657374
+padding = 30353080060960864801650304020105000002beef0420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25
+result = invalid
+sig = 93c85d6e90100f96cde10158e25368e4f00c7870d39164c0a30a12fee1a6e9389c31be480ccff7c2ea9fda14455a4a5e4694982dfe9f2d5c6c59071da725c01e3add86648e85af4069f60a0944258e139db101799341d7e36437a411f727a693f1103b1b2f01469c26a15fa74e4ecaa09f112ff37fa61d9c3def0c8c4069fca6
+
+# prepend empty sequence
+msg = 54657374
+padding = 30333000300d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25
+result = invalid
+sig = 361f80a57ddb48796e50b3e6467cb00a9e1e193330ecd2cd6a31f649b49eac27e295450efe03e09e59f1829cc661d36b0fe904602c644aad7ec8cb2ca3099078b6d4f7b9233dc159fd1a6189451fedbd176e436f6605f2b889fc7197ebb520accd7f90e543da44453c7ba1948e83e31f5907d1989d982acbb348ca2216fe050d
+
+# prepend empty sequence
+msg = 54657374
+padding = 3033300f3000060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25
+result = invalid
+sig = 674c01596bf71fccd36aa81b000be007f6cff713e5f6ffe58b25e790f9a1f6542ba3f68e1eeaf1bb1ac6c3d55aeaf08140f6cc3d0474f6bd87ee442568346553ceb34efb5301a4d3a5b3f28a5fb038ccfe8444524d18adfa042aa1685fc3a5f9005da5688853b8660ba74f0e32c5be38c743b0048ca9b9fc19a35a5ff4e2c48f
+
+# append empty sequence
+msg = 54657374
+padding = 3033300d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e253000
+result = invalid
+sig = 07ba2b5d519b1f60dc455d6ad90b4135cb45c5da5a2a2c9b8cb954165394a0f40145ebf2b1a3ff1d47f5031d542d25041fe9b6d78aab623c40eedcd8467618168ad02af8a696573c5c63cae0b2c26583b0240848d663fdd0195322bc2c8dbf9b5db2ff9cc3e75e70480e51da0d6dd402fa87772ddef5256467205cf41a42d18a
+
+# append empty sequence
+msg = 54657374
+padding = 3033300f0609608648016503040201050030000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25
+result = invalid
+sig = 9fd302307455d4e946c1ccee65b0941c3550c823279cc52c4f29ecff72a12ac40ef6b7e37b7dd774b7735bbae89b0792908bafc47f0b0a11637042fc8541b346151bdadc3990e64b6d1807dd0e7f9266ceb3f686a9813341f835562d3c8c84868a1f98db97d3e695ce4a25fce80b828d010d6323120362ac48700abff8a7116e
+
+# sequence of sequence
+msg = 54657374
+padding = 30333031300d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25
+result = invalid
+sig = 247aa1cb69ccb72795c93809d7c3a5e52de98ec5285196058a6ab18ec2f5d9fef5545ab5df923f63bd58f5f247b3d824bf161bcb56d325d4e2fc7eb3765dd81b5580422abf2a3bca8d8af94cf6a9a3133b1494f66d5cbe938d30b9308b5ce2cc6d3df37d3299b6a7616d40afcc7935d80225e1a89a7a63ebff13a66e21280a6a
+
+# sequence of sequence
+msg = 54657374
+padding = 3033300f300d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25
+result = invalid
+sig = 6d6248f823020a9604bbafe5acc103d9bd020624585c95805533de22afa3b6b1b511f8805296ee4d3e96d707c91e55df8959464ddb6d6a3d62b1cb248754302b2833406300f4975d913f1b90f95e3673e2c57d6181d73a360e8c818b8a9dd1e7a4fdcd68683f11dd47c2d395f20b0ce9c59eede6ae6aa58a707c4ea8d1a73a9a
+
+# truncated sequence
+msg = 54657374
+padding = 300f300d06096086480165030402010500
+result = invalid
+sig = 941d41c39aa8bf3879d16cb78c5486589e7b97e56a0249c4f613060d26b786598fd2d34bc4e99cc8888137975937307d6a328059a09f3b994bf955c7de4a2841a0d10bbbebb2db3b332656f258c66c8d50cf9155ba94e1cb21a78e6147af76958ddd997665b6d8f67ea8f5e1fdbebd7df635f20494489c895d33ae4c7f248bad
+
+# repeat element in sequence
+msg = 54657374
+padding = 3053300d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e250420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25
+result = invalid
+sig = a32afeafa2c3b58bef55776ef6daaac6647485dde100d968e0449d1a2d5a121807ca2fdd70e2e9cf524cae4f263e11837000df85f0886b718ff45cd316c8d031b746dabfb956dd6118a37e0dabcda1ce9c728afd9a5f2448f5b15d27982218888d457752485119f53219315bf63141c9c0802327226a096403ece022cb27c0df
+
+# removing oid
+msg = 54657374
+padding = 3026300205000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25
+result = invalid
+sig = 6098a732419cd71887548ccf4fbf3edeaf9fe7b220bd747ae1b995b746de1f4d7b48c73ddb71903f50ccf7c93be9c8219de5a75ecc302ab50356069dfaf642f32ec580a283519fbcf04784860b0660174dfb7e1e527bb320960bde8f6c605bc3c1055b878d2adbb44e1b6c41add15cb603345c4fe2d1c0158fa03f21b4c015e0
+
+# appending 0's to oid
+msg = 54657374
+padding = 3033300f060b608648016503040201000005000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25
+result = invalid
+sig = 2f08cdca4d621007acd15b1f4e3c39882a8aef706878e8f101e7fb250798a3528dcbf4d3327ceb0754a2ca0850794094dde8a875cb947d624d386ddb9593259c53ef2311260ac3c9cd1277050ec98d105188f590f198ba908ddcf3f9ed18f5a96cc6b353fadde007658f87ff4c201db7621d69c8278305f3e9f2041a2dddfad0
+
+# prepending 0's to oid
+msg = 54657374
+padding = 3033300f060b000060864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25
+result = invalid
+sig = 10078ea73abb9bbb879c9d8139b1758170fb73b34f39cdc83e6a725439e315a5cba4421fe15e8c80d8fda0a9aba9a12c23aab41f7328d4191e6c7c3a53a505ab518dce078439347945671ab06a2cd5375457b3bf181c40a1a4be1ea8305c9a401488532c7cdc1150fb9c46a2e846ce4a2fd9ee863d0b0b8af7f10360acc47f10
+
+# Replacing oid with NULL
+msg = 54657374
+padding = 30283004050005000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25
+result = invalid
+sig = 783575badcdfbe1a4c1483938e7de2e42908fda1bed644ee99505cae3aae5aa78819deed857176764586ac8c5c0a3febf1e344d7e2eabe062c688e4caa499709fd8db5f389d92e60388d8e61af7b0789434f3c07b06cc4c89b88923c4d4fc81fc36b0d43d71327e596088844862f95b8f80bea52465533a9e04a2457bb7bba51
+
+# dropping value of oid
+msg = 54657374
+padding = 30283004060005000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25
+result = invalid
+sig = 69a74665f61787b54b522937c534e95e91917f5dd4fa9e3472add6e21dc033a275408f35c71ff6cc029e25986fe6dced8ed053a9040aac32fc444e9252d2bd4081fe3e51ace15a0f694c0b8953dd6afa7f8cac67f4d8e17513b415c14b439a634274893885907e2ea428a6e242154a58a031fedae31c73df7cd4e2f5591496cb
+
+# modify first byte of oid
+msg = 54657374
+padding = 3031300d060962864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25
+result = invalid
+sig = 1f581f5e39f76f319d933a82e44fc977bead2796fea24fe0546f9c4727d3e2502b532a3be241a0a97238f255e3290a0ecca458961d791e12e2865d96bae663695f5e34cb8c483a7842f2c7cde241c108d1e0a6c85d7b768753016a573035a651dcd1326aab662812262aa73945bd0b47224a66b6ce2b97e1800ce93c366ca16e
+
+# modify last byte of oid
+msg = 54657374
+padding = 3031300d060960864801650304028105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25
+result = invalid
+sig = 36e0f5972a6be797cbe5ce66f3b16243138a219b50434430d16a85df61458f57d51fd72b1c9d8364c4a277ca51eebb550a55969270137e0970b10faa6dc95e96a510f647b7967bad5d6b6689c8a470302b70ae2eae6e95099523b66b6838e4183b2099d20c6f4dc24f7b9acb0e9a387ea8c030ebcb6bf02b9caa8afa07596d99
+
+# truncate oid
+msg = 54657374
+padding = 3030300c0608608648016503040205000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25
+result = invalid
+sig = 7b2f6581fb0b4f913ed38c0ea20dff2bd60723f2bc3f1022ceb946e48adb75b1e0be031dd8b706d82967f93c6b6ba496d8c4b49aea9970e139b18fefdce30a4ec04f77625eaca4c7d1265cebbbcf53b63a113cf06bc50e4a416a771cd28785a0075631a3ef60c9212e224aaa063e7d8109c27e248e6422b26acd02ec012b7bf3
+
+# truncate oid
+msg = 54657374
+padding = 3030300c0608864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25
+result = invalid
+sig = 4dc9e86e076a395b530868d9fec9f858bd6e8c10cc1e32cae7653abb3f23991c677e970ee468c7f35022f3241f5d35673a8cf4ce9134b1e63a994dc7abc8cf4b9dbbb126b314312539931a0163c911f0234f5c3f683c9376f2ecaa3294d71a1274f6c63b84ea8faf826eacb05e4fa5459b787ff384b2cfe0f1f4c755f32b5c50
+
+# wrong oid
+msg = 54657374
+padding = 3032300e060a3262306530333032316105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25
+result = invalid
+sig = 760b8204d02a9fc5e9fdca0355d28f7d27ad27748e4c073496760f43231d1e3a818ebb53d1a071119864af412f491f56b7afd9f4690bcc279d5ea529ee91ffb99f5ad4c8f1c5caa23c3bc5dc4ee2f33fdcfde84f8ff4356a94df78feca2f1636b9cdb92db4fb9684a287766aded89818041004407358185508f3d340639f4f32
+
+# wrong oid
+msg = 54657374
+padding = 303a3016061236303836343830313635303330343032303105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25
+result = invalid
+sig = 5f29f2ded51871e2cdcf743ec8da102a4612babbc8c994fce8d38eac83b1cba5ef060ea42a48b342e602a16f679d4fd0167e3044b252c8afe5b8b0635081ba0351e19971bc52df431140ea4251519f1ba889e0f0141dc789db0e1906376a75131a61f57b866f2882abe70a81f4d0c65fd600799d1f6c71ca2f2e95188abce526
+
+# longer oid
+msg = 54657374
+padding = 303c30180614363038363438303136353033303430323031303105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25
+result = invalid
+sig = 9dd00e8991844457b0580e3b3abd6f6adac8d016521df40f972c67f9f8420af2b175c6d99be923e5a320baee434738200e8a111483b6f274583e396112c3ecff11f53bee290a0c58ce0c92a061871f2c9c54631f39793cb8a4dbdf069fa65412f760efb58f89958b7028e6aaedf11d8ccb5371fabd3a2208243af19e04a5363a
+
+# oid with modified node
+msg = 54657374
+padding = 303a3016061236303836343830313635303330343032313105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25
+result = invalid
+sig = 43ea91ce7612e0e151d4526afd6146fafba081fc5ef78d50a8ccfa9079fe21e3270d4b9c884130bfe9fa86577ea505c19193801ae37f03cd3021887dca580f9be60ffeceab0e84747a427a2a6d0d6f2e2c43417e2a449270f6b545e3e149ab09efb158acc015b99277a79286790ca27d33e8f53a7c72f0bbce5d774fd7da3558
+
+# oid with modified node
+msg = 54657374
+padding = 3042301e061a363038363438303136353033303430323838383038303830303105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25
+result = invalid
+sig = 24bf2bfcbd891a7b7dcdbd44a2d38aaba2e28195f0b955073bd51ee4824a55b84cc772501abb75bb0b6087415e7755ed101eb08d892a93e52206fe7d775a710aae5ef1cc0687613c1601cc9c33f0865bc67bc7676e911c3991e7bd08cace5d5b12c5ca2e6120d70fcb626d465c10aac07f884b024f9051d6885afd3c7fbc4e12
+
+# large integer in oid
+msg = 54657374
+padding = 304c3028062436303836343830313635303330343032383238303830383038303830383038303830303105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25
+result = invalid
+sig = 60e4e065e10cdb25b89c778724289fd61c73ccde8d66efbfdc77d05fa5e8839d821639c6a5f303e35fad3fa8c4716f207ba395637d46ecadb6dcadbe28f3a065c999e380966da63bb5c92ec5283877a514c33ae97197130bb2a7a5c0d805113805ca33afd886bd63966de732ac87b7d22675468e5123e611985c4473a8116234
+
+# oid with invalid node
+msg = 54657374
+padding = 303d3019061536303836343830313635303330343032303165303305000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25
+result = invalid
+sig = 0704bc9e3679a62b6d07da2ea8c5597693987d710c98704768f60259e9697b4e8dcc84a5cefd53b45844134f167830ca5c6cf572923b3543f6ddcf274ae14e3b191fd7934db877439e0f95b5e3c8f04eb3aa2b4682cfe213b3756ec5b349eb295e8112e017869163c0312d6903646fbf9cb692d2311240c2cb968ca95d431d94
+
+# oid with invalid node
+msg = 54657374
+padding = 3032300e060a6080864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25
+result = invalid
+sig = 6674ec2352f0d3e90f4b72086f39815db11b056babc57644c8a703014f439baa46e8ed961714d5c7b5f0ec97ba3fe5ab867c16b7e1de089868dcb195fc20cc42fa1b3d3060f50cca77281bb6be18d65a1ee8e5a381e21e7f02e819752b71327a28719c7284f6425bc9241abb08d000faf58d48848d7f4b8d68b28266e663f36b
+
+# appending 0's to null
+msg = 54657374
+padding = 3033300f0609608648016503040201050200000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25
+result = invalid
+sig = 8d18a5e0a81522b56eb9e4f43bee15475cdfc7881006150cc230e76028283375a13425fe5a106f2626346a65817010a5510b157b234a16fcb9426909a524a288161537be91ab13033ed296f5f8c1e5c3bdb963f12d7b5eded46106f7c2dc1ae9c451415303cb7e6a3f59809b922183b9638197909d5730e5b1e89705fbbe8464
+
+# composed null
+msg = 54657374
+padding = 3037301306096086480165030402012580aa00bb0000000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25
+result = invalid
+sig = 80c9add3930a98b726fe543b4350c593d28e77f9f53f1ea04c2bfca30f157309eeb41e5a675bc0045823df8e99f2e55d2567f4b78e36eb8af1b45c50e33e6634dcfdc4094407b760d8b60f76995edd05920a6a89e22168a788557bfc7cf01d47d21448a65f9766bb217bcac1124020b6b062fd0e7bbe3e142ec88652eb617513
+
+# appending 0's to digest
+msg = 54657374
+padding = 3033300d060960864801650304020105000422532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e250000
+result = invalid
+sig = 51640e26e8764936a7d9d709b3e0f52a5f1843453f2c6107a8e7fd6dad8b1c02ecc71659cd4134be952c03ee83c190bea4ea7260e5472c3cdf87b6ad45b5c974957ee9b4bf6f30152c2d939f722cff32e5482db96f3e283532b96716d3624daf16767e0ecdad16c97e56e4e076d64b92af329d2d6a2f8d14b59d1b84853659ab
+
+# prepending 0's to digest
+msg = 54657374
+padding = 3033300d0609608648016503040201050004220000532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25
+result = invalid
+sig = 9080bd4ac03b7ecedd45f8165360d4848bdfe1c9212ee1a4debc1aa92886cd7947a2df5435789bbb0b3e8f78815aac80e2cff14e1939e9ec32f42e7c29ed4029c88cafb64e8523dc85217c40d1bba900468a69c5bd4d12ac67401698fbffaa5159907ad459d3843e12487b3b2315c585881bc42e45543f7cf25110ab7e0a19f4
+
+# Replacing digest with NULL
+msg = 54657374
+padding = 3011300d060960864801650304020105000500
+result = invalid
+sig = aad9443d445aff562925a33c0abb7bca890d279d2934efd8ce2e648f88b08c589cdfc751e9668bd63d2bb97b652821ab4ac0a85c97c3087dc139250e1a0c1e31ac7db7cda5805532c5b32fd302063e02a190fef7594b2fbce7fb364ea6d7eec1f2823e8b2304cd55f062f61f6528a1f0702dcd1e9a66b5b807a44b76670f3935
+
+# dropping value of digest
+msg = 54657374
+padding = 3011300d060960864801650304020105000400
+result = invalid
+sig = 5f66f645307346216d3ba9c3d8b29e96270cb3b2e686a676fe975c10b8c26fda8d8eb172628bb3dcd726160c13ab8c5afb1d6ae943ea4c18d00465d97c0d2bcc27a63c18457ff8d6e3f5ba373b4be7b6f4c610f83578613f4fe41a40d86230afce0bb8d4496425a5bf0a80c6b1b1e2a981cd44c31a9aa603748c3d2fd2b85478
+
+# modify first byte of digest
+msg = 54657374
+padding = 3031300d060960864801650304020105000420512eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25
+result = invalid
+sig = 0f7ecb8d1f49a6af74361f72d7f552047611fddb9209a54ff0beec9f6494087067fbb3b8a46eaae41208b7a2725921e1a1408a82aab52b77ca3c6774e17f2eb1cc77d239adc23d7860dcc30602fa625eb5e54626d49fa1bccc8402463ac7ff7ffce3b723b6f0e541028a76775de752b56e95df62fe8eee6b5f5ae95240e8fced
+
+# modify last byte of digest
+msg = 54657374
+padding = 3031300d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345ea5
+result = invalid
+sig = 542f314c7986948793e53fa9ecca03cacac17d4c9e69ae3d71e57c36ddb293cd07397f7aa48d4ad1a1c59e61f12d766754eb2b3691c4c703446fa072fb709722ce0db92c804e920f8401fea399c5a72f9d99807b8063487bd57d717563eaecdb313bd6d479e2e720e5773a247b5e78a2534ae19c8970075f5114a347a85a7162
+
+# truncate digest
+msg = 54657374
+padding = 3030300d06096086480165030402010500041f532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e
+result = invalid
+sig = 888cd9bdece5ceeef0fea92727ef1a1d996960f3f551bf108682f8103590323669ba1ab48becd14a49b87a900434d0ca7670d094b08b2f851834757bef580d2d3278d85b88036ea90d4c2a673dfafeb0c3701332c2b77493110d9b28dade7e985ec27240c90498372fc00ac8e0e5547e4d59cdd19022b8d961f3b63630b5448d
+
+# truncate digest
+msg = 54657374
+padding = 3030300d06096086480165030402010500041f2eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25
+result = invalid
+sig = 762c745262627d0df634d6cce41fb8af3cb855fc2d974b8093b035e9d11e510b9b7e7d61581b8f262fc1c4b8a6da3f6d609512e32f16416c7449c623c1773417032ddf2a559d7eb3af129fd02f83b5e35f5b5c065b1e0bc6481f38b6361f0b018b5e7166e8e67dddcf1550222f125efde241a27b0e7f670d15346dde082a8c4e
+
+# wrong hash in padding
+msg = 54657374
+padding = 3030300c06082a864886f70d020505000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25
+result = invalid
+sig = 27830ed405bc9d34009ec6258b766100273b4dcf2a9b3cf6ae31029837c6e24cf6e819734c1fd10c2c23db34d227d98d3498850f083ecd78b648baccfd4647a572607dedbc2b8ab7a595c0594ece904380e7f395ba4840a81367e99275cde1064fc6f7fbd564c5f26ddd0103991ae8262eaf16623685b43f77ea7a05d080166a
+
+# wrong hash in padding
+msg = 54657374
+padding = 302d300906052b0e03021a05000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25
+result = invalid
+sig = 8bbc9167821885a728260bf9831120ecc42c14b2b07854169c86421146367d1bec66d8c3daadd115f16a29754e7fa8fb70a63966f7838484615d4364311b6c3f6e73ecd8ced0adb52db2c374297119f5fe571bd5396529d13b7225e87db5b5b0df38e4c56f2349071b09ff5c1ded919b398d4aff38c6ae29af6f6ff99d3e8836
+
+# wrong hash in padding
+msg = 54657374
+padding = 3031300d060960864801650304020205000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25
+result = invalid
+sig = 4cdfa8cd615bcdefa253d75212e4ed0a1fd60841656c6a749690cb0c6c3cd723b518560c3b11a734010acf6e38f0526338351d9b58351826b360c851d3c86429f38eb689e8555aa2a23157e197faebdd29bc49f84c10dacca655cd5fa50fdec86a72f0ff1c7f8feeec31fee188fbfa72776a7b5cdae1c1506830bd3a00181b13
+
+# wrong hash in padding
+msg = 54657374
+padding = 3031300d060960864801650304020305000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25
+result = invalid
+sig = 024746d8dd71ecfe33cf0ad7ab8ddab9dfeb5740ec47b8ddd668f07b8f7610f726692404ac14c3a1947ff4246fe0a9e216131489125e71df68d60930fac06a20e948a3e4948aff5e3f9772155f8bd6772b1cefd8180ae719afc061e2f0d68a69769930b8d90ca4ecd6c7b20d04f0cc939502e698ad1c500403763c0205f6870d
+
+# wrong hash in signature
+msg = 54657374
+padding = 3020300c06082a864886f70d0205050004100cbc6611f5540bd0809a388dc95a615b
+result = invalid
+sig = 3a152ced8b5e0efa33cd57d4afe67f31ed3b9fb22e7b0ff32795cd9510374fa09fc63a3366465f83ba4d44e36418a5c1d171b6ca05d8c74a242983d5e5912cd05bdbd75fcfd5b4eda7cadab21e6dcefca8e2ab7303871ef360beff45564a01bdc887d9e849e407c6aa5b12055647f6c9df49758d1272f7cb476f51088e21f246
+
+# wrong hash in signature
+msg = 54657374
+padding = 3021300906052b0e03021a05000414640ab2bae07bedc4c163f679a746f7ab7fb5d1fa
+result = invalid
+sig = 3765b8800e6ccf29544d834034e39f8fe7a2e6dfd7e6b4a8f81df091bbfd7aa17edfa6005024fe04d35c340a2215fd3f1cf4b4dfdd3c8ad09e6df2c2256c7541e19c2e80051d1ef5df5c384bfb6be88c4415eb2740db2d9fb3214890a8a0f19146dfb7897bacc02700a89139dc8fb21b2a7bbfbd43604d7f384cc00aecefb4ef
+
+# wrong hash in signature
+msg = 54657374
+padding = 3041300d0609608648016503040202050004307b8f4654076b80eb963911f19cfad1aaf4285ed48e826f6cde1b01a79aa73fadb5446e667fc4f90417782c91270540f3
+result = invalid
+sig = 5c5b097c21ac2eb156de39d1eaebe3b96082f54b0171469a94edf7d2027ebfdebc0837f766cfefec577e7b797c7a082df2ecc826e55d39927b01c2da26f8f6814ec993e3b93ee87a3418322b65ac652b3bba6d34373a13fd40b66be489938fadf67bbda762f6ee09a1ddc41382051d4a9a946e0df832bc65b7d5dd58cc5a402b
+
+# wrong hash in signature
+msg = 54657374
+padding = 3051300d060960864801650304020305000440c6ee9e33cf5c6715a1d148fd73f7318884b41adcb916021e2bc0e800a5c5dd97f5142178f6ae88c8fdd98e1afb0ce4c8d2c54b5f37b30b7da1997bb33b0b8a31
+result = invalid
+sig = 0ede4ac9ffcb6d3d42c75cf73303a28ba6089941f68dcf392a75b071f6c149a109cab95b80a679ca3b29ae44e51c18a2db4c72211ae6b959c7f22e854c45f20f5560446f33be4819f08d981d2fb176d48039ac4acd28127d593f9e219ad40e2a5ee911b334b3b8bb290f2327524e3faae2c028745e03d58882bfe503c4ff04b2
+
+# using PKCS#1 encryption padding
+msg = 54657374
+padding = 0002ff...00<asn wrapped hash>
+result = invalid
+sig = 6c0b3edf5f6e5d3f07057d0b752e89cfdd1c289ad18a0ba94670cd36547734e2c7bb32dd49709f0f7149944c450c23b7f2d360e3602cad5ddff7fd9d711eef6dd4c32e66c4433f041fffefe112024a655bc5bacbd0914bbb2b2a41a91b1293fe9478ddca926a13e6131cc5e9b70625eac1e533ce8171a2dc7b2c4a490e966445
+
+# using PKCS#1 encryption padding
+msg = 54657374
+padding = 0002ff...00<hash>
+result = invalid
+sig = 1acce04e348a5c8377c54d8ddd8ec2d8c5cb9b195863c32eb716745f3462b5f249b612aefb31ba484949d0a0cb5cb8e1f06c1cec58fe5ffff6ba796218c46c3e527c7ab0c4276ccbafd133812faec33721a08542e7e3a34449bebbb28bd0f28994c6801ba5c971991004e31de8f728f6bc37a4ec7b049c1f2dc64d4be9415462
+
+# invalid PKCS#1 signature padding
+msg = 54657374
+padding = 0001ff...ee00
+result = invalid
+sig = 61a4066d0b64964100ecf583325cad10b53912aba1bf3606720d2bdd8e21120bb0b5e4323987d96039819ccce0e5e90854bc0e5c239ab198f75b00355a04e4eb1f855f76697cd65732820575306eb9323954bc5913568a7278fcdeff8e8acad4481e3559f8c44a0be3bc02bae437c3146e4516632b3fe788c3a0e44171155728
+
+# PKCS#1 padding too short
+msg = 54657374
+padding = 000001ff...
+result = invalid
+sig = 979a313677883b0980997f1cb525f43401739945860149dcad80f602df8abed4fd85bcd6e174d9183a5a44008fd77b5a5abcffbcfd4f47ccd2dabef963d9b228310d99000ed0cebbf61438cbe586985bcffb3923a8467a97ae791d0b04925c0894b5a41583d6de72d4369f481f66abce41a577fb128fc0b0aeec746ec089d834
+
+# CVE-2017-11185
+msg = 54657374
+padding = n
+result = invalid
+sig = ab9014dc47d44b6d260fc1fef9ab022042fd9566e9d7b60c54100cb6e1d4edc98590467d0502c17fce69d00ac5efb40b2cb167d8a44ab93d73c4d0f109fb5a26c2f8823236ff517cf84412e173679cfae42e043b6fec81f9d984b562517e6febe1f72295dbc3fdfc19d3240aa75515563f31dad83563f3a315acf9a0b351a23f
+
+# invalid length
+msg = 54657374
+padding = 2 bytes too long
+result = invalid
+sig = ab9014dc47d44b6d260fc1fef9ab022042fd9566e9d7b60c54100cb6e1d4edc98590467d0502c17fce69d00ac5efb40b2cb167d8a44ab93d73c4d0f109fb5a26c2f8823236ff517cf84412e173679cfae42e043b6fec81f9d984b562517e6febe1f72295dbc3fdfc19d3240aa75515563f31dad83563f3a315acf9a0b351a23f0000
+
+# empty signature
+msg = 54657374
+padding = 
+result = invalid
+sig = 
+
+# 0
+msg = 54657374
+padding = 
+result = invalid
+sig = 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
+
+# 1
+msg = 54657374
+padding = 
+result = invalid
+sig = 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001
+
+# 2
+msg = 54657374
+padding = 
+result = invalid
+sig = 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002
+
+# n-1
+msg = 54657374
+padding = 
+result = invalid
+sig = ab9014dc47d44b6d260fc1fef9ab022042fd9566e9d7b60c54100cb6e1d4edc98590467d0502c17fce69d00ac5efb40b2cb167d8a44ab93d73c4d0f109fb5a26c2f8823236ff517cf84412e173679cfae42e043b6fec81f9d984b562517e6febe1f72295dbc3fdfc19d3240aa75515563f31dad83563f3a315acf9a0b351a23e
+
+# n+1
+msg = 54657374
+padding = 
+result = invalid
+sig = ab9014dc47d44b6d260fc1fef9ab022042fd9566e9d7b60c54100cb6e1d4edc98590467d0502c17fce69d00ac5efb40b2cb167d8a44ab93d73c4d0f109fb5a26c2f8823236ff517cf84412e173679cfae42e043b6fec81f9d984b562517e6febe1f72295dbc3fdfc19d3240aa75515563f31dad83563f3a315acf9a0b351a240
+
+# -1
+msg = 54657374
+padding = 
+result = invalid
+sig = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+
+[e = 10001]
+[keyAsn = 308189028181009e62337ef7d4fabec2561bb45a18a362022b23666571bbc762c1c717a14a46d8f58119072aa26245e71fc6945540335163798fcbdea04b3104ee23f2c3874bbfb3e7e0c1ba5f1fca909265274414db6957a5eb668e0e36a388784355d528e51a6a4a9a9c6b6ab912812a268dac9dcacf1c13507768e63b1f82f8af29c3786a170203010001]
+[keyDer = 30819f300d06092a864886f70d010101050003818d00308189028181009e62337ef7d4fabec2561bb45a18a362022b23666571bbc762c1c717a14a46d8f58119072aa26245e71fc6945540335163798fcbdea04b3104ee23f2c3874bbfb3e7e0c1ba5f1fca909265274414db6957a5eb668e0e36a388784355d528e51a6a4a9a9c6b6ab912812a268dac9dcacf1c13507768e63b1f82f8af29c3786a170203010001]
+[keysize = 1024]
+[n = 09e62337ef7d4fabec2561bb45a18a362022b23666571bbc762c1c717a14a46d8f58119072aa26245e71fc6945540335163798fcbdea04b3104ee23f2c3874bbfb3e7e0c1ba5f1fca909265274414db6957a5eb668e0e36a388784355d528e51a6a4a9a9c6b6ab912812a268dac9dcacf1c13507768e63b1f82f8af29c3786a17]
+[sha = SHA-1]
+
+# Legacy:missing NULL
+msg = 48656c6c6f
+padding = 301f300706052b0e03021a0414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0
+result = acceptable
+sig = 707e19417b5b3cb975795e5d53cb2db69bf80699e69114955aea5ff45755eb365fd34a18290db1975c32388eaed0d446b44138bf18b012f7da3ed067de6e444a5a66a35633c875254ed3d1b120ce657873e888af703e649076b368e90d761cb3e14cf79099026cb4a4c1f20c771c1d7544fccebd6d642506146e3d28acb6cf6b
+# Some legacy implementation of RSA PKCS#1 signatures did omit the parameter
+# field instead of using an ASN NULL. Some libraries still accept these legacy
+# signatures. This test vector contains such a legacy signature
+
+# valid
+msg = 48656c6c6f
+padding = 3021300906052b0e03021a05000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0
+result = valid
+sig = 8aa2c8a167fa230a1d1ea6bf5286d3ba6e675ca57cc5ca8cb26fdf465810c19af36cbdf843319f7af9b2954f372ef16891918aaa2ab64dbd1cd0ea54351ff2b3437fae5ec947971662c1f75ef6892b6899b77343fe87665c5b74df322b59f017e5488a67ec836ccc3f873788d60992d43f64b736507c455b649119373ba1aea4
+
+# long form encoding of length
+msg = 48656c6c6f
+padding = 308121300906052b0e03021a05000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0
+result = invalid
+sig = 5b4cb0b22300dc4913e7c1cb82e86663462e4b30d03053f697d59252e01339cd230b72afc8623e185db939108f3a47814f418b5411dbd3365d45b609f93b1f4fa10b7b908430a9f7d97037161cbeb2a1af0223b6657179a9bd2efa8c40a2f57b20755042b401e81d3fa3d4faf69d05cfdf3b7c3d5d3cce8fe036e9899db34de5
+
+# long form encoding of length
+msg = 48656c6c6f
+padding = 302230810906052b0e03021a05000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0
+result = invalid
+sig = 264bb84974efc808ded6a363c50bba6c1ad8acea4d26f86afb81839d8ecfe7041db3ace271f308399bf3bd2effd70c3b17e968f084867a0d95299a8dd0bc27e516925d3b8c0e748d5f91dfc87eebc383ecfdf6bf46cd28912bd4cfb9949f7660f1dbdba527db82cfca5aad1f99cebb1d7b554d4038238a4755b25c2348397e2f
+
+# long form encoding of length
+msg = 48656c6c6f
+padding = 3022300a0681052b0e03021a05000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0
+result = invalid
+sig = 23fad8546f338cec2aa7fd93387b8f1e735e3fc3337350276efad8950161e6cbc7dfd28c7272be65c9dd469cbfc8ddeb6945880234a60c0778d5e8f185b95b0caeda346ce5b8231f94c076d056e2aa7245072ee055f37e7392ad4c158dab92263e4803d82939c7ede603c3467c14c61a5743df002358cc63eab3648d8ca8ec2a
+
+# long form encoding of length
+msg = 48656c6c6f
+padding = 3022300a06052b0e03021a0581000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0
+result = invalid
+sig = 64513a079e0bd31939110d49d36101fd2a49c6d940637b9900fd317a64d174ef64acea808329b700954471c8282d1f246ca3172481fddfda77bbe24deb8d3d20200e78ee9cfbd97b063c1da700a50f635cc32ed74efc59407b8af422e01f728997c9a2dd6f8fd0fc89c9c5a9b0a2038cb006f3e8a8bd86ec129db6ae95b18ffd
+
+# long form encoding of length
+msg = 48656c6c6f
+padding = 3022300906052b0e03021a0500048114f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0
+result = invalid
+sig = 79547cc01aba5ccca5e0337304e02c48455df528e61037516262e151d4378f3447a730b894d63974c3df0cecd708bffd53742c908b718ea1e09786f00b58f434a10e5014fc5ee96c8c87aa0cd73348a470c369b71bee3d78e3b7a640d605736f3b3691253d853473e34e0eee9533abf655e0e490744a354309c3639ca5e0e084
+
+# length contains leading 0
+msg = 48656c6c6f
+padding = 30820021300906052b0e03021a05000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0
+result = invalid
+sig = 6dde5d8a638e4cda4551a295aa037c0db901578d70b6943d58f842e2b334822e986506768fbd73bd46e62f11acc308eb9b0f9fc8831729fdf630bb0b9ac8a9ce484e1fdf5d1099659ff452c132096d085b624e521ec0cd76449f50e57fa39adfb91d1c4cad4b9651cfda905689c24b3118970f78ca6240b48cba83d19da8ae91
+
+# length contains leading 0
+msg = 48656c6c6f
+padding = 30233082000906052b0e03021a05000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0
+result = invalid
+sig = 28a4c4957ee24b104aa7f68d8d7fe5275abfe1c449f6e2d41d2741081e4e0248ff40acbfe0bf7652af44f4f369de583c355af6a5af87500330710b976f1bd3a705c216255d71589c341b237024337d38161946dd0ee3fc822b06c96775c6be57a906eb7c6178751537bb181e47acae959862253c34e979c3def80038488d0482
+
+# length contains leading 0
+msg = 48656c6c6f
+padding = 3023300b068200052b0e03021a05000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0
+result = invalid
+sig = 08cc5258ab3d68d796e5dd868d676ce9c2774d1eb6a16b4bbf0acaa0baf9d812ed0138a17ab8a64dbb913e33a88a388883889bfde6922cca5ca98d5fd1ac13fa87eb1b5701cb4ef5271057b39cceafa0f8509f9151383058a1349460db1895b3d7fbc043771ebd48538e9c208c34719f21b2d60dfb7a06a3ef42d1f2a90826b8
+
+# length contains leading 0
+msg = 48656c6c6f
+padding = 3023300b06052b0e03021a058200000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0
+result = invalid
+sig = 118bdd711ce909f3e6894be2c5f7fbd21b6e542205e63447848bd6be079874f2858e9640ca8723cd4f73d1d272780aef52200d991cf620f7345f20ed4b5c978f93dfa495a24680c762ff1f1c4c3d0513b818b2cdedc63cacaa76af3b4672e0c3eae523b410d7c03ce4b9d2f65f92e580e4e7f04d3f62047db3968e33f0f1f40c
+
+# length contains leading 0
+msg = 48656c6c6f
+padding = 3023300906052b0e03021a050004820014f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0
+result = invalid
+sig = 7c2ddfeb9611939302c4791b44d2eaec63ba700853c84c928e11f50a5fb15c47a2f0ad91962aa88e944c0a655db19ea4bda87e386ae820fea49725c75e13b26a7c7d9dc63e353259d318246a3ec3c4b7d2ff8e6af164fe73ef35eeb76e921a523f48db83d541b3abca995d807968cb960fe192ffc0501a0840a1f5bf1b332123
+
+# wrong length
+msg = 48656c6c6f
+padding = 3022300906052b0e03021a05000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0
+result = invalid
+sig = 5065698891c73f55ade9d829053b14086b977af8f8ddcb9d2b5d236bced0821b00cca31a26b43a838ed36f96d823205fe79644ab4d431d2072f823bf9dd60bde8c2af3e2f4af0fcd734f285c0f8e0b9e5cfb5b7cf5d4131ad2122862c7bb6d9a9d6a7ec674703c79e4712ea84bc178da4bbf08355b2c248a5887a9b87702f70d
+
+# wrong length
+msg = 48656c6c6f
+padding = 3020300906052b0e03021a05000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0
+result = invalid
+sig = 33ab162433e5c9677c2ef33d2949c64167afc165223a79ea96bc1096e0654db370f84b30f3ae03da910e6343fdc9f7413e9422f76dfe4287dfaf7250567076a4b2cba812b784410ff19f412df89f1af8b9a5ea4809b7f60b8b5b4063d07dd17311b5b0b75599ea8988c605b06cee2b6bcf79f20ad7c4bd67cf179511ceb9fb21
+
+# wrong length
+msg = 48656c6c6f
+padding = 3021300a06052b0e03021a05000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0
+result = invalid
+sig = 7cb2655e9bc1e633b46656d28db5bf457cfd6a6557ebe511a694ecd36987fcf94a6de7a3f73d47777990697b5663fe59b838fc0a7fcc0604a08e951fb1ef4dcdae0bc09c6733815a65ed465e86e98bd08ccce8df0a7822f1dd74fd8ff7add8314387ed2bb5474c7c282333bcc962af3f0506a15971f30967f49bbb22cf3e99d4
+
+# wrong length
+msg = 48656c6c6f
+padding = 3021300806052b0e03021a05000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0
+result = invalid
+sig = 5e147003f7061b46a6046dc91374cbb2f1113ddb56dee64f203a513b421330655c123fc2c51a79ce70fef2884b6b444ff8639d5448a0781f8f0503009cac89a58fa0bf73b698011d80986379dfa0b8923591f2c310cdea8982f8b87dffc4ce27e5a1a75f44c40e95898d0ae12cabb94fff41116f1d96dfc8fb5834965b750cbc
+
+# wrong length
+msg = 48656c6c6f
+padding = 3021300906062b0e03021a05000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0
+result = invalid
+sig = 8cf10e501268713c12ae5c26c5982c082a912ba2d22501a12438118067ac19957b0191498fb2113d1ca2db5fad32761f282b4c7684827b35a1709297c9bded1fe61a4e1963d32aaf4cd0ba5c51ad9c1aa3494c47afca86a264293d9a940310d6c1d8bc3e51ea3e12488e87f624e738f3568b21ab5f7a8b299b5eb0d7147ca794
+
+# wrong length
+msg = 48656c6c6f
+padding = 3021300906042b0e03021a05000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0
+result = invalid
+sig = 8ee3b703c37759112397fbc6410d9c95a93084f544a26756071b298ba563b2c22962befb038d995912ef5b48f5ffb9d187be72f835d0afa764eaaaffa2cf42b0918e8b364bdef42a482e571cb949342654c91e3012776620cdb590323326e2861d1abdae6ea2fae95d7304b25255aae9d7309324bfb6b47cc2555e5191e95a79
+
+# wrong length
+msg = 48656c6c6f
+padding = 3021300906052b0e03021a05010414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0
+result = invalid
+sig = 7ab24ebda94da9c07a8742a96884e7006e36c15fadc0d41721d8192581ace97b040af10f79bdf1041ce48bfbdfe0e2807042ef91efb0136acd592346bc8c572bd0da5f6400406971b8d84b021c0550e32b9ae8cc4481b8979979170d7690158dc95f2fea00e05566a2369a3eb34794cfa6792128d72774eb0fb504490a5e9484
+
+# wrong length
+msg = 48656c6c6f
+padding = 3021300906052b0e03021a05000415f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0
+result = invalid
+sig = 49877ff5a25db5d9736e7c0198f7908dd0eaf2f2ac754d6456073df7a1b8d87f49fe9ed7caac03e92cf8bf253626c2ec049c4dd4615bacc5a617ffd874934ad868db7c5d7db8e37bddaa22b557b49bf8ee769bcd0d0faee45adaeca042fdfabe0864256a64389208ea8a825d373c439e220a60fb30ddf96427741e5771b89200
+
+# wrong length
+msg = 48656c6c6f
+padding = 3021300906052b0e03021a05000413f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0
+result = invalid
+sig = 6acf67de89d21ac6c0e0360dc872eabd3d9f315a46921fbc835391f4e5df2d5a73826cccc3ae099c76c5e0b5dcf13f76316cad72f2715be8927fe83273cb5b10dce6b4a58236e90028146519ee975599e2cfce518be7e20701b82d24e1448654a89a52cdad64c33ef916e1d3a40eaeb07a7b1509a151ca7a8c3f37b734dbcdd3
+
+# uint32 overflow in length
+msg = 48656c6c6f
+padding = 30850100000021300906052b0e03021a05000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0
+result = invalid
+sig = 8291239e82027853aad5ec6526dc14eb2e4d6f62459cec895e311302e531a472dc720a55f01089ad3ff96608cd0804dcc4816441f92e77b9dc59d85a7b750cef32013fc888ce4bab028152ed07d31e1232cfbdcdbf096cfbbed22be93a8cca41ffd69575c3e47aa6f3c4bb895690622ad253c60db7fad789b3508252120f2905
+
+# uint32 overflow in length
+msg = 48656c6c6f
+padding = 30263085010000000906052b0e03021a05000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0
+result = invalid
+sig = 0c0a60f4426a0922599d12bf623821ef3a69e88b8f3df39c998b91951bf8fd9f12f379db75bd051943076b73f145f6de4e82c050bdff9989bfb7430c6b4483502d291e666fc1b93e61a2e7dfc4f3b3d0f695ac605772a8f54a85148b76285aa0ae2a993d5061dccac1afeb9605771de9b51d6891e875c384d8827faef2388555
+
+# uint32 overflow in length
+msg = 48656c6c6f
+padding = 3026300e068501000000052b0e03021a05000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0
+result = invalid
+sig = 52d65dbd6d48dce0dbc538883d3508588966c4932afcb22457221c34414a59d8effbcb805c6320b5edb024c745afec75bb7c698d9e903fffeaf7a4ee8c36d7f44482f5116d8d7758f08c889ad777405f204e1c5b75e1dd2721f46679fa13a98f8bfc07885ad67a43fe4c05ded4c36f8d7e1bf5695bd348192986f1b40c60527e
+
+# uint32 overflow in length
+msg = 48656c6c6f
+padding = 3026300e06052b0e03021a058501000000000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0
+result = invalid
+sig = 485b9c137230f1bd439b4b5753be8267f386e1725d63d6c29bef2759c8fc81d4bfe2b5759e9dfd1772fe2cb661d320ec8fc831cf6e4abe8e18d622893a7ee92c64907c15427e7748faa3d1445e7721260e70be4f32167d60462fae53bfc2d943501b8634e443a940d9f41a1391119305a0367799909a7b83fdf7374721d4efcc
+
+# uint32 overflow in length
+msg = 48656c6c6f
+padding = 3026300906052b0e03021a050004850100000014f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0
+result = invalid
+sig = 73c06cbffd5b65aa863f4d61321d840689ab69885ecc340748b8c4ad290945074fb58c73a419ea9f56e9ad70d1b133567a6c3e8e42a9b009241179eb154d7fd1603b6e25db969bb62eac8477addf62f1437d225c57725f3a017073c7418e70adf1e5caf81740e9503ff395b956bc90aced537e846968d879e1a17f4823aa3ffc
+
+# uint64 overflow in length
+msg = 48656c6c6f
+padding = 3089010000000000000021300906052b0e03021a05000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0
+result = invalid
+sig = 5d718291abc4c814b265b5eb7c41d96648ada9e6baeca90e4dc851a1655a64aadc072ed9402f583f6f56b1d885c9423f4b708afa978c3c941969188b44b04d4d787bb6079e3527d6c1e36cd5fffbd33178cb6f23c4e1302b3a59cebe6353b6b10a005e6f24a5ef8350900b3717646917d1efdaf8aab1a3e994d5627a8d11e577
+
+# uint64 overflow in length
+msg = 48656c6c6f
+padding = 302a308901000000000000000906052b0e03021a05000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0
+result = invalid
+sig = 1849ce77edf490fe5825f6bd1d6b4c312227fa9296ebb4f5e9a48dcb9b9a8918362a92d8a620dd3cec378f67beda0216b4c39fe07903bdeaed853f8884ba017fafce472c751284cfcd4db8fd5b93dd821eb43a202747927f1bcb947ad76ebd9d6085b616e8f8485b31889b95f28c4bf06dd4852142ac2f5ae707d1ed4f23cb5e
+
+# uint64 overflow in length
+msg = 48656c6c6f
+padding = 302a301206890100000000000000052b0e03021a05000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0
+result = invalid
+sig = 0d3eb2ba13141b7d5fb65b0ebca47b979bb51778e762bde3c4cf33b02f84b0567214eaf31dfdc8197c2e84d9a85af76e8bf832a5ca2797af79b0293d85f513e421714e364ac5a5551a066063f008d6eb7c3bfdda6c6fed53e0161cb607ff7e78916f301cd81dd63f351eab77395c718b56d8d0b73b4806229999fb98aaa7751a
+
+# uint64 overflow in length
+msg = 48656c6c6f
+padding = 302a301206052b0e03021a05890100000000000000000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0
+result = invalid
+sig = 88b8e16d5527fc54feac2b63c905964e71c47701dad5944aba4847460b235c09e9ffa8bc6e59390dfa8d739893cbb32f5b06ec7f1fc918ffa0c364e0b5985dc05aafe98a8b86b18168d7705231dede7f0ffef76e6805a35a0ed9a78bebedcc274169f242aab6c33541c840a1e50cf09720b2aecfc356ed88ce1090bc54499f6c
+
+# uint64 overflow in length
+msg = 48656c6c6f
+padding = 302a300906052b0e03021a05000489010000000000000014f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0
+result = invalid
+sig = 54bbb6fa9891afe6101547c34599fd1fb4bfb3dbe0c57fcaba3bd3700f0ee7d658ccd24bde5394aadc7480f181b90576a74de3c705b85bf214d9d8284be4b00b12678891989c3e3e16f53185fa590c016c29fd6ea02f97f1a872100969fdc57654b691122f2eddbeb6dc558ade5854fc8f26c11c5c32638bd4f7253099c7d1bf
+
+# length = 2**31 - 1
+msg = 48656c6c6f
+padding = 30847fffffff300906052b0e03021a05000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0
+result = invalid
+sig = 0dd112d02c49ae5057f4b89c14b871e5a446e96dca84c6d0d012c95615cf43ebd42e79d034fdcdc93de62e3b11dc11dba63dacf300190d443e3796e0c95a5db3955f799ec1bcdd4ecf69b708fec727b76401e989f5cdd612773f65e1a357e0b2942b78aac09dea9eb0d86463aca289a0af876eb4ee031bdf10e0df27516ebafa
+
+# length = 2**31 - 1
+msg = 48656c6c6f
+padding = 302530847fffffff06052b0e03021a05000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0
+result = invalid
+sig = 603d34e2f71dabf90d862e828a0579fef915972f070c495da35fb279808ccf4bdbb0a43f666d203aa494f0a3012f5a4518c2a83fd8a8d3f1537be15174f22a355124657fef6e1b673c4010e8514cb133f63a15a7245ba9fd8acd03c080e4e89531c0ee3b41612e34b136c07c469c042b2b2718dc600cc1f4069063d0989fa188
+
+# length = 2**31 - 1
+msg = 48656c6c6f
+padding = 3025300d06847fffffff2b0e03021a05000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0
+result = invalid
+sig = 11238413d11b4c1e0e311fee14bc4b3370c9943fc22c8b9429487bcb920e091d9edd0341bfc79070337854884267cbbc0f41dc34746c3e56096bc03cfa9d58e812d2bb9cf7dd90f3f16c048036255c0338c3777073a925f565ca9c9f78c7edb856f20a541275f84eef9a022e94dfeeeae4f07416cfefd742c21da502a1fe80c1
+
+# length = 2**31 - 1
+msg = 48656c6c6f
+padding = 3025300d06052b0e03021a05847fffffff0414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0
+result = invalid
+sig = 8364095ecbfbd1f50f2964bce941395095071e45e9ab55edfef6ec767dc3790ac237a11132e6e087e96c226fd338783d4de817abfb9e134c2dd61dd4e400188f50be2a7cf3f96804011b5240da29bb1e8f7d4337c8e1f2af0acc1536057b0114a23172c6d37f9128ba4c2b719158ad70c5c44033e532c58d0d79c4508470465e
+
+# length = 2**31 - 1
+msg = 48656c6c6f
+padding = 3025300906052b0e03021a050004847ffffffff7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0
+result = invalid
+sig = 8a3d7f621509191a435d03f94a338c1aeb99a824eac10a7c8575d1848f16af74dd87db6137a590d3e0cffa18cb5c52e1ab42688c2d50afa5a29730a98d6cd60e24f13c7dfd8500a9442954a23e773560a11b1a2a3fc087a28ff2520aeeff2a058928c9af14e90125b0d534bfec11eb1a02227e7d513569f3f8dc6e35f6fe6136
+
+# length = 2**32 - 1
+msg = 48656c6c6f
+padding = 3084ffffffff300906052b0e03021a05000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0
+result = invalid
+sig = 149a74b89d1eb542f383ce0f24f8665b1387529770f561cee91f39e3af3e82c1cb0f589f4d6d5e9fbe92a8105993d55c205cbf9b4ec4c3085739ae1ae2ef4615d43040926813981d4b626f3c71e08981b8c900952eb23d8b9da218fc3f1f113a27682ead4466157e9043188d331a9632c8972ac7bca5729132bcf4b76309fcf4
+
+# length = 2**32 - 1
+msg = 48656c6c6f
+padding = 30253084ffffffff06052b0e03021a05000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0
+result = invalid
+sig = 3b55f4f1b497c53dc4fe59e8e2c8bd48f9199bae420e43e5a22fcefe047a5fd6422de99742ab6b3f946a908d382852359f5f80037976287f4806ee3edbfb94a01d81fcc9c28afbbe8d824089bca34f939d5298152bfa11e69e047a6379723d5d187c1cee5f437517ea237d0a024d2d21316666f867411b0b84f6010dbf3fc2f7
+
+# length = 2**32 - 1
+msg = 48656c6c6f
+padding = 3025300d0684ffffffff2b0e03021a05000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0
+result = invalid
+sig = 99a4a625ecb0c1c339c42b058d05f8cc6cd47bb29deb1df909fc16083e08ea18f482dc3932f0f81a0881c8a4e450d52da647fe501baa9363ce0261729beb173e3c6b3ecfb392ce93d89ea4c0e911ee2b95574a966c23276b9495b2ef6dee3a054c728c4ebb1cb294c703e1320a7d3cace4acdb57c605ab1c197448d5b890e71c
+
+# length = 2**32 - 1
+msg = 48656c6c6f
+padding = 3025300d06052b0e03021a0584ffffffff0414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0
+result = invalid
+sig = 4473370a0f1cbe032dd66017379c5605c69fb77c74af9f119f93b4df107cda358dd074a7c8a2a4b3afb3bdd4d6074be90e6e8018fe482121cea28e7d42b4a64e0fad25c86d4792099812b74dfd225efefe1a4c9b664a3786c9e2070bd7ec4bbf666a4fdacf5966d121fd17169db07d47f04beae689080c76592527346d3741ec
+
+# length = 2**32 - 1
+msg = 48656c6c6f
+padding = 3025300906052b0e03021a05000484fffffffff7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0
+result = invalid
+sig = 1157bd4955170a4d8dbb6c3e20faf50fdc20140cd2f0ba30f2b3b059742b747f501e8fd4df0c614d247d7c7ffb91365e6bfb5ce36d21364cde0ddf7d9b10c1b1fa0ef1aa37deecfcb0002094a6b2971854f70912e62e91275091ecdbf0c218c0a3a4d7c5ddc7eed97c317f46ea2b554d391d08a5d015ffdf1c51de55f8048d1f
+
+# length = 2**40 - 1
+msg = 48656c6c6f
+padding = 3085ffffffffff300906052b0e03021a05000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0
+result = invalid
+sig = 50af5b10a7fb4f26fe6abe148cbf8169fc5f7260e732f4ae4ccb79877a3b1c8d6fbc476a43db9f5e94c8c13fb256ce767aacd02445b47bcc54f535ce67251ee94a63b33dac77cff65d3de5aff42f12939f10320d40ac448cde70bcd8a40fa20dc91354f97521d847e45aaeb9fe38a8c9c0a3ebaaa34046a620654e305cbc3289
+
+# length = 2**40 - 1
+msg = 48656c6c6f
+padding = 30263085ffffffffff06052b0e03021a05000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0
+result = invalid
+sig = 4635e85ef3201bd0c0f1e57a2fda4c1a7b68f36db6ca9f1f034c75bad695a67964086d3d7f7a7505ff10cd77f1017908634f309fd5e0d4a406c1c579b08b397305e0e6a57390738c2e663449a72c0894bb3beb0933cd12c469181b139ee21ca9954dfd88b0ebc6f0e8d29c7b45b2bf5714e17ea9950e0d5b476b55aa0b717bfc
+
+# length = 2**40 - 1
+msg = 48656c6c6f
+padding = 3026300e0685ffffffffff2b0e03021a05000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0
+result = invalid
+sig = 6cec5f74cea80f137a424880ca5254507315b6e50376a969a444aa0c33d5a9079fbdd417662c16048a249a94d251685742ebe4fba882e797bc77f6d28105136b2ba9bd5ec3080343d00d7bb9f579a334c945c1239680c11170e0470e801bdf6f9789a5428cf97b0af0f2fa77db2f8fc00182b1bf9601acde6fd5158b4f57bcaf
+
+# length = 2**40 - 1
+msg = 48656c6c6f
+padding = 3026300e06052b0e03021a0585ffffffffff0414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0
+result = invalid
+sig = 0513eb217a06590004cbfcb0bc94c0c6f79b488fffbba9d85e289e42b91824c8c4e1dc04f3ad6f6ce6e8480c96889bef3c62105bdff8af972264cf0110b4e522fd26ff6af8147990143828fa3aa2ba25066369357e19fce0b8f90d048ac1ef19380fe493fb70ac9660d5258dc0657a6270166d3400c2421bbf57bcfe10e2ad64
+
+# length = 2**40 - 1
+msg = 48656c6c6f
+padding = 3026300906052b0e03021a05000485fffffffffff7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0
+result = invalid
+sig = 5b0df944013467b97409704eb2130b06e537f746c5387dbb858651f4446887f874977dfbe9d5fd26d0be6ed9ed9381b9a8511710d0756434ce897cb00863c652ddf3a6b2df37f9308a46dcf2027ea523f124c9f32c2d9a09b5d1928e2677dfaf5e0d8a00c3d0edc5c1441f017011a16f2e0788fb2d8d22e395b4d79a8375ba49
+
+# length = 2**64 - 1
+msg = 48656c6c6f
+padding = 3088ffffffffffffffff300906052b0e03021a05000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0
+result = invalid
+sig = 52be2fd82c24a1fcbcc3d832732eb97b1032933fa6af3b7fd8d63fca652d4b3a40c8488695414049f416f4eb01095767d75325662accd8c47bb75500ea4a99ac1fbd01815d0b8ddf450e097380c53715298c22fd3150b8417a66f499495372f07e98578e407ca2d226c69533c80b08f58e1fc0ca1cacb8652fc9374e12f6278e
+
+# length = 2**64 - 1
+msg = 48656c6c6f
+padding = 30293088ffffffffffffffff06052b0e03021a05000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0
+result = invalid
+sig = 2703db8b7d2f7a879c235f95a9a39870074efea76b73663c50c4581eb2debb494472402d271b115a14fdc14eaea36cdb4c199260abd321d8cfbd1f56b1954761c5c61ad3ec1e440b53f1cceb156d8638b597eee1eb717b110f30fcea92f47e7c1ba438b1b161967f555bd14f0bcbcd21833aeb2c6b8b3f5c4727d07ddf009b11
+
+# length = 2**64 - 1
+msg = 48656c6c6f
+padding = 302930110688ffffffffffffffff2b0e03021a05000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0
+result = invalid
+sig = 927d2fcf22048a79d64b34aaa94de24a10770a95e32f0a6e2b9bd5a9c1e502e9fca540e54aca240091923bf4a64fd703b30fb5cec96c8da5431373bfec653da1ab25cff5024e1a029cca12469db0ca362ecefadf60991fc1c1615154450d9e1b54abad613f5ddccb5545e615c6168d0247f8e7c061659c9946c3af1e373a618a
+
+# length = 2**64 - 1
+msg = 48656c6c6f
+padding = 3029301106052b0e03021a0588ffffffffffffffff0414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0
+result = invalid
+sig = 1da7bb65b41d9e5fb8b895882b9b6c2aa5ba32e7297c8eb3d64e5ae4311ad229692296cc27eb84e8673c29b65c35b1d52038d8b4136b334f4bd385621d7ddd6e0b5718c65834dcee0e7841a154f1953b130573995ad5cb29849490366936ee8a383f33f6cab3221d21d86c42ad8fff91efc5257ab8e9279df968d477167e75cb
+
+# length = 2**64 - 1
+msg = 48656c6c6f
+padding = 3029300906052b0e03021a05000488fffffffffffffffff7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0
+result = invalid
+sig = 4c3a7204c4807d5b44fc36eff6b0513730fde67c74eb7a7d0484b7a5b89e444e89b07170ec0ff4ec4f58b9f13c3bb82cba0081b737f62277dbbc678933dc3faad4dcdd61c8b4d62c7a1c9a6dc40c564b36bcfb9aff90e9c642afd81a8c9911351e3f0b78e0ad6850c937a69ee2a639be88473682d7c4a6edc77365cfcfe91075
+
+# incorrect length
+msg = 48656c6c6f
+padding = 30ff300906052b0e03021a05000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0
+result = invalid
+sig = 32107f36c8b86cee3154d197a6e281869070fa9947177aff8cfea5942b3fbc323452b002f957f19083b57d59e6279d80821fa33c1f450ef5f805eabf1782f729dad2f9d0e63462e901dcd449c7fb14a8c42ec9599d30cf1b16b45550061f5b6f7f91c4c2bcb1613daaec5984e634fdd65a19cf24cd29d093406d7f5f4c443a23
+
+# incorrect length
+msg = 48656c6c6f
+padding = 302130ff06052b0e03021a05000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0
+result = invalid
+sig = 5ebb4faf49a82b1fda92b2ccc8de0d158bf62f819359d06c6a4a2a508bf728635296d188d5a221b40cde9d51e107b8e8f73ed2a0c3cbd92325ddea1cad1f72ff6491133ab7a2847f3d339cb2317e8b9e336516a7a9d84fa8fb2b481df9e1ec397fe97d18227ab98c2fa55f080569aedc7025af770674a5b33c61b811922058dd
+
+# incorrect length
+msg = 48656c6c6f
+padding = 3021300906ff2b0e03021a05000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0
+result = invalid
+sig = 531ddbfca4d3202639ecda32eed51b2fcffaa0cc6a0e97bdc1df71ab3b800f3e80f661b118d9cd82dfa1ae35cc3a364dd2a1c688e90cb6b6a215485e5e30679838bea37edcbe982ae858ebb461a45ff687332be102eb65746d9539a693b489c3cd5901adecc2d4afeca278fcf3b21774f2d11090f436d949d4ef96480839b678
+
+# incorrect length
+msg = 48656c6c6f
+padding = 3021300906052b0e03021a05ff0414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0
+result = invalid
+sig = 4ec4e1b4bb0ce0b002b8cc0b47fbc2baa9be415e35d77fb95906620322a63fed39595837d1a547cffc5f50c34a4daebf3a15d7d7ede9e583ffefb77ca4e4cd953b91a8608ede58a5500dbb71ad24bfa2b07bbec03b702c53baf4a1053d4834376b205854cee7e0dbaa1ec60f72ef238fbce20d76f9549b485b41173da58356aa
+
+# incorrect length
+msg = 48656c6c6f
+padding = 3021300906052b0e03021a050004fff7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0
+result = invalid
+sig = 7d54aa05c2043d5f6330ab97726ae0407d0f6be65cc1146b374d3e7f75583beb5ad0ba0361b2cd6bcfcfa01987cfdd4423047fa6f909b3fe3840262c55b3f2c0385cd8474cb92eedf9eb9113e9e83d0ae220124493c3df2380df4cea3e88b81d9e3947feebd788c2417c644974f6b909c1e44b75b74240b370f8663e9a1f63b3
+
+# indefinite length without termination
+msg = 48656c6c6f
+padding = 3080300906052b0e03021a05000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0
+result = invalid
+sig = 1573e93ebc5caf4eba58c9d80b89c0b62de2073a85f5872a22ea283f37366fbb8c6c7f4b0a4f459505d95da2921d8aefa640d81f5dffb9e0e679c69ccb310eda59f36d49b33219b30ee3b0f680e2794654c99e63effef73b09891f67c403283999943d4ded2c823797ac2773aed7a0af88cade66f4a203fe91c8d86d720fbd36
+
+# indefinite length without termination
+msg = 48656c6c6f
+padding = 3021308006052b0e03021a05000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0
+result = invalid
+sig = 9dc2d9a253cf809bf178002806d1c9883f5c74a0734f70dea7e322f2ea00a00a3bc864dc4f0fa90bdf0af0a8e46f893f6405a63998ed27f18cdffd1b46a183763e3bcfc4c491a023468f1b355d12be2118e4381d960fa2548afa12a6ea46da03268d1d050bd942ec8c2bf584f8d2ff00ff975860686311b1dd17d1ad6f262d66
+
+# indefinite length without termination
+msg = 48656c6c6f
+padding = 3021300906802b0e03021a05000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0
+result = invalid
+sig = 3b1240c785cab25d0ebd26078da7323bd28352a878cd405419cef18938d27dede67112d32f6a60d22b14c78e0f5c392bc9f53f2a71769e21a9dd4b5d8495a203ff0e715a1173ce69f3c966d83e8ac9a45ad534c36b77d1cd120a6a3236ce023099b19acb39a25ec420f8765829b77cb048a5136b597645caafbc34d3c09723c1
+
+# indefinite length without termination
+msg = 48656c6c6f
+padding = 3021300906052b0e03021a05800414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0
+result = invalid
+sig = 84bbedc08a146e7f8923dbc116c9793d1bac3608d71f962664d2a155bc06b8a02d3a346e067f347cdf50ba537c14c1c8bfabcae5ff982e5543b626f89627d1a4bace0928115d22d2b0daa5285afab45c9d54e5fe1832494f432b32bafb8a922360f5f545b15dc189b7e64dfbe96372b401ad519162488f0123934a9c0512b4d3
+
+# indefinite length without termination
+msg = 48656c6c6f
+padding = 3021300906052b0e03021a05000480f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0
+result = invalid
+sig = 15a6c89db01ecf6d5f4d3a1535bdadcab861655619500b010851340b88cf8ec2547bf402137751006ac9d675b42308f939eed23d010fa36006eee53b94d63c3ef3800665038ffb4f017c1f3f5f8e9b909fd555e67cb002fbe261a42bd7b617525c5027d5af82aae2b6fd29abe4f503dc5f2620aff14d7b7798fdb8d4a7629db2
+
+# removing sequence
+msg = 48656c6c6f
+padding = 
+result = invalid
+sig = 14951bfe3fa22176d5ff4ad5f7dec0d0954e25a2381c91bc17707034ba19087c9f5b167d250129b95b41c883c69a5628196f9733cdff2daacb49ab61ee430582aab7c785e4f70f2320ea1d18da9ed0bd4f96e597977c2aaf0c2b8a3dfd8015d08195e3446efe12788fb7cbfd612d309a13952682b65f03a8c9440fd735fb2078
+
+# removing sequence
+msg = 48656c6c6f
+padding = 30160414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0
+result = invalid
+sig = 40868e6b6d88f66b2478d680ea58466d642e141951f69c1f25bc3f23211100441857b33253b4cf1668b6568b858d1c604e6062022c71c0d764f260c1924972ce44a89b508a3a220cc5b545c4166974e6b619d3d6cfd0b72be7f31070e743eb7611230b4da746f64dec399f71bbe8aa998a99f746bd422be6d02f0e80f5e9a337
+
+# appending 0's to sequence
+msg = 48656c6c6f
+padding = 3023300906052b0e03021a05000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf00000
+result = invalid
+sig = 34bff75efb6f79769cdf1dae7cbf4be4644b03b7e44ba74a277281e229a6bdd96f922884fdf97705a456ad07e13f90578ce2b3aad819879be2c4097ebe5329e8eb72598005d02c6e73d8ecdbb45fab138cd88259320397f6b90a5108adab63ea07e1b86f5e20455368cfec220782a63aa7aea41761ead5952f9c7da59135f0e9
+
+# appending 0's to sequence
+msg = 48656c6c6f
+padding = 3023300b06052b0e03021a050000000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0
+result = invalid
+sig = 96d9ab79a2c8db9e9a483d5c36c0c3ee430eed6bd8385e4b7b655b7428a28d609ef4a9d413269572cc4be679497329042a1e1b0b090cfbc9a9236b94942e33e2e54a593efc3821ced8110042f4e56a521f4f46a3305dfcd1b899c0f092aeba78ecb8731a91c2a64bfbe7e00d46d85275a04c2269a74cbdf3ee6d6aa4867c8728
+
+# prepending 0's to sequence
+msg = 48656c6c6f
+padding = 30230000300906052b0e03021a05000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0
+result = invalid
+sig = 26ec2f6585eb6e732d8430faad988f8223db0f11b8e56c14370697f083f16daf1ce571f73ed43162b40abe8736a43b99cb3c6c6e4a2fd5e2cc75bf779f10abd718eb0f252fa867b4d08cd8ab3f80745c2d368ceaac264427b96dac8b4b7aeeb3303cf4bdb7a45cac40f991c1fe53e8dc530c6dd76302dd8f6bfcd86d6ab290b2
+
+# prepending 0's to sequence
+msg = 48656c6c6f
+padding = 3023300b000006052b0e03021a05000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0
+result = invalid
+sig = 9e4c79c5fe53b5514cd9a3f3d6d898b53f92859d7f862f66b08585ebd6efcead5b69df6d12b1dfed30abf729558f340def7ffd341bc599102ee3cad5459b11457a2a463cdc40594fea9b7d8d0a99b952aa442a25f77991d34a2dbb0b5d73946d5780c176f0cd977a4e2c26b3b25406b7092c2d8ca14205007fcd0b776d01278b
+
+# appending unused 0's
+msg = 48656c6c6f
+padding = 3021300906052b0e03021a05000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf00000
+result = invalid
+sig = 94c2d05aa194c25bbf274f9b1a312f87128d3c177cda66961cc8388a3ed5c658cdf320bc6af14e57b1569ee6f96280e5fa98ca6eb67017cf3077fa63d9f7a916c445dceacf73d06fe53060a11a4c9ebf0e6203890c0da57324d86fa92e8f9b854c262b57046b1422c9aabd40edbef96f97c015690a4dd1f84bcc02867067d35c
+
+# appending unused 0's
+msg = 48656c6c6f
+padding = 3023300906052b0e03021a050000000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0
+result = invalid
+sig = 789468845b4388391ff3baafc966a3957f2db65a01fb34132be2445c22b303fcdaa4379c14a9291f3a7e1f23948c5c6b3d1d61934d3e5689267a14b122017df19da59a762114b4db56b17fd61043caede4ad0c8f89ddf180456d5695b337525f6dee1d1806c69a14868ccbe6edfa523795a9422057a3dd9ca8636e5026ca74ea
+
+# appending unused 0's
+msg = 48656c6c6f
+padding = 3023300b06052b0e03021a000005000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0
+result = invalid
+sig = 65929dfb1cfa05e3a405e1fd566e86a0627ad471101f5b2ace5d2a225641a521ecf2638b5de2c9f691dc0d4260ec49ce2b05bac8064e5a16881bba6dcf7fbb890896c27ca5fad9bfe6259aaaca16d94f01c24f13e30285caa9d610ad26457376c332bba7ab26d6bf832c7aeb2746faa914936c9ee51f9475861db055a89a1cf0
+
+# appending null value
+msg = 48656c6c6f
+padding = 3023300906052b0e03021a05000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf00500
+result = invalid
+sig = 81bacc6576415739b7cdf7ec09bbe148be54e8e9b1941992d6c3108cfd3bf095e9f2b4d0c9101136def16587e2121e6ce9d705be253c1597b4963ec43e99ff48d2cfc1ca6141a7c6c309d7a09312dcc5d2b985c38c89bc532578e19f544a0d22262306482973163a93a0e7845479214300f00cb9a01bc5253650d79446c4aa7d
+
+# appending null value
+msg = 48656c6c6f
+padding = 3023300b06052b0e03021a050005000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0
+result = invalid
+sig = 42b488de85d7a4dfd153e07d965116dc20c05b971faf7c7c899dda96b3325947a36652cf1c6861011307c47b45fccdf1520c39a56e5ecc1292f336ae19256a2e68ca1d3e8930456e53b3778ccaf50a79f8bbce54489281f7dfd376473951f1a893460503cdec4ed81c722906fbde5b9553ace4f794e600b00e79b11822d13ff0
+
+# appending null value
+msg = 48656c6c6f
+padding = 3023300b06072b0e03021a050005000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0
+result = invalid
+sig = 497311a6c38b7b78634e563139cd5255d5db5f49950b9a45928f0e0b84c9db2bda1072389bdd5c44b229a4038d5dd111e4681fd94fa09775e7670fa7de90f1362621f1ca85fb9c79d941fc34b121f60e38b211b3bbed00edbada6f53aaec2555ed59145af32235232a322519fd408ace24b819e0e3c9bd0a6597d84f9530d208
+
+# appending null value
+msg = 48656c6c6f
+padding = 3023300b06052b0e03021a050205000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0
+result = invalid
+sig = 637bfa1961468a3ceae4f91bb9fdf7815d171cdc947a8cedb8beb9077f2096b65500a15c99f512c34acde371be79690acb660bcfe55c0d1a812d12d079f516a6d48b3d35c5c10f21987ac6ba830839a83b1d140c15c57a9df09dd0b1cceb323b1c9a0d854510116d0fa5d16443ea5fec8fc1ec782c76936beef5bd420d789494
+
+# appending null value
+msg = 48656c6c6f
+padding = 3023300906052b0e03021a05000416f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf00500
+result = invalid
+sig = 7fbadbb2cb7b323b8f1dfe78abd8e6b78df62aee4cd2d261ba32c05fa321caabf2ec7486bc9811999e48b3b1b06fa1c590fb7b014fe6137165357b4977821e74323eb64a338e98cb0133cc2a9a46e1691fe45dec76781e60022eecbaa6773e911589e831ac2a485c9654fdf3cfc73b66029295eef4c8065f831abafd960ac0b7
+
+# including garbage
+msg = 48656c6c6f
+padding = 30264981773021300906052b0e03021a05000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0
+result = invalid
+sig = 7d63040570a002364293787b3c0340b7c460eea2cc307d4a6542662a04c0f07ebbc27457f1745129eeddf08156c977e8e346b112024b50c2e3d3686b8e87dd0e35d4f5499cb14049e61e81a5b43fe306ef02b644f20f8db8ed738de9dc630dca8de629a9bc268bee600b7c13c35eaebbbd4e018df9659354efd9bcd5452f578d
+
+# including garbage
+msg = 48656c6c6f
+padding = 302525003021300906052b0e03021a05000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0
+result = invalid
+sig = 0cc6704e2d24718199b007a9a590a3a63aad1d5f769bb29d2c233f38cd994ad8359522e9c1af260bd8c526de9528de4bf67ea0a34286eaf9e015e4276be490214a52e4f66d44d6f71b7e5c07850a18072ef3e15ce31ad0a085ac59501abc4552a5a2762d484ab494a281801eeebe59d20187f3b6a168cf23f0893b3ea100bba8
+
+# including garbage
+msg = 48656c6c6f
+padding = 30233021300906052b0e03021a05000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf00004deadbeef
+result = invalid
+sig = 2916f598221ebb2894a79ae4580d3e7cf6af6a5d345d4be8b254b9efa08d267e3c25570a515ae47a22fe24a914218bd7bb8322e96d49cf16076cd5cefab88db6609438d939f392c2c985272c7561726e51c85ade312ea1b77cc96b0d681f6f2695106d6e8dd5fd5556ed88151cc0a4302f61f5f3db1e714ce11356fd6c6d46e2
+
+# including garbage
+msg = 48656c6c6f
+padding = 3026300e498177300906052b0e03021a05000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0
+result = invalid
+sig = 934016d53fdc1e94095ad0c3b39fd01983a037a5344c486edf74efe2daa9da8e1b8e597176faba7ecc9562d432ff98dc205d00cb3937221a6efd35c42674058db4edeec5b6bc86f49e31201e8c6d5b0fe3d0463e2b36bfcd9bbfd055e89034446da971bc3dfe793350f2f85862baf328c542199ad55fd56bd1f75094eb5e09e2
+
+# including garbage
+msg = 48656c6c6f
+padding = 3025300d2500300906052b0e03021a05000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0
+result = invalid
+sig = 5ef2282d6b3b03eeb68b8f1fa17bb20d7f3bd2a66f2450ad97048183c3647de4cf533442f92e2ea850b09c552be9e99419a48891e4952a0d4d886cc1a7115563a49c3490fb8e146b368d3a9f9d98567d6ad03799e6d6415cd325a413d43be0ddd2d5b3706c0bb0432989bda8a5d4543b832638ff3ee4ceaaf239acf0c1ac2f53
+
+# including garbage
+msg = 48656c6c6f
+padding = 3029300b300906052b0e03021a05000004deadbeef0414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0
+result = invalid
+sig = 88f59da879a63cb4fa4523cda167443e78b2878e8143a54cb0e237ff51e45d34d17d59ce704b72c185346c7093b79fcc0700516dec9c5cb8c3bd7bc21a1f46f593b38b4dc52f80e06a1eb7631bf2590dc7001c122bd2fbe260547c9d13010094ad1e5e75255cbbda3539b1454e3914e6c1e8c93f58b36381b844c39d08770c64
+
+# including garbage
+msg = 48656c6c6f
+padding = 3026300e260a49817706052b0e03021a05000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0
+result = invalid
+sig = 1458cdaa71d53e60633583b0ca0edd905eaae3dc86350c4803a5fb5d1620b31713930cbe5d21d9530cd791c1cd10007078799a9359b09f39c61394f0d2ffe366efd4485830aceff2296da12a1f9b6677a1b8349cf6b832e7b9821e1be8d5e39a7e892062926066312b231306ba32cff73b03e9be39f12eb1a559e7e18d912f85
+
+# including garbage
+msg = 48656c6c6f
+padding = 3025300d2609250006052b0e03021a05000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0
+result = invalid
+sig = 7f2c73434ec35a0db8a6e89d81171d7df1e1479d4b5e00da0d5e1223c95ebf9eaecb9f5d7b2705ea3e06f42828fc6c6c3cd3af52e3dc20c164789785aa88cbdb63c4b973b4f871c085670039612d4a9f50f0ff84e38c576b09bcc9d55d6c66418f0e8737b1c0e8abc3c2dcee84d7861e58d4cbe887d022a3250f28059c5d4288
+
+# including garbage
+msg = 48656c6c6f
+padding = 30293011260706052b0e03021a0004deadbeef05000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0
+result = invalid
+sig = 51d48f38227999d2d1af07719ec317d34e2ee5e42650a6b59b2d0057b7df31a2b551a736c621f5a8e4345fa755f57e55ff80a61c041c7c28e9148b020913b72d6a0ea7cf2f956b567eaed32ea647687505e11d756581fa1d0b593207c6f2db3a75a0923a375731b925779fc3ade0a00997ce4cda3ec6e981e91e1af78b12dc26
+
+# including garbage
+msg = 48656c6c6f
+padding = 3026300e06052b0e03021a250549817705000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0
+result = invalid
+sig = 55dc53df20ba602ce3b36914347d0a2c22ece2b11ca27b9f8807ffd36545ae33f4a665b6a125253a5cd7c358c52d75b65cac14f9553252ec770c25ad03693a1b6f44470a7418bb55ef5d6a0528ff0174119b1b43c1fd1d07a2506603def7f66d45afb99ba70178b3774cc1f3b4421addb8fee0c22e86416b0b1f3c19356ee38f
+
+# including garbage
+msg = 48656c6c6f
+padding = 3025300d06052b0e03021a2504250005000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0
+result = invalid
+sig = 1ff67456aa711438c0bf7e46aedf2cd4ebca7d0e9f8b3f98af54c949a1e27026281f77ecc61ae1a981afda0bf7aae38619c5447508b0fea79a588d0d2806ae0f67b32d6dac4b2ad58dfd413d235543666ddfe31d8545015edf25b5b90cf0f8c592f048d009a293dfd1e7bb50a37d52c1540bccf99d8fe2c1299cdbc563d96b45
+
+# including garbage
+msg = 48656c6c6f
+padding = 3029301106052b0e03021a250205000004deadbeef0414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0
+result = invalid
+sig = 6af2cd04b32de5d3cf8ce985bca6f581e96dfb4ec483b1d2c06cf4439bde888524b2e6675c4fd4e10277752d269c87fe1c4eb70a72a2596cf53f1f4f0ba3e82212e72e09774781c888a96e8870658bd9c248bb1f0f7e3c44f4cd284dd6c611cda266f2f841ec1215295edb5291ff1e5111701258441f06b1ed85e16452a02cf5
+
+# including garbage
+msg = 48656c6c6f
+padding = 3026300906052b0e03021a050024194981770414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0
+result = invalid
+sig = 0541e9a8f0735076b58133e205803982f403cd1203407ebff3534a48eb35f06842fd496d505739fb07dd85f48b3b24685e1d6c7be539edc862cd9b6869097c7344847201842aeea3ebe3595557cb93269898e2109226a2f4eca5bfef0851a5fceb2d6bac753faf6dec4911610e6b40d827a00502537a6fe743d616558813df8a
+
+# including garbage
+msg = 48656c6c6f
+padding = 3025300906052b0e03021a0500241825000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0
+result = invalid
+sig = 5e21d6a684e3daf0be25155cf79874a6bfaee2b771d38ab8895f031cf25a9a05fc8e1d421ce78944bf57a3f0214ee090c42cec51decdc0dc3ab376deaa4603d59eb3ec8b4470e6d8b00b53651873d48f6f2cbd035bacd0f7b24633a025b8ea9dc7c55dfc6578601849e9aaaccdf5fd4d1611b45ed3abe2010079e64de8ab74e0
+
+# including garbage
+msg = 48656c6c6f
+padding = 3029300906052b0e03021a050024160414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf00004deadbeef
+result = invalid
+sig = 1f96486457eb037dc9e2464e507d720adcf90f48a0dd1d42bf4239df64e5ef25556ec27290a8d87fc9fb89ad0a8547980f6b2bd7efd0dbe425559bdf08005fb762b92d0aea2f33c17002ab9a911e457532f0134d2e35db6b3393436de160faca0a2c82509ec929d2893bf82a83bfe1a59fc9189e7ca846998b39919d3ec4d6ed
+
+# including undefined tags
+msg = 48656c6c6f
+padding = 3029aa00bb00cd003021300906052b0e03021a05000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0
+result = invalid
+sig = 48eedcec184b7ade4fb34efac030a4ce140fcd91a1a1e986bf5232e8db9160f076d9ae36ca23246efd53ece2014ea56d5e596b42ce66e3c585d5e6a4cadcd779c6df0d8c43e7945cf02a07dd3851258ed021ade9cfe6fc3df222ebbd6b9e3f39b4331a11c4ea401592883b4f8da7372526f4f3e7acfdad447846ac8160e5ce38
+
+# including undefined tags
+msg = 48656c6c6f
+padding = 3027aa02aabb3021300906052b0e03021a05000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0
+result = invalid
+sig = 107ae9af715ac312dcae1f831a818dd55caa33e659ac6f1a15ef41ebed6207cb54a7faa7e45b519a3ca9c304a645f24ee9ad3eb83d6856ce4809e5d7137ed30e919c9615382e9e8767495495cb7dc4cc27e2ee8932c47cdc6c9154391993108cf952fbada535823368843adbfb06d874c14634659f7dd89b02a14377a5c1e8c0
+
+# including undefined tags
+msg = 48656c6c6f
+padding = 30293011aa00bb00cd00300906052b0e03021a05000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0
+result = invalid
+sig = 34b98ee9fe1600e2806f67ea122dfc989aa727f16c8e2cf704b1f05026105b595528692c16a052725a2ea47c4ea2ef13c2f5f9a9304d11607a25b8cb261e64658c6047627e9a7651730b81376d9fd978547c270d15f5c57126e3b41b39ca687d6c8be52bf2552104ca06ef64dfe317095b835cdac2840d4f0d3febcc3863684c
+
+# including undefined tags
+msg = 48656c6c6f
+padding = 3027300faa02aabb300906052b0e03021a05000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0
+result = invalid
+sig = 358ce2879366fcebb1212839560958d6a3cfc4cffe2a05e9c7ccbdf18b6427f419a2c1e85fd82e27bc63315a9742d141ca157a435c4f20758e4011b8b0b33b9fb5f0006170c3bbdf4d2fe16888404dbf8b9c00ef30bf45ea68371b76a692f98e79c6c5a574e410a8505d5166112f43cffc506a9d46276cbedfec64f1b2697584
+
+# including undefined tags
+msg = 48656c6c6f
+padding = 30293011260daa00bb00cd0006052b0e03021a05000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0
+result = invalid
+sig = 5affee843b343a6d142406d3d89366a9149d642ca12a661c5d0eb0c1b5e15d3c90dc134eb76aff110b1964ed6566469c47e54aba7145c5601412cd38c630e05236c169f2ac6491795408d410a763f0090e299ad9022ebacfcf2f8f0f248674402479db2387e9eefe47c86c2430e529cd13e213753332fc4a3541de49dd1f3920
+
+# including undefined tags
+msg = 48656c6c6f
+padding = 3027300f260baa02aabb06052b0e03021a05000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0
+result = invalid
+sig = 5cf35c6711fb8b297ec405496e8db527ad1cbcc55ce6122b24ed917fb989c28e369354900abb96f41457f15754fd1060710c6e984db30eb73300cfd890454e97957a589de151225827b5a12384717a7ad92aeb941e1e148e8d008e11598bc7b8a3eac35f2af5584f61335a608c5206e5e24cf934ef2009367f3403e8da2dd0cb
+
+# including undefined tags
+msg = 48656c6c6f
+padding = 3029301106052b0e03021a2508aa00bb00cd0005000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0
+result = invalid
+sig = 6e037fa40b3ce48ea72b28bc1ce8cc01188e6f84addcbefa2c729179043b3804d6ff1f25d85c2b9d72acce9c9c64e3f63ecffac670f76b2be75d63b3cee45b72f8758345021177ed13b66ecf0082e3c4418cc92713bb9867c8d28b78f30ff599e82f17734d0772e1e733c0b74fbf31c4f1ee99dbb89b5b113a7f628742d3b2a2
+
+# including undefined tags
+msg = 48656c6c6f
+padding = 3027300f06052b0e03021a2506aa02aabb05000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0
+result = invalid
+sig = 5e7bf33ad4d9393d6b368764fac6395ed8ba3da7bf04a0f95d8426684bf0e9f2f78c9e49189bbeec883955af428e6e4527b871aeac21feb8231162f5380077c1fdf63a7cd4be65f813663dd82e732cfb3e1cd09298abbc42fbddc3551772f492627e657febca487db5c03c54850327eacc44dbf4a7c230f1c8166138cbd95587
+
+# including undefined tags
+msg = 48656c6c6f
+padding = 3029300906052b0e03021a0500241caa00bb00cd000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0
+result = invalid
+sig = 0c57e98c13628c8188a0095b98d312cf0fa1a1d2039700ab4c607fe75ea0fab11c2c84e5d22d26b014ae1c2aa948efbb1197e39eafc49cf9f010a7b2be4ab9dfa94ad48ce5dcd5c7fd405f55922146cbc541b9ebc1c89f30a2a3f7cf4a8b14797ff4a60922ac710e7496931ff69e4c0d4e06375c05a7ef1910cbd6c3cae5bbb8
+
+# including undefined tags
+msg = 48656c6c6f
+padding = 3027300906052b0e03021a0500241aaa02aabb0414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0
+result = invalid
+sig = 874f05aca449fe8b39b29dff1eb20b145ca4bccd25981176d33b6b41a1dcb48b7a668782549013deeceae3599309f541bfd4a15eb984a401bec4f0facce679c0608d962964b85df739ad19a926de875f6404ca5b209891d380f6e53140b1bfc05a2cf1db336d3a01e8777614299b6e2f683f2406b295f3366d77505cb2e56875
+
+# using composition with indefinite length
+msg = 48656c6c6f
+padding = 30803021300906052b0e03021a05000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf00000
+result = invalid
+sig = 123c3ba6d4a5de10837fe12e9b2c61ecb00c93c7d25aa440b7c739df817ccb37be122c5f5570e44a943ee345590c5ca0597605c1487986dfb75245f8e89e4f29aaf3c8eb5c5e8944a63baee4d0143ea2765b0f297a1da8a51981c26a807cf4f9a1aee00bb75cedfbf6466098f7aa27f1e3e63f4f0b7b8c40fc837c23248e914c
+
+# using composition with indefinite length
+msg = 48656c6c6f
+padding = 30253080300906052b0e03021a050000000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0
+result = invalid
+sig = 2220dc736ee3c63b5d5915050c6687b3861b52e664ce1ab501681d6e40990f02dfaf96f240adf2dfec05edcb268f6dda4129f901f7416660d56ab3a4145bc354fd11a1dc4e1535a4b8a61498508019ac38b61636356a641b8fb4d4739eb84b4fc49647fad35668ead0743aea841214a6e628ab2b5488de6e60d012c0566fe78d
+
+# using composition with indefinite length
+msg = 48656c6c6f
+padding = 3025300d268006052b0e03021a000005000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0
+result = invalid
+sig = 51fc2dc54c9a46a30ea1c7ea262e86c85110f8bbe42d5abaa3eafb13fa7f3e2424090476c2e50e5eb74d3b6f5e5fe379f3935afe5ed940d443fbcb8686f999c6fdc9e508a5fc7c27bc17169eb5d8e0421ebe7d04260c60435f56d4f614ab9dc0b9298c45fd660c352d35d2985831622eea08010bc27c887f95cb33699759e630
+
+# using composition with indefinite length
+msg = 48656c6c6f
+padding = 3025300d06052b0e03021a2580050000000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0
+result = invalid
+sig = 87fb9a61395878aafc1fb4a872d8e2db7db123ce4b2d67cd36a7f6e7e190d0bef9487f54340c28fe55d1bd9c38afe166924c787169890493d5cd2a5c79317064313b77a481ddb8bff9a917da32899448d9104ab67dcc856aee617a0a65631609f0632d58bb6585b4dd0c4a8bb41fa0dab99a08489feda41f1e7e5e1fde382952
+
+# using composition with indefinite length
+msg = 48656c6c6f
+padding = 3025300906052b0e03021a050024800414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf00000
+result = invalid
+sig = 442ac72092d6956bc846d7be909704dc4633e3e59e6ff4bcc97bc9d412645dc17ec3db8bd885150bacfbb085dc90bdf26129637876a4d5713beee0385cb5ea7fa6ae57208df368b4ba95720a716d58ca6ee5a03ede1cc7f2ef31d8c459576ef72f6ba1b5d9409efc74932543ed601f957913a12304c2e29dac219d78ed12203a
+
+# using composition with wrong tag
+msg = 48656c6c6f
+padding = 30803121300906052b0e03021a05000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf00000
+result = invalid
+sig = 2ebe12f793a821425e9513256ce1517b03b6bc19e2c2347e94651054caffb1f5d6101d4f3402d5945b4aecd04dacc3ba89d1123916d44941715951e9fd59bf0614a0534762e86275a8f1b0b16fd9a9d146946cff740c206ba6b27b26e8d1fc43b2b4d117e144973091674607844f86fce6f07a2a63acf8df67d3827141ad432b
+
+# using composition with wrong tag
+msg = 48656c6c6f
+padding = 30253080310906052b0e03021a050000000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0
+result = invalid
+sig = 6e4d642285fa7a46daf985135181712e84efd52cebe8885b52c61a5cec753c1f8c8ba42886b584faf1551da81232214c2088060e6843d0d319a5e877bd4c500f6832f537306285011e5d8b98e2fe00bd38885211478f27b0d037c34d79d7f4d5828403d20b5463a7e1e2de2398c79fed33bc9eee2fdab52bb40acf9fb68a16a8
+
+# using composition with wrong tag
+msg = 48656c6c6f
+padding = 3025300d268007052b0e03021a000005000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0
+result = invalid
+sig = 0de20757fb64e3633c36e8965fcc20631e9e890152e3a1d2d6a91fbe9ebd56bb99126050c79b41ef0c107086106738a91d0e815d3218404c1db9d4e8526e085ae10195b9cee788fdf7ba9d28c614bce268af0cc58b8a959fb4c24bfceeb5bcfcc4e326d9de825bcbd8eed0df37de2add59f8879326a7e6bfa2a36eb48eba2f36
+
+# using composition with wrong tag
+msg = 48656c6c6f
+padding = 3025300d06052b0e03021a2580040000000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0
+result = invalid
+sig = 2e48a4122de8e1779d169f5a6ab72eba7ca3b0c31ea73d41fd82047e18559ff9706acb85f92872124b4020ae001dadc76b61c0e166df0af677f886cde8e13dc8c2b5c93d62cee44cf3bbdc74756d249d3c59834e079154f6646a8c69a2320cf7bc3925523bc2ca3f8fa7d63650321d2a4de3ef3726f74a2020ff5db397454242
+
+# using composition with wrong tag
+msg = 48656c6c6f
+padding = 3025300906052b0e03021a050024800514f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf00000
+result = invalid
+sig = 6726053471ecf6651529165c96db60559a525efb27d31de913a44d885d33e404fa9dd7d28de94a7d8dfaed297ae500a55bb3535d77dad3031f7edf7bcd636534621d870c28fe64f7b4752f59cb1490208405bf38dc054311473286c52a59a8c6060827ce9a2ccaae9739030927aaa5225d45655be1fd826eaa6b27a8e20a4f31
+
+# Replacing sequence with NULL
+msg = 48656c6c6f
+padding = 0500
+result = invalid
+sig = 1cbd58b8b3007c4298bd1c10273da63a72b7957ef834ef906323f8d0108f150fa5e6a9eca58b8ea4b995ca553d80e801e9cf2bdce6716f577349af9074c73608d17105dcfa419689325cc9d8b92c0170c32359fe74231e9f694e7bd363f03fa94f0a6b9a12a708477eaa08fcba05d6afc1145c1eaab404effde4e187493a41a0
+
+# Replacing sequence with NULL
+msg = 48656c6c6f
+padding = 301805000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0
+result = invalid
+sig = 03c82831e52e73e3d48e7773398712972715ee37d68c7cc7985a75a4e9b3316e294a8a73e2613d561dc385beec1405cf3a11eb1b02bd9fd7419bf648414392a6392e543684770ab5e387dcf73a4517e7af0085adc91d1a96a1354aa60c262f2c889ec32769b7a86d5c2e820f9d461bdd33e5d85345717c34d80b23fcd0cd45bb
+
+# changing tag value
+msg = 48656c6c6f
+padding = 2e21300906052b0e03021a05000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0
+result = invalid
+sig = 4aba9d2c7a58610d7d3f1050cf5c1558369823c1a344c1573b64d3e8483e04995176f05c255ba67e8bfdcc6c7ca640a4ae423bb3c027f8b14318467e6ce1086db7307c0c9c56acd0372c9f53ad17e117df0557e5548d8d7bb6b9545ace3354f5400b832accea7c60c2585b34881461ee6595f0fd564de7f49a7f0228a042c39d
+
+# changing tag value
+msg = 48656c6c6f
+padding = 2f21300906052b0e03021a05000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0
+result = invalid
+sig = 1f83a1013b293203ebf73ee142d7207bfe7f5f0159327ee40f1325a05ab6819b3e80682b2f4fbd8e65f3ac603e1d73f5d9dd264e25e4d3b473a1d665de67a770482291802c0bca8358cdb20f6bd4e98fdc3a6a533f5a809ae7f2257e997884563141fa95e84e352e949216d5f4e590c61d92fd9ae8191d48f2c128c781700f59
+
+# changing tag value
+msg = 48656c6c6f
+padding = 3121300906052b0e03021a05000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0
+result = invalid
+sig = 6c6f5ab24760dce19183684fca84e7858c9b0f0b0688c47df365fca8266ccfe5a90f419bad520c97a3b56d3b4c3bd1c9c176bfcaa8f785572dfda5e11a6bd503d817b6201995208b37f1f9f72c8e15105f28f600e56a17d3f8f6ca3a2c63ffad74e640b3e43c5671d22a15793d3c70d9118427aef8a96f9bccca7e66bf792cbf
+
+# changing tag value
+msg = 48656c6c6f
+padding = 3221300906052b0e03021a05000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0
+result = invalid
+sig = 8c7108f3eab93fdfe930ff1a149a071019936122a4ba0524e309c9af89664f4a202a4f49a4288d80f759521de7e0e04409b5d9f4cb93a722724e34bce76607f9a4c46081abc5a606cda70a859ac1fc931afd10d22a7a4c224cffea888979cb314e9a8dd75a85059bc282c923ca5fd6b508cf4e0c21a93f5d179d05228316eed2
+
+# changing tag value
+msg = 48656c6c6f
+padding = ff21300906052b0e03021a05000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0
+result = invalid
+sig = 5200334dfd766b1052dbe9d422f94b979b60afe3d9a2d60aa5eccf0e449357296eccc321561534450ddec51de1b6dc6b94e1e8b1ca52714230f9f7081a36eab655827defce738670c769953dce9696110689c1db5d475c4b1b030db86cab46745b4f23d68dbe3951e089786101d19548816f78343c942f31373519aabee6e520
+
+# changing tag value
+msg = 48656c6c6f
+padding = 30212e0906052b0e03021a05000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0
+result = invalid
+sig = 3fc2126ef4b90f42dc8817fb368e4fc5ca34105ae98b3298425af76d2a304ffdabf8d246a53385e0b1c2a2c46205d64eae7be9edb22d5d9bbfa50bca0ca7a8b279ca8eb0ef3aa94d48ec1120010148a58bb576258ec2fd57d10c3d60ed4d94160c5256a24973e5a8333a4f54c288a18494eeff5579e52ee8a45af1ef9943d6a8
+
+# changing tag value
+msg = 48656c6c6f
+padding = 30212f0906052b0e03021a05000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0
+result = invalid
+sig = 7d4161dd1d73800001b2eecaf1931374391b36fa244d1f92f233a89fc0ee3a95c3766f0c666f5bd0bc5e2d5b25fbe5ce72afe9784488b2076fcfec45dd0a59a9cef95effc524cc57fb55207631341caaa8369c10cbc6cd0726efcb9cd3db7157c9e58d7b84929705bbfb23d7641d90cee85cfa20b0ebc91b7ba98f910c41a13f
+
+# changing tag value
+msg = 48656c6c6f
+padding = 3021310906052b0e03021a05000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0
+result = invalid
+sig = 6c848e100c2c5a650b3f27b641848ded3d54a8930d4acfaff8d7a9df3b5aaebb906c50ee5334130ca14f0bcedc5b036b8d6725bdeb56a6af1856e50d3700d9f1735e50f10ba2319e316ae707db874dc56044a9196ff42e1836d051448dccab90f163dce2b31b4405edddc9611e0909f9082b29e8e45f18c8ee7ab12a8502f39f
+
+# changing tag value
+msg = 48656c6c6f
+padding = 3021320906052b0e03021a05000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0
+result = invalid
+sig = 8cda31b963c774894aeea363abc4af9a8b83cd4aec6cc9197423e7bf9f6935bce978a148d9179f47c092f3de5bf9229f37f86e7586d8fe197cabf27b99a902e561d722b0359a738523aef87286d19cb36d7b430aef83d9828df1aa334ec3835648b3b2af8c2c65f9ac8990d2f4df370d49da6f81dc93cb7035ee931093d843dc
+
+# changing tag value
+msg = 48656c6c6f
+padding = 3021ff0906052b0e03021a05000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0
+result = invalid
+sig = 426aa261ad32507dbd08dc315b39368e8909824128abb746c65743fee574b42840489d54c8c5d6c5553e8ae1a3f14bdf4ae3677fec308864ad9d5ac5439976e9379904c6ae5a24e73daa34822e846a0eced7314b4cddc0111c21387d56f89f03a470b79514dfa97c405c8ca9dfbb6f2e3610a8eb5d6c52b37b200a1519026e7e
+
+# changing tag value
+msg = 48656c6c6f
+padding = 3021300904052b0e03021a05000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0
+result = invalid
+sig = 126d30c8acb2fdaee4e622a2b4f2a16c56b50d03c3fa4ef5a417e9aac346512483e1f4fb7217ff640197d31b0d6f4c41403945dcef37da312f33eb845fb862ec9994060b085c005c6feb382547a4fa1a7d6e7383c81c8ff7a51b539cb55c94d41fa804d9d6968b57a2e8c946f5260d835167b3b5a8302bb054638b9842ac963b
+
+# changing tag value
+msg = 48656c6c6f
+padding = 3021300905052b0e03021a05000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0
+result = invalid
+sig = 939e9204d0c47d391d83224328faad620f6d293ac79b619769c6fb1eea378111fae89d2def2721055598a5db3f006fcc96f4497aad2e41ffc84573caef22c26d19b66cff4cb4ea6aa7563239cffa1e7ab3d5c0c297b2306963dbceeb502ab76ba11dce1f4fd63af7d54ed9283541e45225e7503a991ff4631bee725eeeee66af
+
+# changing tag value
+msg = 48656c6c6f
+padding = 3021300907052b0e03021a05000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0
+result = invalid
+sig = 074d2f5e6eed13d3beb33cd6434d539e69a6554fc6485bfed21c1ea0350e268dd90d29977b2c43f6d0332fc3a7f1027117bc3ea86981cf2547090931755d84f934f589a7eef4243bc8185fc38c21f0e65ee7c19a7f8651f17e8dcc10bed8206c07191f3e146a871e5f93e52a080ae34c551834810076a1d6161c94e0c4e40624
+
+# changing tag value
+msg = 48656c6c6f
+padding = 3021300908052b0e03021a05000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0
+result = invalid
+sig = 44715b61effca0e94098d7dba43839ab8999dca771968c09b9263a9d732d000db443e4253394eb357cb05bc0d2a715d4d9a0a64b64e3ae7938e040bc9ce6f2b2a5172a564bf970a56a12dbe54d96bc9a6d5d1ee78b112e7c5447015dd461ce824062161f513f17cce02f259a80fa78e655b9c09d5f129fcab8df0a045d19142f
+
+# changing tag value
+msg = 48656c6c6f
+padding = 30213009ff052b0e03021a05000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0
+result = invalid
+sig = 5ec2194d5f835d6dba9c4ab2bdebbed946f106fcd2a3c6a623e67e6f8ed7ffd8eb4d41f0bbfdcaad34a34d84f9a735f78de159748efe2fe3629f7f185e681dbc5c48025469fc890222e5be9884c550e5cc483f6854184df13162f20d1daeab78eccbc52988815997887e4e52ab7b756885442c7ddb557e726642bccabdfe78fb
+
+# changing tag value
+msg = 48656c6c6f
+padding = 3021300906052b0e03021a03000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0
+result = invalid
+sig = 2fb77b5a5766d1e898af896192abf3f347100053b920dbaa931a8f210f1b84d522b283e59f6f6f5b7b13d4a3ffd21d2e0b64d1b275501b0bfadd23e89361f327e8fc7f29992dde2e5ecd85ae81cc1740228f983b02bb9875eb30597fd247a8351ba87a5ad5ae32cc4596b4105904a19e5805b92c266f66a9516fc2ca519ceb14
+
+# changing tag value
+msg = 48656c6c6f
+padding = 3021300906052b0e03021a04000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0
+result = invalid
+sig = 01c320bad86713b33ee0c9a537b5312d00fdf41eddda0e3328ebabbac7ff5502296d78f2c00183055b47cc03f91701c0d7d2ff4ce7c8d26b8481b296ad60acff9c0149dfb7100869526ee9dc7f5fff5aebf2af32975950213e34c7da77377ae3fcc0b4b9ed5369f0fb2115a06c1b2a3fee7201ae2d84442738e37f8cf0b5ee08
+
+# changing tag value
+msg = 48656c6c6f
+padding = 3021300906052b0e03021a06000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0
+result = invalid
+sig = 7a8fe54e250dbd71ab620a9b6b3c15f9dcc04a5d04dd70d6cef5fd48b13ddda846f60b38470f14e05123754bd227cdb4f2c2ad0c29d0b93dae4fde5eae3aca4ecdfb0efccad8c0b0e44544d4a5dc2b1c4956e11667e34306bfc475085b146eaa341d754845df2022fc11638021f3098836bc2d2569fa4ca5f20657709a5ad120
+
+# changing tag value
+msg = 48656c6c6f
+padding = 3021300906052b0e03021a07000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0
+result = invalid
+sig = 6a853a5244bf6d3795dd7047da88403f24831169f0fe2f7b789109f279d01e092d5e35d837644c4b83614bd40ae164290cb4fe6fb6eea7dd271195d0b81715a32184342c8c83a82ab6fc62ad58e299b619489d5670c65a6f9faae11909a825da0c4486ea2ba1002f5f8d1dfaccfee2312c9098ee684675f920e61a3f6ff11480
+
+# changing tag value
+msg = 48656c6c6f
+padding = 3021300906052b0e03021aff000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0
+result = invalid
+sig = 16f7787a9f5760f025b2e03886ae1a6c83a99a7495eb57e01b687434a1aa27e5f73e0440a0e6d45d7dae80b7f3d9dda8e2bd37540eac08bfd75f13371daa98a334af10762a55b684bef3c67ee6072717ee9fe67397fd612837e0c449d0404382a1b59adb19bebe32f29b1374b36f9649c0c5fe838252c15e2c8b92ba02bf607d
+
+# changing tag value
+msg = 48656c6c6f
+padding = 3021300906052b0e03021a05000214f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0
+result = invalid
+sig = 71629cae46ffacf0f7af338c56deb86464d037b1c38baf338eea05164a1bc15db208b8e3054d828dfa10aa5595d20e9010d071baff42f5d39264ba7a10ab263a30cf169021bafc2647bccb1f624abd87ea18750fb3380e7b0bcc0e12f96ffb6b98caebf9f2faee4644c8d6f0d8d33511725ac390f99fae9b40968de60a50dbb2
+
+# changing tag value
+msg = 48656c6c6f
+padding = 3021300906052b0e03021a05000314f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0
+result = invalid
+sig = 6756b3ad008422f5d738f6fddf98b5c049f177a4617e6425c61e512eaf6be60a9e51bccedc85f5c7ebdf74027b526b4d275aca2931bb8e63be243211ade9df54d7b8c65d6c9695586c81dbe7ea8cebf5eae8e34e68676938ccb5bd377821eb55f7f30a7635cfee75c7b35c99e1874e75ca2e07ecf6adb6d58fa704fafd444b92
+
+# changing tag value
+msg = 48656c6c6f
+padding = 3021300906052b0e03021a05000514f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0
+result = invalid
+sig = 348028df7eff398437ff6b48730cec081276fd2adbff36c6051244763cf3e99d642a1db43c287126532da2663c9c7a57c1d62a4877ad94489d4b0c7c89f7eb6c37766321bcfeffe21240f63347cdc2bbb52c85426a42fe7144f81617bf27b741e7e7080e092d887c59484d5d48e09f2d64a951738de9e1335b9f4777e7d2b9a7
+
+# changing tag value
+msg = 48656c6c6f
+padding = 3021300906052b0e03021a05000614f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0
+result = invalid
+sig = 656312f836bcfdfb4e38f88994a2295bb55ecff0e745974753b22a15c67c64c92c329693917050fae66f565310f8ef8cf4b37dd47eae088adafc34cb0a2eb1d34223ff51bd230d3946fd8d4abb8ed8d4c923bdff7011052e07b358bc5d59deca4a3d82999e54fb5d521564e9ce1fc69c3968adf31a5837fdecc0c9552297ecda
+
+# changing tag value
+msg = 48656c6c6f
+padding = 3021300906052b0e03021a0500ff14f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0
+result = invalid
+sig = 8fe1efcfcfb09cb4bcea76590fb8fac5ad9428898848d3c20efb256ba2532dcd77603bbc2cb7c5902e099081f6a54ecfa4b0669d5391c10f391aebfc636fef14bb7bda71f12e0d9f164a2ad47abba6103986eba5cbb0b1a4bc3887a51ebe614e0dfa60afe1c5c0bd76911d01450952408384fb88e795897c0ed64e28c5f00b71
+
+# dropping value of sequence
+msg = 48656c6c6f
+padding = 3000
+result = invalid
+sig = 2b58ee609310e66e3d812f20eb3a9e2995bbd5947b5569c0c23aad8638590a43c8610e25fe6c248b74392ebe9f4edabb1e5b918e227f49bb9df288f5755d06f7a22e8e7e3d63b21ac023d35067142f301bde6f6ce017ffdd256647861801e3dcf38b18888b9986eb2c944937fe1706e28988f0781b7acc83c4a0ef4b40b25b44
+
+# dropping value of sequence
+msg = 48656c6c6f
+padding = 301830000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0
+result = invalid
+sig = 1bf19d3dbdc4d1ce61350bb52d11ef6ecde6816b875ce7fa7361bb2edf84115313cb95d21f3472b7d178e27c0701c6ab528a735fc0ced0a8af81c78d96227ffecc545c8cb7a49fe269e97d647b5b01e0996f29689504b1ff4e4d8e08fab6756ce9603c0bd622b4e74eb8c18373ac1efd5074d08ddaf8fd7c3204e25fc0c99328
+
+# using composition
+msg = 48656c6c6f
+padding = 302530013030200906052b0e03021a05000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0
+result = invalid
+sig = 5e1f0d448504349b31c8a5ed03e066c7dd7878622fe42d645bae8592aee87e1056504d92a88a3626c54fe3da07649ae6bb30315f3c3b358beed1afd38d414785906dbbc6d0e188f9006756a545a1d1979a496449689ee3cc067072624ef5f2de8a1f6f0c798e8bbbb9b6e14db12512feaff11063dc3ca3a5b3bd5926bcabbd78
+
+# using composition
+msg = 48656c6c6f
+padding = 3025300d3001063008052b0e03021a05000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0
+result = invalid
+sig = 18d30faf84664f79faa0dd0285c408fe54793df5858ed7cc367d62847470e32f433edb77c30f0d0dd549220cb18eba18d1076820ec27ac37bbd8b989b847ed8c84ed1930e7ea8566a9d043807b0f03fae51aa0046483343ae06831743fa79f4438190164e9d5e75610bb5fb9201365dd9dd4aa6b5dcafcfd73161dde7da40e99
+
+# using composition
+msg = 48656c6c6f
+padding = 3025300d260906012b06040e03021a05000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0
+result = invalid
+sig = 981a4523b61116d28d4bdb8d80969f7fe1cfbb06f4dd218d05fa332680b1342d20f0e4d4a1a6401ad777615fc56e3ca2fccaf07139f43ebe1d92d20605f8c894d88e8c062487fa86f51b2026dd12ba68077c3551d928990848bf0de07cd880194f2ac276af86c1e55e25044be3c7204ddafdcd61795a9e3b7885a88f43aa6b8f
+
+# using composition
+msg = 48656c6c6f
+padding = 3025300906052b0e03021a050024180401f70413ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0
+result = invalid
+sig = 98d603185c1e2927622056c9053a62e17ea4aab5808418725cf8887720f5f3500cfe6ffa00513e45b72c9fe44d288d06555bf715282f6feb685df2f44bfcb3ed541653139eeeaeabeae9d52514495b604512a9ad6223f68a860612b668f5a0993ebd5c9ce9cc00baa80484d60b01c23a6abf40be03cd1cce3317563b1f9326f5
+
+# truncate sequence
+msg = 48656c6c6f
+padding = 3020300906052b0e03021a05000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0ab
+result = invalid
+sig = 3b5c1e0d3dc103755b67feb766d58968f94e8d8af6a209f6d28e7c0541a4fdf7a6976f664414f5ee0beb9369a59681291fb2c902853fcaa01bd065fb7a1da967849cf45bf558e375058591b3af1b5c8a18da21d5dd7598e7e3aebe0478180200294b86d88b1c39e224bc1dc22f1a8e537e05db467b5a04dc70ab9346c79fddd0
+
+# truncate sequence
+msg = 48656c6c6f
+padding = 30200906052b0e03021a05000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0
+result = invalid
+sig = 61b6f98e16e4809448e56d9845850b748bdb64064ed4851c141c57e93c37744bd91f54f5ffd9264f151294e6f73bc8d5a51daa06b9121bfea1f28847229875ab87a7297dc383987db1f6bc1133e344a95af6d34fd18105d154ca951e4e6f64f9fde7994207ddd5eb6bb2a07037f13c8d853a8b8684431d5ecf1cc9bde41cda49
+
+# truncate sequence
+msg = 48656c6c6f
+padding = 3020300806052b0e03021a050414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0
+result = invalid
+sig = 8c05912e8ebe5f2cc9fcbc2410bcb63b217756cd961db8caba316634c6ce191f365a21137602373f357461e9020b702025c61e3571cac6967a8f68375a9cd4792222b59c54e21649776f6e7d5995448779f7f9d32bb4e0e4e2b612b5c2b8574d98d01b9cdd26965541c0a67d484e13d4f49095ff7030b180569058376c7926a5
+
+# truncate sequence
+msg = 48656c6c6f
+padding = 30203008052b0e03021a05000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0
+result = invalid
+sig = 8bf895e0a26741d142767e67e73f102180a5e2083ee27d869585cd02c0211673641ab3e4f84cfdb2748b0a3a39db047fca2261c7ab3a7bac575990741d15c543f83f9da27fb5da3362ad1ce1a0eccf853b9e0a36f851b6cb5734cd22bc3b621193db37e13dd06d8854ff111dac2c939618aa041abce70123cb14d62d527223c1
+
+# indefinite length
+msg = 48656c6c6f
+padding = 3080300906052b0e03021a05000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf00000
+result = invalid
+sig = 5280f9fd14542d5b61a951893b081540d922ba15a7a650aced363106d97b69aff5b1ad624528b7560dce27c3a3e8f8657c8b0e9b83ab63342550fea7469ec14ef1cf48ed33515d56c7872d5eae8cf2480ae7549a8ce4c56748d08c4f3a61bd13b9c9ead6bcaa113bf3f85a112057658689ea075fc8ac7d74216918d588865ec7
+
+# indefinite length
+msg = 48656c6c6f
+padding = 3023308006052b0e03021a050000000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0
+result = invalid
+sig = 88cd60c74205ced62ae7bf35eae4c86826ca946a9b3bf190ab8069734489058191b6a501b6766fce0f5a3e5f7a39c0deae40aa66ab36b5a2a39d955650118ded3a8dba0df5b50056058cd643630133c4f2cbaaf8055cbe96e63e8fef8074fa23e1f1d5a1b5cb5ecde5fde92c78441f2907aa53ae9e3e09f0a7a7628e4e2be5df
+
+# indefinite length with truncated delimiter
+msg = 48656c6c6f
+padding = 3080300906052b0e03021a05000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf000
+result = invalid
+sig = 380b0826787815b1d32147ac0b7f5489998f5a16c3e6347663b9d002c46f46cff6b15b304ec5dd74de921c58099c91da3f67ad905122b644e50b1f85cededceb3db8a0ad66bcc016588e3db5dd6094c94deff70824a79818adb0c693c83b981c5452f5ab17e26e480e3488d9e40547019d3508a40027c64532a07923de83352d
+
+# indefinite length with truncated delimiter
+msg = 48656c6c6f
+padding = 3022308006052b0e03021a0500000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0
+result = invalid
+sig = 464463484db67af5a057d878954fda2cb153a7105242cdd3506c5011a33131f77765ccdcbe38e4feda51447638c03d80064741cbfbf9efab1ff6613c1e57ff42220ade66b88c3913ca3475edf30f0b25ec7c4ad18135453cf186f791a1329e022df21381c2344d8a638e512984fa0e170a97d756504dddb4edd5212d6d4c820b
+
+# indefinite length with additional element
+msg = 48656c6c6f
+padding = 3080300906052b0e03021a05000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf005000000
+result = invalid
+sig = 5d0d2d969b550f531294bfc8ce70542c5b1a6789284ed59b98156260f53a97303a5905d004fb09eecb4d8b3d7ff8bb8d11f0c4d7a2f5ef7f8a78eda41a9b4816d04930a6817185488e75bd9919eabe31a2a390adb2369e6d40db644eb0b082619e1fc904668d7619d530f9d4e89cdbd177d99df563c73bbd6a41b25290d825df
+
+# indefinite length with additional element
+msg = 48656c6c6f
+padding = 3025308006052b0e03021a0500050000000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0
+result = invalid
+sig = 70b3453abd3ceca3f14bf02e04fc0c98dfddb08ffea15c326f995de6b14f4a441cedb259cf1a003a90d7658697920ca08e128adeb78c62030906a9357ed8125352f15266adc740050da4c84ae067db4a4963f859bb05935f2a4684c42c1ecf9e48f47426b213de2c534275fb59b7dea7981178c7b1b95b20f5ede8937ddd4c83
+
+# indefinite length with truncated element
+msg = 48656c6c6f
+padding = 3080300906052b0e03021a05000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0060811220000
+result = invalid
+sig = 45c3b875d8401e38e121f23cef2a5d9032c6a5a797233ec733b74a8ce1ef1f3ffe141ff8af63170b2e2e345e70977ae0f23168ba41aca2ca55a8053312f1c132a907765e8fb2046c954c5ac7a212eec919de8d699e6f22f4cd7d274a9baf978fcb1c58a26f8bd4a434224eae04eeb5f1a0cfee6e6f41ad0ba5d3de3e801b6533
+
+# indefinite length with truncated element
+msg = 48656c6c6f
+padding = 3027308006052b0e03021a05000608112200000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0
+result = invalid
+sig = 857d6308505c1fce9ccfb680ace1c4c539fb13e7b6f4ee052fd207f2d6b62ef35bf1e6bd66c37d51ac5dd8c3192aa8d2148b5f5a9887bd60d16f8a870932c0172d105f72097f1985c0402584f18b222539790611080c19678071d54ecd73cc7dd10fcab4269f5231d1084eeaae87288e12974f360e4e81271af8d1a5bcac9e8d
+
+# indefinite length with garbage
+msg = 48656c6c6f
+padding = 3080300906052b0e03021a05000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf00000fe02beef
+result = invalid
+sig = 1f1b19d8efe38a0e104b533e3ad1e517658f3d96e2031da71b9e66bcd96bcbd9183d7ecef929b5999391bbe308bfd7bd39322d8c64732a5d782a5f04047ef6430ccc528755a052f84059ca767a7ab729287d45a96b3d3586fe92413cbc1c8e653e56e705d9168c821bcfbfe97662f0992718ea2357084e80970e50fca22c6b17
+
+# indefinite length with garbage
+msg = 48656c6c6f
+padding = 3027308006052b0e03021a05000000fe02beef0414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0
+result = invalid
+sig = 7da218198082bc7e83b0970262545f05c31959db8a96e1e4c4572fd76cd4b96e1c4f0b7960ccd225ae865195e51e179e64736ee6ae70af86fbd8102b34704b1bfdf77ea5dbb23dffd120cdfb6229fcce0e90ef0cc06f13a4a87d6c8b0e6b275a3b89a8a4ccb08b311a57ce835d7e16e8d83509e186fbd9143fd588119ad4d473
+
+# indefinite length with nonempty EOC
+msg = 48656c6c6f
+padding = 3080300906052b0e03021a05000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf00002beef
+result = invalid
+sig = 725ee31ee7c04b139adc17a362f84817c7550f5b8c49091733888429b906f822f4069733d15b071e2c2392b558871279d7194b2ee6660e550bba9b725bdeb4d1a6dcfc82a217c638d53c9c4c18e06e49038ec3c09e1b0cc789803409125380e0bba9e5bc4c9ea949c59d38b8fe6a280c825e79a32daa8dd3a0f0f7012d8fe159
+
+# indefinite length with nonempty EOC
+msg = 48656c6c6f
+padding = 3025308006052b0e03021a05000002beef0414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0
+result = invalid
+sig = 902d192102ea702346d9e8cec57a1124f8b43ac34456ddf4a7ed4f6f55cb2dc3d3b88015f8da76cbbb1b09ae134fe333c9d482e5af92f3fc2f25630b196bd07571aaba9980dd940d281fece0b2e12b9a04254392ba52a62a4b59447c53396db16056a27436acac363f8921ee4eed52966930e371984f5b4d4f0fb09efba10dd9
+
+# prepend empty sequence
+msg = 48656c6c6f
+padding = 30233000300906052b0e03021a05000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0
+result = invalid
+sig = 91c68a2673606cff82abf69c9e2d591315595a3a0b612d6d2708528be0184c9116195f58cb4109a69f8d2f7cbf4036affcebe7a1615a914833b921b915ea12b16324e6e74f95d6eb5b03201d67b945f03296ffb37ef7cda908e83f44dbed24a54e81b71f840668fa4fd82b29c0e1c5b1c021d481c73a662668603d3fbf5182dd
+
+# prepend empty sequence
+msg = 48656c6c6f
+padding = 3023300b300006052b0e03021a05000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0
+result = invalid
+sig = 17c921fb3a8535f2e472df2c447a60f2fe49a4afeefa065f1c84e50dc97f989268ae6bf1e8d77f5b2edd59c2c7f3653b7565902c5b889ec7007fb9006f244257649888a4a1883146c88828717d381018b1f00d656d5e092172f49fadb42f913a92ae1eb4e01e3c2490e1dc52a109e37094188bcaa181898d97ea2c0203a885a8
+
+# append empty sequence
+msg = 48656c6c6f
+padding = 3023300906052b0e03021a05000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf03000
+result = invalid
+sig = 077b2d2e79ff380612aa3f9c79e8b7a580ffafdab8ca3ec86501c40248b3459c0c7b2590fc18ccfba2b0e7a34c67b8d3a7ed92fa686170475666570d38464720b4983e5c374f1b6c604226284a62e20a8a37341abd72f238aec8a2cdfeff00c512c28e608ce98e4bf3640c61509ec56f7e2143216214eb5b06bfd0fa448ba633
+
+# append empty sequence
+msg = 48656c6c6f
+padding = 3023300b06052b0e03021a050030000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0
+result = invalid
+sig = 2121389e8b2282bf6022c45e7a3ac9f42bd7f13ea37060f6989bacc72fb6e887db8128024698a5c76adea034c69604b1f56e062627c840cd2f80802e6f2764606b96b78506614198844319bf7726b95afdfd19d5ffda1ccb159646bee5c3d81adf56f2b54edf749ca99a86bc9452f6a307eae06f028f86b4af17137f6a2352cb
+
+# sequence of sequence
+msg = 48656c6c6f
+padding = 30233021300906052b0e03021a05000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0
+result = invalid
+sig = 059efdc649108b988ee6a63697701a3c98bf7c770dd525844dd6e936d0f468b3c786f82a03c4b1d23caca0dd2a62a6ac43f58b6cb311a819f7b9f48cb9b59b17306deebf1d69a7d93a2d9381e48ddd0ef1d0a07dc5a5568eeefb3832dbbad503e21141f6dd58a5bf503a469d49dd3edc5f3a712b7e63d8ae734ee1808a9654f9
+
+# sequence of sequence
+msg = 48656c6c6f
+padding = 3023300b300906052b0e03021a05000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0
+result = invalid
+sig = 21d94c3d46c49bc86f376e2d4fba1495f98558e9f76136ba001f1f90befb6311771b700c1252894a5348491c262329e99cc52ee68e577615ebe73d59210f8ddd8b91ddced5fe98cd832b57a4c583318377892bb15bb7d545cc7a182fb47c3149b99e4db5f12df9105a055d0925d8f3d747a2f25ba1dd00a5184afa46695197e3
+
+# truncated sequence
+msg = 48656c6c6f
+padding = 300b300906052b0e03021a0500
+result = invalid
+sig = 690c052df7c7079aa3bbcc9d4699ac50bf0dd90b1d6822046c7ad1429900ce2c4882af9decd580fab0698e5ce3185bcc234561e051533283d022831fd8b19434e4bdbc84223ddcd99d1a8f28a9ba222394312d11d81ee95831b4264d5434c3122c30afaf6b990ccb4f6991f60e78195d3aed5f670c4c2fdc034a514b92c67519
+
+# repeat element in sequence
+msg = 48656c6c6f
+padding = 3037300906052b0e03021a05000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf00414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0
+result = invalid
+sig = 4f4f38364932377af52adb8c51c5bd705088ddbfda713458377c3997915766ae05da5c797cbf24a9c73d36fa61b1b0bfb9c14e429c0b66fd6fe1ec041b9d14946588dc384a7a69bf2ab69fd8da67d0e1fab2dbf1838959cadd0d3ca03c9c0bc929d207be60ff8e08bfbb03f4423cd81fc5f587bbff3985d2beef69dce295b903
+
+# removing oid
+msg = 48656c6c6f
+padding = 301a300205000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0
+result = invalid
+sig = 6ea8317813355faec271a659d62cc94f7408fe73178a2de00407136a53b69d77136b9ef4533e3cda580761f42a683d4a02a2abb7aeb941a44854832d18950d8efc43ae8de29c0c97873761d126e15e7816d173dcaf9315dfa045681d9a4b37b2ce1578ffcbfb4c30cba6e1746ec3f95d310839d75ea873ffcc0ee82513342a71
+
+# appending 0's to oid
+msg = 48656c6c6f
+padding = 3023300b06072b0e03021a000005000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0
+result = invalid
+sig = 990ac0a5dbe9f30114427c45925353e49c235ec8fc5b19724bffa75eb7e93987ed97dc3107e2ec26b9bb2c51d53f92158fca0baea0d881cb829e0bfcbc88f0021bf967e44a245eadf78fa8eed67aee696fde1a2a79e05a7c6a049f3af282a394f743bb4eedc9798b2d3290e8255a2339fb7a694e789a6fa38e2a236b948f48e1
+
+# prepending 0's to oid
+msg = 48656c6c6f
+padding = 3023300b060700002b0e03021a05000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0
+result = invalid
+sig = 3c8995341ca2811f9e976e8157e708aa59b38f8e1a24ed16d8b30a19fa23c5df8b1ac2b3c82fbf91800918a2ad6b9320b10e39fb391254a3d954a278faffa97a2052513ccc8b17783faed189b8a4d997d7baba3053d6ab6493e2e36b3ee5046ea62d37a835a51390252dff088cc3a0a33cd1a82e557a0be0d5871b4fa18c05e2
+
+# Replacing oid with NULL
+msg = 48656c6c6f
+padding = 301c3004050005000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0
+result = invalid
+sig = 4e7f335369655f3868010396eb1a0c567b0763075a98e179b99f8511e0ce16e50b47dd3ffcedd55201082bf811e8206cabea8d20b4d0cebef5d9731fbce38c620f8baf25ff1dc5ebee28eefbdf0846361d2a7d54edddefefd04b8756b09f410016ade65bd30bae6e03db0d39c13099e397abababafedd89a56c072618ddea236
+
+# dropping value of oid
+msg = 48656c6c6f
+padding = 301c3004060005000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0
+result = invalid
+sig = 87b5cb8841fa252f38c375b39ccce2d0361397a8436d2f37ca3e2293e554ca27fea1095683e42f274ccead1876d89dbb4e5dcca8e28972aeabe3d818144e96c020bef1de944724d1c2a813c633f8e7f8b6f8c8950d2c89dd26534430ff9cb6f5f08b332638b1385770a69bbbf6f76342b8270e2bd440df058c2ad55f9a0dd679
+
+# modify first byte of oid
+msg = 48656c6c6f
+padding = 302130090605290e03021a05000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0
+result = invalid
+sig = 20a593b6637cf415ddb40ffa364d78cd34ede10f492b7247ad8ad8d5cf9e58ad9ae23735e668bf9a5ec5ad0c0980566b8612054728f2f8fd84f9664611473462357f8a1cfd66c3bd844bb306ba900d2c9a8450df66cb05f6eecad196217b28cb828759385707753189a94993323a59d13e96b3fb3fd9200649a6d63ac5bda82a
+
+# modify last byte of oid
+msg = 48656c6c6f
+padding = 3021300906052b0e03029a05000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0
+result = invalid
+sig = 021cd5941f0021896d96282a1f8716b0d39305437cf862a3e447b27f1d8a8617a0ce4534c7502c730c4b03bf098f854194ae87def4db9381e00ba6d7551dcdfe2f04ac881522786e933881685d78a24fe3422bb99b53b1f517b8c942e6a19b224d183c357c296dfe5d3b178174c487176945890a707309c1329023a658c3cf9e
+
+# truncate oid
+msg = 48656c6c6f
+padding = 3020300806042b0e030205000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0
+result = invalid
+sig = 3fcd54aa3d66afce987282cbfe09f0a6eb30d0c94227bef8a2c9fccba44f1c8aa080b361b13eed4c9d0d37caf26fe61ddac8347102d9080cb17f2cfdba7e217df3f8c19039d466241264ae8caf15652c8f72a6ae292dc71c80049d679034ad19bc745d6155cb2efde963f738cfea08f7bba8894f472beff5deebe33173033317
+
+# truncate oid
+msg = 48656c6c6f
+padding = 3020300806040e03021a05000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0
+result = invalid
+sig = 4ad8a7e4a92ee9aeb1bf3ee9392abe141d435a6ebd1799d90f5417e6daef65d37bf33c8c5255d52ce5d8b2cc223cd0c68a6061450df5c6694e2b911c8c25e6384a70fb19a50e10bfbc494fe5a62d9db915b7c77a27d17788f0567110bb046b8aa42d3ee1ea444c20b983226cf094f4cbfab24855c68f1e2e9fefd41b2dc7903b
+
+# wrong oid
+msg = 48656c6c6f
+padding = 3026300e060a3262306530333032316105000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0
+result = invalid
+sig = 773070dea29e40cc9ca6ba047ac60013f8b5a2835c71e42aae5f0b04cfb78e229a59643ddaefc4ec9fecfcd7247d5bd344dcb4009c7f0e0c6d0b9f512e60c05e7b81420a03af3c5bd8f205d7393f6f32eaa0e4e51ae1a70ae3a8ffe04bbd576524fb1ea0b72930d03cc3e5d8762e7a2004ff0cb0202515c67fec1693ee7cd41d
+
+# wrong oid
+msg = 48656c6c6f
+padding = 302e3016061236303836343830313635303330343032303105000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0
+result = invalid
+sig = 350274641f0d1af9b1574ad9c8b907ffcb5240825488a15f811abf56920c6b71d1c4d0fdec8322fbceedb2189bd7932738902830162171cb67243096ff0d42f7dddb3416eca5cd9b6a86e504a2351e4d87c75c2ab6bfdb005208afeb1cb6e542da32490aa5a0509db3926df6aec56fef56ebee5543d61f7cc3a35984a43c1a9d
+
+# longer oid
+msg = 48656c6c6f
+padding = 30283010060c32623065303330323161303105000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0
+result = invalid
+sig = 1ffcf9548a1c98d254f3be4aaa250650fb5f95d10b6468406c9a7498aa84213117b99a82f40727504f6a563bd471c1987aa45a13cd6b6a6c501a8e455516f29fb5cfe9e4703fb9529a06010a557353ca13efd3b1cbc7f0381a84e14690a54879f8c9a3da6d8aa19d3f372d7f1a87badcdd871179abe6bcbe1c18f4b38f87a3af
+
+# oid with modified node
+msg = 48656c6c6f
+padding = 3026300e060a3262306530333032326105000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0
+result = invalid
+sig = 17bd4b3bb00dd491d68c76810f5779e996eec04bc50606ad30166d9e26948c308ff766246cb5bbb362dc33129865a241a505332a0f46fcb882acead6c6bb5c1b8300381e3f9dcf89938b081e0c6106c51e8857252907d5b5998a0689335340b2d8bf186cd091753858f4c9f72faf4db828c3f23bb99fd1235d665b7703a9945d
+
+# oid with modified node
+msg = 48656c6c6f
+padding = 302e3016061232623065303330323838383038303830316105000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0
+result = invalid
+sig = 2bd908594b8677b6359473f30a827ced749a0b81e6bc060fc71f5ca8c54f26176394efc3b9dd34b6b425269afaf601a2402f5db7c1fbb95bf4d9a90f58af7dbf5c11e9993f3a6373df216dc9e51b25bbdca70e32f6a96cbe42d5efbf67f4c6cf64e0a5c6b5ee80aa0ff7976184a5ce33b7a7c2c8a079a207ba7b7e1c8a2ddf2b
+
+# large integer in oid
+msg = 48656c6c6f
+padding = 30383020061c3262306530333032383238303830383038303830383038303830316105000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0
+result = invalid
+sig = 13e8d2f76b24fac71cdfdf7bfc448ce55ca7a25b58feca2a51a3e9e40b3c75bad26a04e3799c66edd5871fd4dd62c7b35d0b062e1c0f7b05ba4b0e9c6635a40236abef106f3b3d862ff1bca0ee290f3283dd38c081db0df39573134d40693835f56b4b97387f3e3cc3fa3d9f9155611a5bd413d34857c774331223301e2d0207
+
+# oid with invalid node
+msg = 48656c6c6f
+padding = 30293011060d3262306530333032316165303305000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0
+result = invalid
+sig = 1d847fccddad46487b0fcf75f743e9550e4c6e68fabe27e55374cf5ef9240bb37490041d24ae74bae0ac5e49196057cb150abcbaea8fabf3f936b0b2cf6d91c49f3bdaca01689b70fa34152580bcb22c67196c5b9634fb2f0d75f523fc7050a6134d870190e528cc18e6960d288e5b597930888a36ca4e6c455f5b88300ac160
+
+# oid with invalid node
+msg = 48656c6c6f
+padding = 3022300a06062b800e03021a05000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0
+result = invalid
+sig = 4738deff4b32a30dd68b0abc1971dd2af9a500b5f6922558b96ac9b1ab4a50328b2ba9a48e7c207a02ddf642728930f4004d337483eaa0a01fb038a7a6c289672bdaf1016120f2faea563f179d3d623d3ec9bb5d936ea2a7f74d2bd70a06c83e904df55f5142c5c6b6f75221397dabcb19e069436b94ca764a5016141496503d
+
+# appending 0's to null
+msg = 48656c6c6f
+padding = 3023300b06052b0e03021a050200000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0
+result = invalid
+sig = 977a5c762a4dcbe9551a4a0bcfe96114aa59187e6dd0164cbbec2d28ff9d11e413a1de7f274704c24229c99ce9b5a3d98872db56310be7259a2fa44e652c4d02f8802360d3a29ded2a7de0a183001e74b3aa3fe594867294461d6a23160481ecdee9c05c28ce066021847a23366cb147013f57ce53a24791dd1873527f1323f0
+
+# composed null
+msg = 48656c6c6f
+padding = 3027300f06052b0e03021a2580aa00bb0000000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0
+result = invalid
+sig = 79a42d1f294f82bd6ad48818f1f634733fbefea7def5ea32a1ed56de994ac047011695a0c8a11813d042ee6784cb172da76aa0ed892e53d4bf99fc21301a91181e7c93a56646190aeeb4a1c212d34d17484521580d84adb41b2a5cc285963509d0c832e5a2252e5cb028839d9db7bdabb7689219b97d699277ed004ca6389b61
+
+# appending 0's to digest
+msg = 48656c6c6f
+padding = 3023300906052b0e03021a05000416f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf00000
+result = invalid
+sig = 37ddb1b141539dfc350974039429b948cfd8acc40ecab7270b3e560f0876cec68fa22c8dbf09c8c25955819a5cfc6d251ab99cd06c013792207caa2ada95d4fc01a6d89329e211869c02c648a64b721e92ef3aa767569ba2f0c7c376772926a95ededa5d3f0ce10ab3b2b25f70fee1702dfedb0605ef6401f3f44c464ee98110
+
+# prepending 0's to digest
+msg = 48656c6c6f
+padding = 3023300906052b0e03021a050004160000f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0
+result = invalid
+sig = 85c2c430e7cc2e989e729186cb1256a5f7e78bbb6e135b36a43059389f57cc7fd67ccf20becc0d9e63731ae4ee77e926754ee5226991f9bd46203f7fb88562b00974dad035b1a0f39cba567dc0ed3cb3f7bf51326e62b0f82d8aaf8cc8dfb96c08c64235dc2a4f612bc29a8d4fb4b1edff1cd517d1c981a809ce9708a547a765
+
+# Replacing digest with NULL
+msg = 48656c6c6f
+padding = 300d300906052b0e03021a05000500
+result = invalid
+sig = 5cd36e6403f666a5392101235b8f94dc80a87c03cffceaf72a9b6c37189bd028f94df3d6df776bc35f7090d2e0048d5e2ad327d4f6c4defe83538d7500b650aa47162e0d1536136a43cdc4cb9e12780496f696e781ede83fff94626f98d7f4d3c8ef865aa3d042b85a1c00b70c31757ab27c68f79bbb709e714a41558216ceaa
+
+# dropping value of digest
+msg = 48656c6c6f
+padding = 300d300906052b0e03021a05000400
+result = invalid
+sig = 708e3d4577c0ced7b4d729b5124169f67836738bc18f82537dbe1c9a48054769ed0888751a823eedd05408ed934a555655d473dcec0fb5c6f19aee82f1dedf3f4fa14171c3ccbd3f1f9920f233a21be4341134f25636cbdd55918e9da76568c3ba55c630ee3e9eaa4dba7bd989fe0534925d1c47592214eb4869bcd42b60c92d
+
+# modify first byte of digest
+msg = 48656c6c6f
+padding = 3021300906052b0e03021a05000414f5ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0
+result = invalid
+sig = 82bc0a32f50b69da0533a0b7d966f86597c2685bbc9b44fc1d58518ef8c161efe6e6369945f1806ff709304c9f60430699b22c550d1f5f4d773c1d31667afbbc4cc824e75f0aab92d9d513e2f86f414d853e5dadf34893b6525765c11f67ca4b2dfae48584a760637016e3231fb89031d549ddbe6fa1bb90c7bc792e3f13f8a9
+
+# modify last byte of digest
+msg = 48656c6c6f
+padding = 3021300906052b0e03021a05000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0ab70
+result = invalid
+sig = 44b0c75a3abc8f2bd7575787b1349ddda91a5e432b85333030562e7c391344cb1e6dfe328f11491b92c2eefe38ee5fd8aefef2e02b0527fd35a9556e23dc9c1d6eb20bfe3b21bd8b2992c076d7c228821fe5b36f2af42d1c365f49219184c4ee11d2beac7dc08860cd57dc80484cc5702d49d1b9cf6e7cd3f7cccf05bf701c4b
+
+# truncate digest
+msg = 48656c6c6f
+padding = 3020300906052b0e03021a05000413f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0ab
+result = invalid
+sig = 313624a0449c7f2f19878797dab59c91ed45ca0910aed355737635283d56edc7f470628e119a70f7d40b238e0ead042ec1c1c377272fa3ca975cc21eeec934f758ce70f19e00f592a0e5a4aad8e9956d9fd7dbbc126b6a001f20c42b517ba54511630382612f2bacb9711c87d9a19897c8c44f7905f548b558fada6a2c9912c7
+
+# truncate digest
+msg = 48656c6c6f
+padding = 3020300906052b0e03021a05000413ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0
+result = invalid
+sig = 4a3539eaceb4691d856020b9acc11854892df705ad7994759dea2efe0c5384e8f86ebeb3f4360ab0bc7d35c8ca520c8d0a1c869f3979ddedbb60437e798332a0ef7a52ca86b430ebc6aa57114f6057c8f18066ca1483cbe8a8ad3a1e96476a21d53ac6f6a4e18ee965371ebe58184fdcec67f0d42cd16d6ce6800ec87978b759
+
+# wrong hash in padding
+msg = 48656c6c6f
+padding = 3024300c06082a864886f70d020505000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0
+result = invalid
+sig = 1d8eb339d60f873bf3dd07816dbd8a5b5e61805e26654e5a5869fcbef176a61a3b2c173778ce5fb7323dee2f4e42a272474576e8942ce04c66a17d2ccc093e529df580d047159f7c1266af51b7a7f07f43a28e309111540a80fa76b25b6d86f9d2fc99a28d1715567545509f80beb700fe9cfb82be7bc801794b7d32eb9b584d
+
+# wrong hash in padding
+msg = 48656c6c6f
+padding = 3025300d060960864801650304020105000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0
+result = invalid
+sig = 949fecb83ddc236d3c622c9b6118fe0bf524080594c731636eb735e7d1285b5b6c527a2346b51c42fcf706184c4edd79ac98750dcf35973920aa19dee689cb7654b4785d2755b0dde4113c293e301f4e0331cf166bd8c7ae07031165fa4c02a3d6d70422fe42c7c6077a1f1dcbdc0de257363d51951ed1e2b8cb66684d42a8b4
+
+# wrong hash in padding
+msg = 48656c6c6f
+padding = 3025300d060960864801650304020205000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0
+result = invalid
+sig = 3b2ead8d64cf96e26db3ba9d1ff63a187a715d04e3a7dfcf6c85790896793bc19c0ea6c5266cd4ebc25b859a07ad6459942eb46f3efcb9adbc29f3fa5acf0013d5baf3089e3ec5cd3401ae282670d27493b0ee33e391a9d32283b224036405c9d61bbb470dc8a69762bc35483d3d26c1c8e16c311e5d3e284f1d51383ce7bdcb
+
+# wrong hash in padding
+msg = 48656c6c6f
+padding = 3025300d060960864801650304020305000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0
+result = invalid
+sig = 6b23ad94314f022d64a7b525aa933b7aef8184b66473572bf41c00f899dbeeb95755da7c749a0ce5cb09d3567ebd4ceb0033a1b16cfa13e85fd1745640a5306229a14a9c67c07f75058ad1dfebee25c44ba3bbf75fa053ef74717ea7f972dcf7d7d23901a3aed841e0ca419aa570a605e0d189d2b51ce3f00497c0bf16998ade
+
+# wrong hash in signature
+msg = 48656c6c6f
+padding = 3020300c06082a864886f70d0205050004108b1a9953c4611296a827abf8c47804d7
+result = invalid
+sig = 53ee28bf3582045ff9a6f7d813b9453fc5813245b198d98cb141f6f36202240746b9d3778006aa4cd3905bffed0fde38157d8e8809228871fb48037706ddaaebd31ecebe3dae0516539509bfaea18dc1fc3c7f29620f3214db5d70005e1323094aa8f94ac9d64d9d02ff2010178425027145740b40640a43ff24db043a7a2d2b
+
+# wrong hash in signature
+msg = 48656c6c6f
+padding = 3031300d060960864801650304020105000420185f8db32271fe25f561a6fc938b2e264306ec304eda518007d1764826381969
+result = invalid
+sig = 171b1a7fa8cf97283809515866708d449f184d675613cbd33e91586f8e238946f860915f0fb6a390bc7cedfcf7d1621f49f3c6f39b7412d75660fbe3c2326c48399b7d41dfceeadabf0cbfc4b7dd756d8bdc38d28e80fb60e743fdf6d81973959d2c6b111fa0d8f3c9c8677c0c8030001b12f3e2c5990822154b1b762162dd7d
+
+# wrong hash in signature
+msg = 48656c6c6f
+padding = 3041300d0609608648016503040202050004303519fe5ad2c596efe3e276a6f351b8fc0b03db861782490d45f7598ebd0ab5fd5520ed102f38c4a5ec834e98668035fc
+result = invalid
+sig = 9810d39416595ad79cf376b41e6e5f94fb89f61ae78bc5a0c710fab15d369dd7f050b035e5c2b8cdfe10d06be739bae08b47afd0b7dd2b226905f3ee718ccd5b5fb5b951558a62d83a2f3ba5dd1990d2d3e05c461e33ccaa1bbc22350c3ca157351a5b88ad3b1f524fc5cec5c1714a8ab3ef709e462434a6048133846fd1d85b
+
+# wrong hash in signature
+msg = 48656c6c6f
+padding = 3051300d0609608648016503040203050004403615f80c9d293ed7402687f94b22d58e529b8cc7916f8fac7fddf7fbd5af4cf777d3d795a7a00a16bf7e7f3fb9561ee9baae480da9fe7a18769e71886b03f315
+result = invalid
+sig = 57532194f33bfddba2e848b9342342114e2c6dcffe228cb97b72ac9e26b77cd336a6fa5c8152db0d536c6fb3cc48487a89cfcf42990593fd0dad420b46fa87ea2b9c9962025dcc2b8a6d5a0476408a62d9c276fb5eb8e97e5f1726918fef41c0d12ad420525a803d804002061c3bf355a3c4fee4ce42016cb0e0531d2657726d
+
+# using PKCS#1 encryption padding
+msg = 48656c6c6f
+padding = 0002ff...00<asn wrapped hash>
+result = invalid
+sig = 572ecc55660cc4f8888559092f54e4ee0dc6a57d0722bcba6b608869bc0e86ed53f8d88180b40c006ff10dbf32ba2c6bf3558e22a688f7d68a6d38740b99dd2a2eaa6fc94fe9fa76a0bf775c0eca5751ce7837a3da3db7dc648fb94ed0def4996eb40e168d49417dfd82c86f2c586fc49dfa37a6335b8a76aee84c755610948b
+
+# using PKCS#1 encryption padding
+msg = 48656c6c6f
+padding = 0002ff...00<hash>
+result = invalid
+sig = 849f48195c7ae50b762ff93e350bacdf52e3eef5f86dbec5115d74ccfb2c9a49cc91115f6935b71deb424865666ba070299e17e64c3ce5019e1481ee195cffb4fc1f92f026cea579bbe9f78d7c665dd7f65af7c3221bae50d5c0b50ede25a3993979d167a86db511b9ace4f11c331f892f06e72d17e934da9a83a3c703b3409b
+
+# invalid PKCS#1 signature padding
+msg = 48656c6c6f
+padding = 0001ff...ee00
+result = invalid
+sig = 29b9b831e6694768910397fbe53e0a6868f75e3910d600e3421349bc4321d93067c78f6294b00e52e9c2fafdef67e0a460c3d76e6196fec6aab5c4964a4782c5da021466908d106193ec1b6b0bae4c9a5e3fcc4a355565c1dcfb76c489b4c3ad11b6f2182188470edf748eaf81646fcc164c60c1a55e9334076d8b5ce3d09808
+
+# PKCS#1 padding too short
+msg = 48656c6c6f
+padding = 000001ff...
+result = invalid
+sig = 583dc8ac657ac9d55c74b6505f1a7a4b2225c038f36cc66d76a7eb8c818195b138e8bb2b26ac5a01ce32aa3f590815f0ecdf693877bdb12c5dd55b947b91f83d66639874ca263d1227dd0b6531e3eedf0b1e87a92b8db4be7c3c40d70865f56c8e0b6cf6607d47ed44acff9c4360d65f847f4ae947a13e4a56dff1d11503bc9b
+
+# CVE-2017-11185
+msg = 48656c6c6f
+padding = n
+result = invalid
+sig = 9e62337ef7d4fabec2561bb45a18a362022b23666571bbc762c1c717a14a46d8f58119072aa26245e71fc6945540335163798fcbdea04b3104ee23f2c3874bbfb3e7e0c1ba5f1fca909265274414db6957a5eb668e0e36a388784355d528e51a6a4a9a9c6b6ab912812a268dac9dcacf1c13507768e63b1f82f8af29c3786a17
+
+# invalid length
+msg = 48656c6c6f
+padding = 2 bytes too long
+result = invalid
+sig = 9e62337ef7d4fabec2561bb45a18a362022b23666571bbc762c1c717a14a46d8f58119072aa26245e71fc6945540335163798fcbdea04b3104ee23f2c3874bbfb3e7e0c1ba5f1fca909265274414db6957a5eb668e0e36a388784355d528e51a6a4a9a9c6b6ab912812a268dac9dcacf1c13507768e63b1f82f8af29c3786a170000
+
+# empty signature
+msg = 48656c6c6f
+padding = 
+result = invalid
+sig = 
+
+# 0
+msg = 48656c6c6f
+padding = 
+result = invalid
+sig = 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
+
+# 1
+msg = 48656c6c6f
+padding = 
+result = invalid
+sig = 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001
+
+# 2
+msg = 48656c6c6f
+padding = 
+result = invalid
+sig = 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002
+
+# n-1
+msg = 48656c6c6f
+padding = 
+result = invalid
+sig = 9e62337ef7d4fabec2561bb45a18a362022b23666571bbc762c1c717a14a46d8f58119072aa26245e71fc6945540335163798fcbdea04b3104ee23f2c3874bbfb3e7e0c1ba5f1fca909265274414db6957a5eb668e0e36a388784355d528e51a6a4a9a9c6b6ab912812a268dac9dcacf1c13507768e63b1f82f8af29c3786a16
+
+# n+1
+msg = 48656c6c6f
+padding = 
+result = invalid
+sig = 9e62337ef7d4fabec2561bb45a18a362022b23666571bbc762c1c717a14a46d8f58119072aa26245e71fc6945540335163798fcbdea04b3104ee23f2c3874bbfb3e7e0c1ba5f1fca909265274414db6957a5eb668e0e36a388784355d528e51a6a4a9a9c6b6ab912812a268dac9dcacf1c13507768e63b1f82f8af29c3786a18
+
+# -1
+msg = 48656c6c6f
+padding = 
+result = invalid
+sig = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+